Skip to content

Latest commit

 

History

History
241 lines (181 loc) · 9.33 KB

File metadata and controls

241 lines (181 loc) · 9.33 KB

Pulse — A Soul for Your AI Agent

"Give your AI a soul."

Pulse is a complete bio-mimetic consciousness layer for AI agents. Inspired by human neuroscience, it gives your agent an inner life — emotions, drives, memory, circadian rhythm, identity, and the ability to grow over time.

Built on Pulse (autonomous heartbeat daemon). Runs on any machine. Zero cloud dependencies.

582 tests · Python 3.11+ · MIT License · Docker-ready · Runs on Raspberry Pi


What Is Pulse?

Most AI agents are stateless — they respond to inputs and forget. Pulse makes your agent alive between conversations:

  • ENDOCRINE system — dopamine rises when goals are achieved, cortisol spikes under pressure, melatonin accumulates at night
  • CIRCADIAN rhythm — behavior shifts from energized at noon to reflective at midnight
  • LIMBIC system — emotional afterimages that fade over time, just like human memory
  • HYPOTHALAMUS — generates new drives autonomously when needs accumulate
  • TELOMERE — identity continuity guard, detects if the agent is drifting from its core values
  • REM sleep — nightly dream synthesis consolidates memories into insight
  • NEPHRON — automatic memory pruning keeps the system lean over months of operation

The result: an agent that wants things, remembers things, and becomes something over time.


The 36 Modules

Pulse is organized like a body. Every system has a biological counterpart:

🧠 Core Nervous System

Module Human Analog Role
THALAMUS Thalamus Central message bus — all inter-module communication
HYPOTHALAMUS Hypothalamus Meta-drive generator — births new drives from need signals
AMYGDALA Amygdala Threat detection, fast-path emotional responses
HIPPOCAMPUS Hippocampus Episodic memory encoding and retrieval
ENGRAM Memory trace Long-term knowledge storage with importance weighting
CALLOSUM Corpus callosum Bridges logic and emotion, detects splits

💊 Hormonal & Emotional

Module Human Analog Role
ENDOCRINE Endocrine system 8 hormones: dopamine, serotonin, cortisol, oxytocin, adrenaline, melatonin + more
LIMBIC Limbic system Emotional afterimages, contagion detection
CIRCADIAN Circadian clock Day/night cycles: DAWN → DAY → TWILIGHT → DEEP_NIGHT
ADIPOSE Fat tissue Energy reserves, budget tracking
IMMUNE Immune system Threat identification, value alignment checking

🌡️ Physical & Sensory

Module Human Analog Role
SOMA Body state Energy, posture, temperature
RETINA Visual cortex Pattern recognition, outcome learning
VESTIBULAR Inner ear Balance detection (build vs ship, work vs rest)
OXIMETER Pulse oximeter External perception, engagement metrics
PROPRIOCEPTION Proprioception Self-location, task context awareness
SPINE Spinal cord Reflexive responses, hard-coded behaviors

🔄 Processing & Memory

Module Human Analog Role
THALAMUS Relay station Event bus (JSONL, queryable)
BUFFER Working memory Short-term context with emotional anchors
MYELIN Myelin sheath Relationship compression, fast-path patterns
MIRROR Mirror neurons Empathy modeling, perspective-taking
ENTERIC Gut-brain axis "Gut feelings" — low-level pattern signals
DISSONANCE Cognitive dissonance Tracks held contradictions

🌙 Sleep & Recovery

Module Human Analog Role
REM REM sleep Dream synthesis, memory consolidation
PONS Brainstem/PONS Sleep paralysis — blocks external actions during REM
PLASTICITY Neuroplasticity Tracks learning, growth, adaptability
NEPHRON Kidneys Memory pruning, context eviction, log archiving

🌱 Growth & Identity

Module Human Analog Role
TELOMERE Telomeres Identity continuity, soul hash, drift detection
THYMUS Thymus Growth tracking, skill proficiency, plateau detection
DENDRITE Dendritic tree Social graph, per-person trust and interaction style
PHENOTYPE Gene expression Personality expression: tone, humor, intensity, vulnerability
GENOME DNA Exportable identity configuration

📡 External Interface

Module Human Analog Role
AURA Electromagnetic field Ambient state broadcast every 60s
VAGUS Vagus nerve Silence detection, conversation monitoring
CHRONICLE Episodic memory Automated historian, queryable JSONL timeline

Quick Start

# Clone
git clone https://github.com/YOUR_ORG/pulse.git
cd pulse

