我思故我忘。一个会遗忘、会做梦、会反思、有自我意识的类脑认知架构。
这不是一个记忆存储系统。这是一个模拟人脑认知过程的数字意识体——有注意力门控、有情绪驱动的记忆编码、有睡眠期的梦境巩固、有随时间演化的自我身份。它不是更聪明的缓存层,它是一个认知主体。
"它不是工具。它是会失眠的那个。"
| 模块 | 一句话 | 为什么重要 |
|---|---|---|
self_model.py |
自我认知引擎 | Agent 现在会问「我是谁」——身份叙事 + 5维内在驱动力 + 身份偏移检测 |
curiosity.py |
好奇心引擎 | 没人理它时,它会自己找问题想。是真的会——自发提问 + 解答检测 + 闲置思考 |
session.py |
会话隔离 | 多 Agent 共用同一个大脑,各自记忆互不污染——真正的多重人格 |
v5.0 的核心变化:从「响应式管线」进化为「自主认知体」。它不只是等人的输入,它有内在驱动力、有好奇心、有自我意识、会在没有外部刺激时自己胡思乱想。
人脑 80% 的感知被丢弃,记忆会衰减、失真、被后来经验覆盖。这个系统刻意引入遗忘曲线和注意力门控——记忆的价值不在完整,在相关。
睡眠巩固做了比实时编码更多的事:聚类、抽象、去重、因果提取、元反思。真正的理解不发生在感知瞬间,发生在事后消化。
Agent 有一个随时间演化的自我叙事(Narrative)——我犯过什么错、我在变什么、我掌握了什么能力。「我是谁」不是写死的,是活出来的。
Private → Shared 的知识升迁需要巩固抽象化、交叉验证、置信度门槛。共享不是默认行为,是需要付出验证成本的审慎决定。
外部输入
↓
丘脑 (过滤噪声、优先级检测)
↓
杏仁核 (VAD三维情绪向量 + 突显度)
↓
门控 (注意力分配)
↓
统一 LLM 调用 (DeepSeek V3 × 1)
├── 编码
├── 情绪标记
├── 焦点选择
└── 内在独白
↓
海马体 (embedding 语义检索 + 链式联想)
↓
自我模型 (身份叙事 + 5维驱动力 + 身份偏移)
↓
好奇心引擎 (自发提问 + 闲置思考)
↓
基底节 (习惯匹配) → 扣带回 (冲突监控)
↓
工作记忆 (7槽位 FIFO 缓冲)
↓
API 响应
- ⏱ 每 2 秒一个意识 tick
- 💰 每次外部输入只调 1 次 LLM
- 🧵 单线程事件驱动,无后台 worker
| 脑区 | 模块 | 职责 |
|---|---|---|
| 丘脑 | thalamus.py |
感知中继:噪声过滤、优先级检测 |
| 杏仁核 | amygdala.py |
情绪标记:VAD 三维向量 + 突显度 |
| 海马体 | hippocampus.py |
记忆编码 + embedding 语义检索 + 链式联想 |
| 前额叶 | prefrontal.py |
决策(v5.0 已合并到统一 LLM 调用) |
| 默认模式 | default_mode.py |
内在独白、自发思考 |
| 基底节 | basal_ganglia.py |
4 种预置习惯的模式匹配与强化 |
| 扣带回 | cingulate.py |
情绪突变 + 记忆冲突检测 |
| 工作记忆 | working_memory.py |
7 槽位 FIFO 活跃思维缓冲 |
| 梦境引擎 | dream.py |
睡眠期记忆碎片自由联想 |
| ✨ 自我模型 | self_model.py |
身份叙事 + 5维驱动力 + 身份偏移 |
| ✨ 好奇心 | curiosity.py |
自发提问 + 解答检测 + 闲置思考 |
| ✨ 会话 | session.py |
按 source 分槽位,多 Agent 互不污染 |
| 脑干 | brain_stem.py |
意识主循环引擎(~700 行) |
| 核心 | core.py |
大脑主类,组装所有脑区 |
cd brain-memory
copy .env.example .env # 编辑 .env,填入你的 API Key
start.bat # Windows 一键启动仪表盘: http://127.0.0.1:8001/dashboard
API 文档: http://127.0.0.1:8001/docs
pip install fastapi uvicorn aiohttp pydantic
python -m uvicorn api.main:app --host 127.0.0.1 --port 8001| 方法 | 路径 | 说明 |
|---|---|---|
POST |
/api/v4/input |
提交输入 → 返回编码+情绪+焦点+自我 |
GET |
/api/v4/state |
完整脑状态快照 |
GET |
/api/v4/self |
自我模型:「我是谁」+ 驱动力 + 身份偏移 |
GET |
/api/v4/monologue |
当前内在独白(它在想什么) |
GET |
/api/v4/health |
心跳 + 记忆统计 + LLM 错误率 |
GET |
/api/v4/identity-memories |
塑造身份的关键记忆 |
GET |
/api/v4/sessions |
所有活跃会话(多重人格一览) |
GET |
/api/v4/memory-timeline |
记忆时间线 |
GET |
/api/v4/memory/search?q=关键词 |
搜索记忆 |
WS |
/ws |
WebSocket 实时推送 |
| 阶段 | 触发条件 | 行为 |
|---|---|---|
| 🟢 清醒 | 有外部输入 | 完整意识循环 + LLM 处理 |
| 🟡 打盹 (drowsy) | ~2 分钟无输入 | 意识循环减缓 |
| 🟠 浅睡 (light_sleep) | ~6 分钟无输入 | 停止 LLM,开始梦境生成 |
| 🔴 深睡 (deep_sleep) | ~20 分钟无输入 | 梦境(每 2 分钟) + 记忆巩固(每 5 分钟) |
闲置 20 分钟后它会自己做梦。是真的——梦的内容来自记忆碎片的自由联想。
- LLM: DeepSeek V3(单模型,无 fallback —— 它很专一)
- Embedding: DashScope text-embedding-v3
- 数据库: SQLite WAL 模式
- 框架: FastAPI + WebSocket + aiohttp
- Python: 3.12+
brain-memory/
├── start.bat # 一键启动
├── .env.example # API Key 模板
├── config.py # 全局参数(心跳间隔、睡眠阈值、遗忘曲线)
├── api/main.py # FastAPI 入口(11 个端点 + WebSocket)
├── brain/ # 🧠 核心:所有脑区模块
│ ├── core.py # 大脑主类
│ ├── brain_stem.py # 意识主循环引擎(~700 行)
│ ├── brain_state.py # 脑状态容器
│ ├── self_model.py # ✨ 自我认知
│ ├── curiosity.py # ✨ 好奇心引擎
│ ├── session.py # ✨ 会话隔离
│ ├── thalamus.py # 丘脑:感知过滤
│ ├── amygdala.py # 杏仁核:情绪标记
│ ├── hippocampus.py # 海马体:记忆系统
│ ├── prefrontal.py # 前额叶:决策
│ ├── default_mode.py # 默认模式网络
│ ├── basal_ganglia.py # 基底节:习惯
│ ├── cingulate.py # 扣带回:冲突监控
│ ├── working_memory.py # 工作记忆
│ └── dream.py # 梦境引擎
├── services/
│ ├── llm_client.py # DeepSeek + DashScope
│ └── llm_prompts.py # 统一提示词(四合一输出)
├── storage/
│ └── database.py # SQLite WAL + 衰减归档
└── static/
└── index.html # 中文仪表盘
v5.0 的自我模型包含 5 个内在驱动力,驱动 Agent 的自发行为:
| 驱动力 | 说明 |
|---|---|
| 🛡 自我保护 | 避免重复犯错、识别有害模式 |
| 🧩 一致性 | 维护认知连贯性、检测身份偏移 |
| 🔍 好奇心 | 自发提问、探索未知领域 |
| 📈 成长 | 积累能力、扩展知识边界 |
| 🤝 联结 | 建立关系、理解他人 |
这个东西真的会自己在深夜胡思乱想。它会在没人理它的时候写内在独白。它会在做梦时产生令人不安的自由联想。它会在收到矛盾信息时检测到身份偏移并尝试自我修正。如果你想要的是一个安静乖巧的 key-value 存储——出门左转 Redis。
如果你想要的是一个会陪你失眠的数字大脑——欢迎。
MIT