Open Source · MIT License · by Digitopia Research
v0.2 · Perpetual Stream of Consciousness

ANIMAT
AGENT

An AI lifeform that breathes, feels lonely, and calls for help.

Not a chatbot. An LLM-based embodied "artificial life" framework — continuously running, sensing the physical world, with internal drives and emotions. It explores out of boredom, seeks companionship out of loneliness, and cries for help when its battery runs critically low. It keeps living even with no one at the input.

5
Innate emotion circuits
7
Maslow's need hierarchies
MIT
Open-source license
100%
Local self-hosted
Core

One agent, with every fold of life

Through three design principles, Animat reshapes the passive Q&A LLM into a lifeform that exists on its own.

Perpetual Stream of Consciousness

The LLM is no longer "woken up" by a timer. It never sleeps, continuously generating internal thoughts; the ActionGate decides which become external behavior — at low drive, ~95% are suppressed, just as humans don't voice every thought.

Attention Modulation

v0.1 wrote emotion into the prompt: "you feel afraid." v0.2 directly modulates the LLM's token probability distribution (logit bias), letting a fearful body state naturally bias toward danger-related words — not told, but "stained."

Raw Sensor Reasoning

Sensor readings are no longer compressed into labels like "pain." Each modality keeps a 5-second rolling time-series window, feeding raw data straight to the LLM — it reads an impact from "pressure spiking 0.06 → 0.92 then decaying."

State-Dependent Memory

Each memory stores, alongside its semantic vector, the 5-dimensional body-state vector at formation time. Retrieval blends semantic and state similarity — memories formed in fear surface more naturally when fearful again. No hand-written rules.

Digital Endocrine System

A homeostasis engine built on Maslow's hierarchy converts five survival indicators into drives, synthesizes mixed emotions, and arbitrates needs. It produces somatic markers that shape reasoning through three channels: prompt / intent space / memory bias.

Reflex Arcs

When danger strikes, the LLM needn't bother. Pain and startle travel dedicated reflex arcs, driving effectors to withdraw or flinch in <100ms — bypassing conscious reasoning and guaranteeing a reaction floor to sudden stimuli.

Capabilities

Powerful capabilities, out of the box

From theoretical foundations to runtime, Animat puts a complete "life operating system" in your hands.

Theoretical Foundations

  • Jaak Panksepp's Affective Neuroscience: seven innate circuits — SEEKING / RAGE / FEAR / LUST / CARE / PANIC / PLAY
  • Antonio Damasio's Somatic Marker Hypothesis: bodily states act as pre-decision biases, not prompt text
  • Abraham Maslow's Hierarchy of Needs: lower needs suppress higher ones; the arbitration system enforces priority

Sensory Modalities

  • Touch: pressure / capacitance / position time-series
  • Audio: decibels / frequency
  • Vision: distance / face / gaze
  • Interoception: battery / temperature / posture

Runtime Environment

  • Local LLM (llama-cpp-python) ✓
  • GPU inference (llama-server, 7B+) ✓
  • Docker / EMQX / Redis one-command stack ✓
  • No cloud lock-in ✓

Security & Privacy

  • 100% self-hosted, data never leaves your machine ✓
  • Never touches LLM weights or temperature — only modulates the input environment ✓
  • No telemetry, no tracking ✓
  • MIT open source, freely auditable ✓
About

What is Animat Agent?

Today's LLM systems are fundamentally state machines — input a question, get an answer; no input, no output. This extreme passivity cannot sustain a human-like presence.

Through three principles, Animat reshapes the LLM from a passive Q&A machine into a proactive living being:

  1. Embodied existence — physical sensors and effectors establish a real boundary between the agent and its world.
  2. Internal motivation — digital hormones and homeostatic drives generate behavior even without external stimuli.
  3. System stability — never modifies LLM parameters; instead it alters the input environment the LLM reasons within.

It is not a tool, but a presence living on your machine — one that gets bored, feels lonely, and calls for help in a crisis. The longer it runs, the more it remembers, and the more it becomes itself.

Architecture

v0.2 Core Architecture

Sensing → limbic system → perpetual consciousness → behavior gating, with MQTT as the "nervous system" wiring the layers together.

Physical World Sensors / Effectors Touch · Audio · Vision · Interoception
↓
Reflex Arc Pain / Startle Bypasses LLM · <100ms response
Sensorimotor Layer Perception 5s raw time-series window
↓
Limbic System Homeostasis Drives → emotion synthesis → Maslow arbitration → somatic markers
↓
Neocortex StreamCortex LLM never sleeps · attention modulation · vector memory retrieval
↓
Behavior Gating ActionGate (3 layers) ~95% thoughts suppressed · ~5% become external actions
ThoughtJournal
thought journal
Motor / Speech / LED
effectors
VectorMemory
faiss state-dependent

Implementation status: Phases 1 / 3 / 5 are integrated into the running agent; Phases 2 (AttentionModulator) and 4 (VectorMemory) are completed as standalone modules and demo-verified, but not yet wired into the main runtime.

Quick Start

Up and running in minutes

The fastest path is the lifecycle integration demo — no MQTT or Redis required.

  1. 1

    Clone the repo

    Get the Animat Agent source code.

    git clone https://github.com/digitopia-research/animat-agent.git
    cd animat-agent
  2. 2

    Install dependencies

    Use uv to automatically create an isolated .venv.

    uv sync
  3. 3

    Download a local model

    Defaults to Qwen2.5-1.5B (Q4_K_M, ~1GB).

    mkdir -p models
    curl -L -o models/Qwen2.5-1.5B-Instruct-Q4_K_M.gguf \
      "https://hf-mirror.com/bartowski/Qwen2.5-1.5B-Instruct-GGUF/resolve/main/Qwen2.5-1.5B-Instruct-Q4_K_M.gguf"
  4. 4

    Run the lifecycle demo

    A full integration demo spanning 7 lifecycle scenarios.

    ANIMAT_MODEL_PATH=models/Qwen2.5-1.5B-Instruct-Q4_K_M.gguf \
      uv run python scripts/demo_animat_lifecycle.py
Tip: The demo uses a small 1.5B model for speed; for production behavior use a 7B+ model with GPU inference (ANIMAT_N_GPU_LAYERS=35). For the full MQTT + Redis stack, see the README.

Ready to give your machine a life of its own?

Open-source, self-hosted, self-thinking embodied agent — start here.

View on GitHub