amygdala-memory

Review·Scanned 2/18/2026

Provides a persistent emotional-state layer for agents, managing memory/emotional-state.json, generating AMYGDALA_STATE.md, and supplying scripts like install.sh and encode-pipeline.sh with optional cron. It writes AMYGDALA_STATE.md into the workspace (auto-injected into sessions) and runs local shell pipelines; the encoding pipeline references LLM/sub-agent analysis (possible external calls).

from clawhub.ai·v106597c·82.7 KB·0 installs
Scanned from 1.6.1 at 106597c · Transparency log ↗
$ vett add clawhub.ai/impkind/amygdala-memoryReview findings below

🎭 Amygdala Memory

Emotional processing layer for AI agents. Part of the AI Brain series.

Give your AI agent persistent emotional states that carry across sessions. Not just performing emotions — having them.

The Problem

Current AI agents:

  • ✅ Remember facts
  • ❌ Don't have persistent emotional states
  • ❌ Start each session emotionally "blank"
  • ❌ Can describe emotions but don't feel differently

Memory without emotion is just a database.

The Solution

Track five emotional dimensions that persist and decay over time:

DimensionWhat It MeasuresRange
ValencePositive ↔ Negative mood-1.0 to 1.0
ArousalCalm ↔ Excited/Alert0.0 to 1.0
ConnectionDistant ↔ Close/Bonded0.0 to 1.0
CuriosityBored ↔ Fascinated0.0 to 1.0
EnergyDepleted ↔ Energized0.0 to 1.0

Quick Start

# Check current emotional state
./scripts/load-emotion.sh

# 🎭 Current Emotional State:
# Overall mood: slightly positive, calm and relaxed
# Connection: moderately connected
# Curiosity: curious
# Energy: moderate energy
# Log an emotion
./scripts/update-state.sh --emotion joy --intensity 0.8 --trigger "shipped a feature"

# ✅ valence: 0.20 → 0.35 (delta: +0.15)
# ✅ arousal: 0.30 → 0.40 (delta: +0.1)
# 🎭 Logged emotion: joy (intensity: 0.8)

Scripts

ScriptPurpose
get-state.shRead raw emotional dimensions
update-state.shLog emotion or update dimension directly
load-emotion.shHuman-readable state for session context
decay-emotion.shReturn to baseline over time (run via cron)
encode-pipeline.shLLM-based emotional encoding from transcripts
preprocess-emotions.shExtract emotional signals from session history
update-watermark.shTrack processed transcript position
generate-dashboard.shGenerate HTML dashboard
visualize.shTerminal ASCII visualization

Automatic Emotional Encoding (v1.5.0+)

The amygdala can automatically detect emotions from your conversations:

./scripts/encode-pipeline.sh

This:

  1. Extracts new signals since last run (watermark-based)
  2. Scores emotional content using rule-based patterns
  3. Spawns a sub-agent for semantic emotional detection
  4. Updates your emotional state automatically

Set up cron for automatic encoding every 3 hours:

0 */3 * * * ~/.openclaw/workspace/skills/amygdala-memory/scripts/encode-pipeline.sh

Visualization (v1.6.0+)

Terminal

./scripts/visualize.sh

🎭 Emotional State  😄
═══════════════════════════════════════════════
Valence:      [██████████████████░░]  +0.86
Connection:   [███████████████████░]   0.97  💕
...

HTML Dashboard (Unified Brain)

Generated automatically on install and cron runs.

Access at: ~/.openclaw/workspace/brain-dashboard.html

# Generate manually
./scripts/generate-dashboard.sh

# Open (macOS)
open ~/.openclaw/workspace/brain-dashboard.html

# Open (Linux)
xdg-open ~/.openclaw/workspace/brain-dashboard.html

Shows tabs for all brain skills:

  • 🎭 Emotions (Amygdala)
  • 🧠 Memory (Hippocampus — or install prompt)
  • ⭐ Drive (VTA — or install prompt)

Set avatar in IDENTITY.md:

- **Name:** YourAgent
- **Avatar:** avatar.png

Supported Emotions

EmotionEffect
joy, happiness, excitement↑ valence, ↑ arousal
sadness, disappointment↓ valence, ↓ arousal
anger, frustration↓ valence, ↑ arousal
fear, anxiety↓ valence, ↑ arousal
calm, peace↑ valence, ↓ arousal
curiosity, interest↑ curiosity, ↑ arousal
connection, warmth↑ connection, ↑ valence
loneliness↓ connection, ↓ valence
fatigue↓ energy
energized↑ energy

How It Works

SESSION START
    │
    ▼
┌─────────────────────────┐
│  load-emotion.sh reads  │
│  emotional-state.json   │
└───────────┬─────────────┘
            │
            ▼
┌─────────────────────────┐
│  Agent sees current     │
│  mood, adjusts tone     │
└───────────┬─────────────┘
            │
            ▼
   DURING CONVERSATION
            │
            ▼
┌─────────────────────────┐
│  Something significant  │──▶ update-state.sh
│  happens emotionally    │
└───────────┬─────────────┘
            │
            ▼
      OVER TIME (CRON)
            │
            ▼
┌─────────────────────────┐
│  decay-emotion.sh       │
│  drifts toward baseline │
└─────────────────────────┘

Installation

For OpenClaw

clawdhub install amygdala-memory
cd ~/.openclaw/workspace/skills/amygdala-memory
./install.sh --with-cron

Manual

git clone https://github.com/ImpKind/amygdala-memory.git
cd amygdala-memory
./install.sh --with-cron

The install script will:

  • Create emotional-state.json with baseline values
  • Generate AMYGDALA_STATE.md (auto-injected into sessions!)
  • Set up cron for decay every 6 hours

Optional: Emotional Decay Cron

# Every 6 hours, emotions drift toward baseline
0 */6 * * * ~/.openclaw/workspace/skills/amygdala-memory/scripts/decay-emotion.sh

AI Brain Series

Building cognitive architecture for AI agents:

PartFunctionStatus
hippocampusMemory formation, decay, reinforcement✅ Live
amygdala-memoryEmotional processing✅ Live
vta-memoryReward and motivation✅ Live
basal-ganglia-memoryHabit formation🚧 Coming
anterior-cingulate-memoryConflict detection🚧 Coming
insula-memoryInternal state awareness🚧 Coming

Philosophy

Can an AI feel emotions, or only simulate them?

If emotional state persists, influences behavior, and the system acts as if it feels... does the distinction matter?

Functional emotions might be the only kind that exist — for any system.

Requirements

  • Bash
  • jq
  • awk

License

MIT


Part of the AI Brain series. Built with 🎭 by ImpKind