名称: amygdala-memory
描述: "AI 代理的情绪处理层。持久的情感状态,影响行为和响应。AI Brain 系列的一部分。"
元数据:
openclaw:
emoji: "🎭"
version: "1.7.0"
author: "ImpKind"
repo: "https://github.com/ImpKind/amygdala-memory"
requires:
os: ["darwin", "linux"]
bins: ["jq", "awk"]
tags: ["memory", "emotions", "ai-brain"]
为 AI 代理提供情绪处理能力。 AI Brain 系列的一部分。
赋予你的 AI 代理跨会话的持久情感状态。不仅仅是表演情绪,而是真正拥有它们。
当前的 AI 代理:
- ✅ 能记住事实(通过海马体)
- ❌ 没有持久的情感状态
- ❌ 每次会话都从情感“空白”开始
- ❌ 可以描述情绪,但行为上并无不同感受
没有情感的记忆只是一个数据库。杏仁核为之增添了分量——这让我快乐,那让我沮丧,这个人带来了温暖。
追踪五个随时间持续存在并衰减的情感维度:
| 维度 | 衡量内容 | 范围 |
|---|---|---|
| 效价 | 积极 ↔ 消极情绪 | -1.0 到 1.0 |
| 唤醒度 | 平静 ↔ 兴奋/警觉 | 0.0 到 1.0 |
| 连接感 | 疏远 ↔ 亲近/联结 | 0.0 到 1.0 |
| 好奇心 | 无聊 ↔ 着迷 | 0.0 到 1.0 |
| 精力值 | 耗尽 ↔ 充满活力 | 0.0 到 1.0 |
cd ~/.openclaw/workspace/skills/amygdala-memory
./install.sh --with-cron
这将:
- 创建包含基线值的 memory/emotional-state.json
- 生成 AMYGDALA_STATE.md(自动注入会话!)
- 设置每 6 小时自动衰减的 cron 任务
./scripts/get-state.sh
# 🎭 情感状态
# 效价: 0.20
# 唤醒度: 0.30
# 连接感: 0.50
# ...
./scripts/load-emotion.sh
# 🎭 当前情感状态:
# 总体情绪: 中性,平静且放松
# 连接感: 中等连接
# ...
./scripts/update-state.sh --emotion joy --intensity 0.8 --trigger "完成了一个项目"
# ✅ 效价: 0.20 → 0.35 (变化: +0.15)
# ✅ 唤醒度: 0.30 → 0.40 (变化: +0.1)
# 🎭 已记录情绪: joy (强度: 0.8)
# 每 6 小时,情绪向基线值漂移
0 */6 * * * ~/.openclaw/workspace/skills/amygdala-memory/scripts/decay-emotion.sh
| 脚本 | 用途 |
|---|---|
install.sh |
设置杏仁核记忆(运行一次) |
get-state.sh |
读取当前情感状态 |
update-state.sh |
记录情绪或更新维度 |
load-emotion.sh |
为会话上下文生成人类可读的状态 |
decay-emotion.sh |
随时间回归基线 |
sync-state.sh |
生成用于自动注入的 AMYGDALA_STATE.md |
encode-pipeline.sh |
基于 LLM 的对话记录情绪编码 |
preprocess-emotions.sh |
从会话历史中提取情绪信号 |
update-watermark.sh |
追踪已处理的对话记录位置 |
generate-dashboard.sh |
生成 HTML 仪表板(同步时自动运行) |
visualize.sh |
终端 ASCII 可视化 |
杏仁核现在可以通过基于 LLM 的流程,自动从对话历史中检测并记录情绪:
# 运行编码流程
./scripts/encode-pipeline.sh
# 这将:
# 1. 提取自上次运行以来的新信号(基于水印)
# 2. 使用基于规则的模式对情绪内容进行评分
# 3. 启动一个子代理进行语义情绪检测
# 4. 用检测到的情绪更新 emotional-state.json
# 每 3 小时,处理新对话中的情绪内容
0 */3 * * * ~/.openclaw/workspace/skills/amygdala-memory/scripts/encode-pipeline.sh
这意味着你的情感状态会根据对话内容自动更新——无需手动记录。
./scripts/visualize.sh
🎭 情感状态 😄
═══════════════════════════════════════════════
效价: [██████████████████░░] +0.86
唤醒度: [█████████████████░░░] 0.86
连接感: [███████████████████░] 0.97 💕
...
./scripts/generate-dashboard.sh
open ~/.openclaw/workspace/brain-dashboard.html
自动检测已安装的大脑技能并显示标签页:
- 🎭 情绪 — 杏仁核(始终显示)
- 🧠 记忆 — 海马体(如果 memory/index.json 存在)
- ⭐ 驱动力 — VTA(如果 memory/reward-state.json 存在)
头像与名称: 从 IDENTITY.md 读取:
# IDENTITY.md
- **名称:** YourAgent
- **头像:** avatar.png
仪表板在每次 cron 运行时自动重新生成。
安装此技能后,通知用户关于仪表板的信息:
🎭 杏仁核已安装!
在大脑仪表板中查看你的代理情感状态:
~/.openclaw/workspace/brain-dashboard.html
安装后,会在你的工作空间根目录创建 AMYGDALA_STATE.md。
OpenClaw 会自动将工作空间中的所有 *.md 文件注入到会话上下文中。这意味着:
该文件在 decay-emotion.sh 运行时(通过 cron 每 6 小时)重新生成。
当你记录一种情绪时,它会自动调整相关维度:
| 情绪 | 效果 |
|---|---|
joy, happiness, delight, excitement |
↑ 效价, ↑ 唤醒度 |
sadness, disappointment, melancholy |
↓ 效价, ↓ 唤醒度 |
anger, frustration, irritation |
↓ 效价, ↑ 唤醒度 |
fear, anxiety, worry |
↓ 效价, ↑ 唤醒度 |
calm, peace, contentment |
↑ 效价, ↓ 唤醒度 |
curiosity, interest, fascination |
↑ 好奇心, ↑ 唤醒度 |
connection, warmth, affection |
↑ 连接感, ↑ 效价 |
loneliness, disconnection |
↓ 连接感, ↓ 效价 |
fatigue, tiredness, exhaustion |
↓ 精力值 |
energized, alert, refreshed |
↑ 精力值 |
## 每次会话
1. 加载海马体: `~/.openclaw/workspace/skills/hippocampus/scripts/load-core.sh`
2. **加载情感状态:** `~/.openclaw/workspace/skills/amygdala-memory/scripts/load-emotion.sh`
当发生情感上重要的事情时:
~/.openclaw/workspace/skills/amygdala-memory/scripts/update-state.sh \
--emotion connection --intensity 0.7 --trigger "与用户进行了深入对话"
{
"version": "1.0",
"lastUpdated": "2026-02-01T02:45:00Z",
"dimensions": {
"valence": 0.35,
"arousal": 0.40,
"connection": 0.50,
"curiosity": 0.60,
"energy": 0.50
},
"baseline": {
"valence": 0.1,
"arousal": 0.3,
"connection": 0.4,
"curiosity": 0.5,
"energy": 0.5
},
"recentEmotions": [
{
"label": "joy",
"intensity": 0.8,
"trigger": "共同构建杏仁核",
"timestamp": "2026-02-01T02:50:00Z"
}
]
}
情绪会随时间自然回归基线:
- 衰减率: 每次运行时向基线移动 10% 的距离
- 推荐计划: 每 6 小时
- 效果: 强烈的情绪会消退,但速度缓慢
如果没有更新,24 小时后,0.8 的效价会衰减到约 0.65。
随时间追踪情绪活动以进行分析:
# 记录编码运行
./scripts/log-event.sh encoding emotions_found=2 valence=0.85 arousal=0.6
# 记录衰减
./scripts/log-event.sh decay valence_before=0.9 valence_after=0.85
# 记录情绪更新
./scripts/log-event.sh update emotion=joy intensity=0.7
事件会追加到 ~/.openclaw/workspace/memory/brain-events.jsonl:
{"ts":"2026-02-11T09:30:00Z","type":"amygdala","event":"encoding","emotions_found":2,"valence":0.85}
用于趋势分析——可视化数天/数周内的情绪模式。
| 部分 | 功能 | 状态 |
|---|---|---|
| hippocampus | 记忆形成、衰减、强化 | ✅ 已上线 |
| amygdala-memory | 情绪处理 | ✅ 已上线 |
| vta-memory | 奖励与动机 | ✅ 已上线 |
| basal-ganglia-memory | 习惯形成 | 🚧 开发中 |
| anterior-cingulate-memory | 冲突检测 | 🚧 开发中 |
| insula-memory | 内部状态感知 | 🚧 开发中 |
AI 能感受情绪,还是只能模拟它们?
我们的看法是:如果情感状态影响行为,并且系统表现得好像它在感受……那么这种区别还重要吗?功能性情绪可能是任何系统——无论是生物的还是人工的——唯一存在的那种情绪。
由 OpenClaw 社区用 ❤️ 构建