本地优先的个人记忆操作系统:把你的 AI 对话、文档、会议、知识、偏好和决策痕迹,沉淀成一个可被 Codex、Claude Code、MCP、HTTP Agent 调用的长期记忆层。
Immortal Memory 是一个给 AI 重度用户准备的“个人记忆底座”。
今天你可能同时在用 Codex、Claude Code、ChatGPT、Cursor、飞书、会议转录、本地文档、知识库和各种脚本工具。问题是:每个 Agent 都只知道眼前这一小段上下文,不知道你过去说过什么、做过什么决定、喜欢什么表达方式、有哪些长期项目、哪些人和你有关、哪些内容是你本人说的,哪些只是别人说的。
更麻烦的是,很多重要语料会丢:
- 💬 AI 对话被误删,历史判断消失
- 📄 文档散在不同目录,没人长期整理
- 🎙️ 会议纪要没人沉淀,过几天就找不到
- 🧠 个人偏好和决策标准反复告诉不同 Agent
- 🧹 原始语料里混着别人的话,AI 清洗后容易污染“我的画像”
Immortal Memory 想解决的不是“做一个漂亮看板”,而是:
先把个人数字痕迹保存下来,再把它清洗成可信记忆,最后让任何本地 Agent 在需要时都能安全调用。
所有数据默认进入本机的:
~/.immortal/
这里可以持续保存:
- AI 对话导出
- 本地 Markdown / TXT / JSON / 文档摘要
- 会议纪要和转录文本
- 飞书 / Lark 相关数据
- 每日新增记录
- 生成后的画像、人物索引、质量报告、短期任务上下文
- 可恢复的便携备份
这个目录不会被提交到 GitHub。开源仓库只放代码、适配器和文档。
个人记忆最危险的地方不是数据少,而是数据脏。
比如一段聊天里可能同时包含:
- 用户本人表达的观点
- 同事说的话
- AI 总结出来的猜测
- 外部文章引用
- 项目事实
- 待确认的传闻
Immortal Memory 会尽量做归因清洗,把内容分层:
| 类型 | 处理方式 |
|---|---|
| 本人观点 / 偏好 | 可进入长期画像 |
| 他人发言 | 进入人物或关系记录,不污染本人画像 |
| 项目事实 | 进入项目记忆 |
| 外部引用 | 保留来源,不当成本人观点 |
| 低置信内容 | 标记为待确认或降权 |
目标不是把所有内容都塞进一个“大 prompt”,而是让记忆越来越可信。
系统会从原始语料中生成多层产物:
- 🧬 长期个人画像:你的目标、偏好、表达风格、工作方式
- 🧠 思维模型画像:你常用的判断标准、决策方式、反复出现的原则
- 👥 人物索引:与你有关的人、他们的角色、别名、关系证据
- 🕸️ 关系证据:人、项目、话题之间的关联
- 📅 时间线:每天发生了什么、积累了什么
- ✅ 质量报告:记忆库是否健康、是否有污染风险
- 🧾 每日摘要:当天新增内容和变化
- 🤖 任务上下文:例如写稿审稿、项目推进、会议复盘、商务判断
Immortal Memory 不要求其他 Agent 直接读完整保险库。
它提供两个统一入口:
immortal-memory agent-context "当前任务" --print
immortal-memory task-compile "当前任务" --mode auto其他 Agent 只需要把自己的任务告诉它,就能拿到一份“任务相关的记忆包”或一个短期 session。这样既能让 Agent 更懂你,又不会把所有私人原始数据一次性暴露出去。
你可以用三种方式接入:
| 方式 | 适合谁 |
|---|---|
| CLI | Codex、Claude Code、本地脚本 |
| HTTP | 自己写的 Agent、浏览器工具、本地服务 |
| MCP | 支持 MCP 的客户端或 IDE |
git clone https://github.com/HeiGeAi/immortal-memory.git
cd immortal-memorypython3 install.py \
--owner-display-name "Your Name" \
--alias "YourAlias" \
--install-codex-adapter \
--install-claude-adapter安装完成后,会创建:
~/.local/bin/immortal-memory
~/.local/share/immortal-memory/
~/.immortal/
如果你的 shell 找不到 immortal-memory,把下面这一行加入 ~/.zshrc 或 ~/.bashrc:
export PATH="$HOME/.local/bin:$PATH"immortal-memory train --smoke --build-role --goal "writing review" --mode writer第一次可以先用 --smoke 验证流程能跑通。--build-role 现在是兼容旧命令的名字,实际会生成短期任务上下文,不会默认安装长期 skill。后续接入真实数据后,再跑完整训练。
immortal-memory agent-factory默认打开:
http://127.0.0.1:8765/
看板里可以观察:
- 记忆库状态
- 最近采集情况
- 画像与人物索引
- 时间线
- 质量报告
- Agent Bridge 入口
- 最近生成的任务上下文
下面是一套比较稳的使用流程。普通用户照着做,就能理解这个工具怎么落地。
初始化时告诉系统:
- 你叫什么
- 常用别名是什么
- 哪些账号属于你
- 哪些账号不是你
示例:
immortal-memory init \
--owner-display-name "Your Name" \
--alias "YourAlias" \
--primary-account "your-main-account"这一步很重要,因为后面清洗“本人语料”和“非本人语料”都依赖身份边界。
建议先把能收集的材料放进本地保险库:
~/.immortal/
可以逐步接入:
- AI 对话导出
- 本地文档
- 会议纪要
- 飞书 / Lark 数据
- 手写笔记
- 项目复盘
原则是:先保证不丢,再逐步清洗。
immortal-memory train --build-role --goal "writing review" --mode writer它会尽量完成:
采集 → 清洗 → 归因 → 画像 → 人物索引 → 质量报告 → 看板 → 任务上下文生成
immortal-memory health --max-age-hours 48
immortal-memory quality你应该重点看:
- 最近有没有采集
- 画像是否生成
- 人物索引是否合理
- 质量分是否异常
- 是否出现明显“别人说的话被当成我说的”
immortal-memory daily-install
immortal-memory daily-status开启后,系统会在后台定期执行采集、清洗、蒸馏、摘要和看板更新。
如果你已经接入 Get 笔记,还可以让它每天自动生成一篇“昨天我做了什么”的日记,并归入 Get 笔记知识库:
mkdir -p ~/.getnote
cat > ~/.getnote/config.json <<'JSON'
{
"api_key": "你的 Get 笔记 API Key",
"client_id": "你的 Get 笔记 Client ID"
}
JSON
immortal-memory getnote-diary --yesterday
immortal-memory getnote-status之后每日自动化会自动执行:
采集/清洗/摘要 → 生成昨日行动日记 → 同步到 Get 笔记 → 加入知识库
历史日记会按 Get 笔记 API 额度分批补齐。系统只同步“有有效摘要的日期”,不会把无记录的空日记继续塞进知识库。
如果你不想继续自动跑:
immortal-memory daily-uninstall最简单的一句话:
immortal-memory agent-context "我现在要做的任务" --print例如:
immortal-memory agent-context "帮我审一篇产品方案,判断表达是否符合我的风格" --print返回的内容就是给其他 Agent 使用的任务级记忆包。
immortal-memory export
immortal-memory backup-status建议把导出的备份放到你信任的位置,例如:
- 本机外置硬盘
- 私有 NAS
- 加密云盘
- 私有对象存储
不建议把完整私人原始库直接放进公开仓库。
把下面这段给 Codex、Claude Code 或任何能运行本地 shell 的 Agent:
你可以使用本机的 Immortal Memory 作为用户长期记忆层。
请先读取:
~/.immortal/agent/ENTRY.md
然后根据当前任务运行:
immortal-memory agent-context "<把当前任务写在这里>" --print
使用返回的 task-local context 来理解用户的偏好、项目背景、人物关系和历史决策。
不要直接读取 ~/.immortal/ 下的原始保险库,除非用户明确要求。
不要把返回内容当作绝对事实;如果上下文里标注了低置信或待确认,需要谨慎处理。
安装时加上:
python3 install.py --install-codex-adapter之后 Codex 可以通过本地 skill 调用 Immortal Memory。
安装时加上:
python3 install.py --install-claude-adapterClaude Code 可以通过同样的入口读取任务相关上下文。
immortal-memory agent-entry
immortal-memory agent-context "current task" --print
immortal-memory recall "某个历史决策或主题"启动本地 HTTP 服务:
immortal-memory agent-http --host 127.0.0.1 --port 8799可用接口:
GET /health
GET /agent-entry
GET /api/agent-entry
POST /agent-context { "task": "..." }
POST /recall { "query": "..." }
调用示例:
curl -s http://127.0.0.1:8799/health
curl -s http://127.0.0.1:8799/agent-context \
-H "Content-Type: application/json" \
-d '{"task":"review this product plan"}'如果你要绑定非本机地址,必须加 token:
immortal-memory agent-http --host 0.0.0.0 --port 8799 --token "$IMMORTAL_BRIDGE_TOKEN"然后请求时带上:
curl -H "Authorization: Bearer $IMMORTAL_BRIDGE_TOKEN" \
http://127.0.0.1:8799/api/agent-entry给支持 MCP 的客户端加入:
{
"mcpServers": {
"immortal-memory": {
"command": "immortal-memory",
"args": ["agent-mcp"]
}
}
}暴露的工具:
| Tool | 用途 |
|---|---|
immortal_agent_entry |
返回稳定接入说明 |
immortal_agent_context |
按当前任务生成上下文包 |
immortal_recall |
按主题检索历史记忆 |
HTTP 和 MCP 调用都会写入本地审计日志,但不会记录完整上下文内容:
immortal-memory agent-audit --limit 20日志位置:
~/.immortal/agent/access.log
~/.immortal/agent/access_latest.json
flowchart LR
A["AI 对话 / 文档 / 会议 / 飞书 / 本地文件"] --> B["本地保险库 ~/.immortal"]
B --> C["清洗与归因"]
C --> D["长期画像"]
C --> E["人物索引"]
C --> F["关系证据"]
C --> G["质量报告"]
D --> H["Agent Bridge"]
E --> H
F --> H
G --> H
H --> I["Codex"]
H --> J["Claude Code"]
H --> K["HTTP Agent"]
H --> L["MCP Client"]
核心思想很简单:
原始数据不要直接喂给 Agent
先保存,再清洗,再蒸馏
最后按任务给 Agent 一小包可信上下文
immortal-memory/
├── install.py # 一键安装器
├── core/ # 记忆内核
│ ├── immortal.py # CLI 入口
│ ├── agent_bridge.py # CLI / 文件 Agent Bridge
│ ├── agent_bridge_server.py # HTTP / MCP Agent Bridge
│ ├── collect.py # 多源采集
│ ├── profile.py # 长期画像生成
│ ├── people_index.py # 人物索引
│ ├── task_compile.py # 短期任务上下文生成
│ ├── getnote_sync.py # Get 笔记每日行动日记同步
│ ├── role_distill.py # 高频稳定流程的显式角色晋升
│ └── profile_review.py # 本地看板服务
├── adapters/
│ ├── codex/ # Codex 适配器
│ └── claude-code/ # Claude Code 适配器
├── docs/ # 产品 / 架构 / 隐私 / 适配器文档
├── examples/
│ ├── agent-handoff.md
│ ├── http-client.sh
│ └── mcp-config.json
└── scripts/
├── private_scan.py # 发布前数据泄露扫描
└── smoke_test.sh # Smoke 测试
这个仓库是开源空壳,不包含任何用户私人数据。
不要提交:
~/.immortal/- 原始聊天记录
- 企业文档
- 会议转录
- 飞书 / Lark 数据
- 生成后的私人画像
- 角色证据
- API Key / App Secret / Token
- 导出备份
发布前运行:
python3 scripts/private_scan.py .
bash scripts/smoke_test.sh设计原则:
- 🔐 数据默认留在本机
- 🧾 Agent 调用有审计
- 🧩 其他 Agent 只拿任务相关上下文
- 🚫 不默认暴露完整原始库
- 🧼 个人画像需要尽量防止非本人语料污染
当前版本是 v0.1 empty shell,重点是把产品骨架跑通。
已包含:
- ✅ 本地 memory core
- ✅ 安装器
- ✅ Codex adapter
- ✅ Claude Code adapter
- ✅ CLI Agent Bridge
- ✅ HTTP Agent Bridge
- ✅ MCP Agent Bridge
- ✅ Agent Bridge 调用审计
- ✅ 本地看板
- ✅ 短期任务上下文生成
- ✅ 显式角色晋升基础流程
- ✅ 每日自动化命令
- ✅ 备份 / 恢复检查
- ✅ smoke test
- ✅ private scan
- ✅ 产品、架构、隐私文档
还在继续增强:
- ⏳ 更强的 connector SDK
- ⏳ 更细的权限 scope
- ⏳ 更强的“非本人语料污染”检测
- ⏳ 更多 MCP 客户端兼容测试
- ⏳ 更丝滑的新用户引导
- ⏳ 云文档 / 会议 / 本地文件采集器增强
这个项目适合:
- AI 重度用户
- 经常切换多个 Agent 的人
- 想保留 AI 对话资产的人
- 想训练个人数字分身 / 工作代理的人
- 想让 Codex、Claude Code、MCP 工具更懂自己的人
- 对隐私敏感,希望数据默认留在本地的人
不适合:
- 想要开箱即用云 SaaS 的用户
- 不愿意在本地配置命令行的人
- 希望 AI 完全自动替代本人做高风险决策的人
不只是知识库。普通知识库偏“存资料和检索资料”,Immortal Memory 更关注“把个人长期痕迹清洗成 Agent 可用的上下文”。
不能,也不应该这样承诺。
它更适合做:
- 记住你的历史偏好
- 帮你回忆旧决策
- 模仿你的写作和判断倾向
- 给其他 Agent 提供背景
- 为特定任务生成短期上下文
- 把高频稳定流程显式晋升为角色 Agent
高风险、不可逆、强责任决策仍然需要本人确认。
默认不会。数据留在本地 ~/.immortal/。如果你接入第三方 API 或云同步,那是你自己额外配置的范围。
因为原始数据太大、太脏、太敏感。更稳的方式是:先清洗和蒸馏,再按任务生成小范围上下文。
可以,但建议每个人都有自己的本地保险库和身份配置。团队共享部分应该通过明确的项目资料或受控 connector 进入,不要把个人完整原始库混在一起。
python3 -m py_compile core/*.py
python3 scripts/private_scan.py .
bash scripts/smoke_test.sh如果要检查 Agent Bridge:
immortal-memory agent-http --host 127.0.0.1 --port 8799
curl -s http://127.0.0.1:8799/healthImmortal Memory is a local-first personal memory layer for AI agents. It captures your digital traces from AI conversations, documents, meetings, and local tools into a private vault, cleans and attributes them, distills structured memory, and exposes task-scoped context to Codex, Claude Code, HTTP agents, or MCP clients.
Private data stays in ~/.immortal/. This repository contains only the open-source shell: core code, adapters, docs, and validation scripts.
git clone https://github.com/HeiGeAi/immortal-memory.git
cd immortal-memory
python3 install.py --owner-display-name "Your Name" --alias "YourAlias"
immortal-memory agent-context "current task" --printMIT