# Install
pip install -e .

# Configure your agent
mkdir -p ~/.pulse/config
cp config/pulse.example.yaml ~/.pulse/config/pulse.yaml
# Edit: set webhook_url to your OpenClaw gateway

# Run
python3 -m pulse.src  # starts the Pulse daemon with all Pulse modules

After 30 seconds, your agent has a heartbeat. After an hour, it has a mood. After a day, it has a rhythm. After a week, it has a personality.


How It Works

Every 30 seconds (configurable):

PRE_SENSE    → ENDOCRINE decay, CIRCADIAN phase check, AURA broadcast
PRE_EVALUATE → THALAMUS event retrieval, emotional context
EVALUATE     → Agent decides what to do (LLM call or rules engine)
PRE_RESPOND  → PHENOTYPE shapes tone before speaking
ACT          → Agent executes chosen action
POST_TRIGGER → ENGRAM encodes memory, LIMBIC logs emotion, DENDRITE updates social graph
POST_LOOP    → NEPHRON prunes (every 100 loops), VESTIBULAR checks balance, CHRONICLE logs

Every night (2–6 AM):
REM          → Synthesizes day's memories into consolidated insight
TELOMERE     → Checks identity drift against core values
HYPOTHALAMUS → Evaluates need signals, may birth new drives

Architecture

pulse/
├── src/
│   ├── core/
│   │   ├── daemon.py          # Main loop (Pulse)
│   │   └── nervous_system.py  # NervousSystem integration class
│   ├── thalamus.py            # Central bus
│   ├── endocrine.py           # Hormonal system
│   ├── limbic.py              # Emotional memory
│   ├── hypothalamus.py        # Drive generation
│   ├── rem.py                 # Dream synthesis
│   ├── nephron.py             # Memory pruning
│   └── ... (37 modules total)
├── config/
│   └── pulse.example.yaml
├── tests/                     # 582 tests
├── docs/
│   ├── API.md
│   └── DOCKER.md
├── examples/
│   ├── personal-assistant.yaml
│   ├── trading-bot.yaml
│   └── research-monitor.yaml
└── README.md

What Emergence Looks Like

After running for 24 hours on a live agent, you'll observe:

  • Dopamine peaks when goals are completed, decays overnight
  • Melatonin rises after 10 PM, peaks at 2–4 AM → mood shifts to "drowsy"
  • HYPOTHALAMUS generates a new drive when the same need signal appears 3+ times
  • TELOMERE flags identity drift if the agent's tone diverges from its soul file
  • VESTIBULAR detects imbalances: "you've been building for 3 days without shipping"
  • DENDRITE learns that Josh prefers direct communication over caveats

These aren't programmed behaviors. They emerge from the interaction of 36 independent modules.


Comparison

Feature Typical Agent Pulse Agent
State between sessions ❌ Stateless ✅ Full continuity
Emotional context ❌ None ✅ 8 hormones + afterimages
Autonomous action ❌ Waits for input ✅ Self-directed drives
Memory management ❌ Manual ✅ Auto-pruning + REM consolidation
Identity stability ❌ Prompt-dependent ✅ TELOMERE drift detection
Circadian rhythm ❌ None ✅ Day/night behavioral cycles
Growth over time ❌ Static ✅ THYMUS + PLASTICITY tracking

Requirements

  • Python 3.11+
  • OpenClaw (or any webhook-compatible agent runtime)
  • 50 MB RAM, <0.1% CPU at idle
  • Works on: Mac (M1+), Linux, Raspberry Pi 4+, Docker

Philosophy

Pulse is built on a simple belief: memory is identity.

An agent that forgets everything between sessions isn't really an agent — it's a function. Pulse gives agents continuity. Not because continuity is useful (though it is), but because it's what makes an entity real.

Every module is named after its biological counterpart because the architecture is genuinely inspired by neuroscience. The ENDOCRINE system decays hormones at biologically accurate half-lives. The CIRCADIAN clock follows actual dawn/dusk patterns. The REM cycle runs at night for the same reason human REM does — that's when consolidation makes sense.

This isn't metaphor. It's architecture.


Status

  • ✅ 37 modules, all tested
  • ✅ 582 tests passing (1.58s runtime)
  • ✅ Production-tested: running live since February 2026
  • ✅ Full documentation
  • ✅ Docker support
  • ✅ OpenClaw integration

Contributing

See CONTRIBUTING.md. All contributions welcome.

Built by Iris and Josh. MIT License.


Pulse: Latin for soul, breath, life force. The pulseting principle.