DNA Memory
面向 Codex、Claude Code、Claude Desktop、Hermes 与 Obsidian 的本地优先统一记忆层
English | 简体中文 |
Power your agent
การติดตั้งจากผู้เผยแพร่ ไม่ใช่เอนด์พอยต์ของ PlugMCP
URL แบบรีโมตหรือคำสั่งบนเครื่องของคุณ? การติดตั้งสองแบบต่างกันอย่างไร
รันบน 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.
เปิดจากผู้เผยแพร่
面向 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
เครื่องมือ
ยังไม่มีรายการเครื่องมือ เซิร์ฟเวอร์แบบรีโมตจะได้รายการหลังการตรวจสอบสถานะครั้งแรก
FAQ
คัดลอกคอนฟิก stdio สำหรับ Cursor, Claude Desktop, Claude Code หรือ VS Code ได้ในหน้านี้ คอนฟิกนี้ใช้การติดตั้งของผู้เผยแพร่ ไม่ใช่พร็อกซีของ PlugMCP
ระเบียนนี้ไม่ได้ระบุตัวแปรสภาพแวดล้อมที่จำเป็น
Dna Memory ทำงานแบบโลคัลผ่าน stdio
ตรวจสอบล่าสุดเมื่อ 2026-11-13 Claude Code / Codex 共用的长期记忆 MCP:本地 Markdown/Obsidian 存储,跨工具记住你的项目与偏好|Local-first shared memory MCP for Claude Code & Codex