DNA Memory
面向 Codex、Claude Code、Claude Desktop、Hermes 与 Obsidian 的本地优先统一记忆层
English | 简体中文 |
Power your agent
Instal dari penerbit. Bukan endpoint PlugMCP.
URL remote atau perintah di mesin Anda? Perbedaan kedua cara instal
Jalankan di PlugMCP
A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.
BukaDari penerbit
面向 Codex、Claude Code、Claude Desktop、Hermes 与 Obsidian 的本地优先统一记忆层
English | 简体中文 |
Claude Code / Codex 共用的长期记忆 MCP:本地 Markdown/Obsidian 存储,跨工具记住你的项目与偏好|Local-first shared memory MCP for Claude Code & Codex
想给 Claude Code、Codex 加长期记忆? DNA Memory 是一个本地优先的 AI Agent 记忆 MCP。一个 Markdown / Obsidian 目录当长期记忆,Codex、Claude Code、Claude Desktop、Hermes 通过同一个 MCP 服务读写,不用每个工具各记一套。
English: a local-first memory MCP server that gives Claude Code, Codex, Claude Desktop and Hermes one shared long-term memory in Markdown.
适合谁:同时用 Codex、Claude Code、Claude Desktop 或 Hermes,受够了每个工具各记一套、互相打架的人。 一个 Markdown / Obsidian 目录当长期记忆,所有客户端通过同一个 MCP 服务读写。快速上手 →
DNA Memory 把一个 Markdown/Obsidian 目录作为长期记忆真源,把 SQLite 作为可删除、可重建的索引。多个 AI 客户端通过同一个 MCP 服务召回、写入和反馈, 不再各自维护互相冲突的长期记忆副本。
它不会把“保存所有聊天记录”等同于“形成记忆”。完整会话仍由原客户端保管; DNA Memory 只保存有界来源指针、经过审查的提案,以及验证后的关键结论。
DNA Memory 不把“保存对话”视为“形成记忆”。 它受人类大脑记忆形成 机制启发,把跨客户端的大量对话视为原始感知输入,通过信号提取、重要性与 置信度加权、认知分型、验证结晶、召回反馈和新旧认知替代,持续把数据抽象为 可复用认知。
它不是另一个无限增长的聊天数据库。原始会话只是形成认知的材料;只有经过筛选、 验证并值得在未来任务中复用的结论,才会进入长期记忆真源。
DNA Memory 的核心不是把更多对话塞进数据库,而是给 Agent 一套接近人类记忆 形成过程的处理策略。Agent 把对话当作原始感知输入,只有经过策略闸门的内容, 才可能成为可复用的长期认知:
useful 或 misleading。supersedes 替代,
原始来源指针和过期候选按保留策略清理。这是一种受仿生学启发的工程策略,不声称复制人脑。它的目标是让 Agent 具备 “筛选—加权—抽象—验证—召回—修正”的记忆行为,而不是拥有一个不断膨胀的聊天 存档库。DNA Memory 的质量应看高质量认知是否被正确复用,而不是看保存了多少文本。
大量原始对话
-> 有界采集与信号提取
-> 重要性、置信度与使用反馈加权
-> 认知分型
-> 验证后结晶为长期认知
-> 按当前任务召回
-> useful / misleading 反馈与 supersedes 演化
当前工程实现将长期认知分为四组、八种类型:
这里的仿生学是设计启发,不是对人脑的完整复刻。DNA Memory 的价值不取决于 保存了多少对话,而取决于形成了多少高质量认知,以及这些认知是否在后续决策中 被准确召回和有效复用。
memory_remember 写入的是短小、可复用结论,不是 transcript。Codex / Claude / Hermes
|
| stdio MCP
v
memory_recall / remember / feedback
|
+--> Markdown vault <- durable source of truth
|
+--> SQLite index <- rebuildable search + telemetry
|
+--> bounded candidates <- pointers and reviewable proposals
Native client histories remain in their original stores.
git clone https://github.com/AIPMAndy/dna-memory.git \
"$HOME/.local/share/dna-memory/app"
cd "$HOME/.local/share/dna-memory/app"
python3 -m venv "$HOME/.local/share/dna-memory/mcp-venv"
"$HOME/.local/share/dna-memory/mcp-venv/bin/pip" install \
-r requirements-mcp.txt
mkdir -p "$HOME/.config/dna-memory" "$HOME/Documents/DNA-Memory-Vault/Memory"
cp docs/profiles/profile.example.json \
"$HOME/.config/dna-memory/profile.json"
按需编辑仓库外的 profile:
{
"knowledge_root": "~/Documents/DNA-Memory-Vault",
"database_path": "~/.local/share/dna-memory/memory.db",
"managed_memory_dir": "Memory",
"skill_root": "~/.agents/skills",
"skill_registry": "~/.config/dna-memory/skills.json",
"platform_skill_roots": {
"codex": "~/.codex/skills",
"claude": "~/.claude/skills",
"hermes": "~/.hermes/skills"
}
}
export DNA_MEMORY_PROFILE="$HOME/.config/dna-memory/profile.json"
python3 dna.py memory status --json
python3 dna.py memory reindex --json
以下命令让 Codex、Claude Code 和 Hermes 指向同一个 profile 与 MCP 服务:
ROOT="$HOME/.local/share/dna-memory/app"
PYTHON="$HOME/.local/share/dna-memory/mcp-venv/bin/python"
PROFILE="$HOME/.config/dna-memory/profile.json"
codex mcp add dna-memory \
--env "DNA_MEMORY_PROFILE=$PROFILE" \
-- "$PYTHON" "$ROOT/scripts/memory_mcp.py"
claude mcp add --scope user dna-memory \
-e "DNA_MEMORY_PROFILE=$PROFILE" \
-- "$PYTHON" "$ROOT/scripts/memory_mcp.py"
hermes mcp add dna-memory \
--command "$PYTHON" \
--env "DNA_MEMORY_PROFILE=$PROFILE" \
--args "$ROOT/scripts/memory_mcp.py"
验收时不要只看配置文件:
codex mcp get dna-memory
claude mcp get dna-memory
hermes mcp test dna-memory
Claude Desktop 使用 mcpServers 配置,且 JSON 中必须是绝对路径。安全迁移、
备份和回滚见 客户端接入文档。
推荐将 dna-memory-loop 分发到各客户端。 它规定了同一套行为:任务前召回、确实使用后反馈、验证后才写回。
# 真源、容量与索引状态
python3 dna.py memory status --json
# 客户端来源、自动捕获和 MCP 边界
python3 dna.py memory coverage --json
# 召回、命中、反馈、写回和积压指标
python3 dna.py memory value --json
# 从 Markdown 重建索引
python3 dna.py memory reindex --json
# 结晶安全提案、清理候选、备份、完整性检查
python3 dna.py memory maintain daily --json
python3 dna.py memory maintain weekly --json
python3 dna.py memory maintain monthly --json
memory value 将真正待审的 backlog.reviewable_proposals 与来源指针、
生命周期事件分开统计。backlog.pending 只是 total_pending 的兼容别名,
不能解释为待审记忆数量。clients 中的 recall_hits 和 recall_share 用于
观察 Codex、Claude、Hermes 的主动召回采用情况;占比不代表召回质量。
daily 维护结果中的 crystallized 表示新建长期认知,deduplicated 表示候选
已命中同类型、同规范化摘要的 active 记忆。重复候选不会创建第二份 Markdown;
其新的来源和客户端会合并到既有记忆的 provenance 字段中。系统只做精确文本去重,
不使用模糊相似度自动合并不同结论。
当新证据明确使旧结论失效时,调用 memory_remember 并显式传入旧 ID:
{
"type": "project_state",
"summary": "客户端接入已经通过真实召回与写回验收。",
"supersedes": ["mem_old_unverified"]
}
旧 Markdown 会保留并改为 superseded;默认召回只返回 active 结论。
系统不会仅按项目或类型猜测冲突。
可按需要运行:
python3 scripts/import_codex_rollouts.py
python3 scripts/import_claudian_sessions.py
python3 scripts/import_claude_desktop_sessions.py
python3 scripts/import_hermes_sessions.py
python3 scripts/import_native_history.py
导入器使用检查点和幂等事件 ID。普通事件只保存指针;只有显式
DNA_MEMORY_PROPOSAL {JSON} 或通过有界信号提取的短结论才进入候选队列,
并且仍需经过 daily 维护的类型、敏感信息、容量和去重检查。
规则升级时先在独立临时数据库回测最近 7 天,再做有界生产重提取。导入器只输出
聚合计数;自动结果仍进入 memory_proposal,不会绕过人工检查和 daily 安全结晶:
python3 -m scripts.import_native_history --backtest-days 7 \
--backtest-db /tmp/dna-memory-backtest.db
python3 -m scripts.import_native_history --reextract-days 7
只有人工抽查误采集率不高于 10% 且敏感泄露为 0 时才运行生产重提取。完整操作与
回滚边界见 docs/mcp-and-client-adapters.md。
这意味着“扫描到了会话”不等于“已经形成长期认知”。衡量系统价值时应同时看:
useful 反馈。共享 Skill 真源与记忆真源分开管理。注册表只声明 DNA Memory 有权分发的 Skill,注册表外的客户端专属目录不会被删除或覆盖。
cp assets/skills.example.json "$HOME/.config/dna-memory/skills.json"
python3 dna.py skills inventory --json
python3 dna.py skills doctor --json
python3 dna.py skills sync --json
python3 dna.py skills sync --apply --json
sync 默认 dry-run,--apply 只创建缺失符号链接。详见
Skill 管理。
仓库不包含真实 profile、数据库、会话、记忆 JSON、个人 Skill 或内部部署记录。 发布前运行:
python3 scripts/check_public_safety.py
本地 profile、备份、SQLite 和 Markdown vault 不应位于 Git 仓库内。 如果曾误提交凭证,仅删除文件不够,还必须撤销凭证并清理 Git 历史。
python3 -m pytest -q
python3 -m compileall -q dna.py dna scripts tests
python3 scripts/check_public_safety.py
git diff --check
按上面的步骤装好 DNA Memory,再用 claude mcp add --scope user dna-memory 把它接成 MCP 服务,最后用 claude mcp get dna-memory 检查是否接好。记忆存在你自己的 Markdown / Obsidian 目录里。
Codex、Claude Code、Hermes 共用同一个 MCP 服务和同一份 Markdown 记忆。它只写入短小、验证过的结论,完整会话仍然留在原来的客户端里。
Markdown 目录是长期真源,SQLite 只是可以删除、可以重建的索引,都放在你自己的电脑上。
不会。凭证、私钥、常见 token 和疑似敏感内容会被拒绝写入。
Codex、Claude Code、Claude Desktop 和 Hermes,记忆目录可以直接用 Obsidian 打开。Claude Desktop 用 mcpServers 配置,JSON 里必须写绝对路径。
memory_recall、memory_get、memory_remember、memory_feedback、memory_close_session、memory_status、memory_reindex,一共 7 个,用途见上面的 MCP 工具 表。
AI 酋长 Andy(Andy Liu,GitHub/X @AIPMAndy):前腾讯/百度 AI 产品专家,大模型独角兽前 VP,现专注 AI + 产品方法论创业。
可以找我聊求职咨询、AI 增长和副业陪跑,服务范围和费用先沟通确认。
微信 AIPMAndy(备注「DNA Memory」)· X @AIPMAndy · Telegram @AIPMAndy · 个人官网 metaver.vip · Grok Bot 中文攻略
AI Chief Andy (Andy Liu, @AIPMAndy on GitHub and X) is a former Tencent and Baidu AI product expert and former VP at an LLM unicorn, now a serial entrepreneur focused on AI and product methodology.
Claude Code / Codex 共用的长期记忆 MCP:本地 Markdown/Obsidian 存储,跨工具记住你的项目与偏好|Local-first shared memory MCP for Claude Code & Codex
Tool
Belum ada daftar tool. Server remote mendapatkannya setelah pemeriksaan kesehatan pertama.
FAQ
Salin konfigurasi stdio untuk Cursor, Claude Desktop, Claude Code, atau VS Code di halaman ini. Konfigurasi ini memakai instalasi dari penerbit, bukan proxy PlugMCP.
Tidak ada variabel lingkungan wajib yang tercantum di catatan ini.
Dna Memory berjalan secara lokal melalui stdio.
Terakhir diperiksa 2026-11-13. Claude Code / Codex 共用的长期记忆 MCP:本地 Markdown/Obsidian 存储,跨工具记住你的项目与偏好|Local-first shared memory MCP for Claude Code & Codex