先看看这台 Mac 已经知道什么。
dachshund 在原地读取已知的 Agent 记忆位置。不移动、不改写、不上传
~/.claude7~/.codex8~/.cursor5
DeepSeek Harness~/.dsh1给 Agent 的本地记忆基础设施
dachshund 找到 Claude Code、Codex、Cursor 等 15 个 Agent 已经保存在 Mac 上的 Memory,把它们汇成一份可迁移的 Markdown 记忆库,再通过 MCP 交给所有 Agent 使用
偏好
先做内容,再做界面像纸质田野笔记,而不是效率仪表盘:暖纸色、墨色、细分隔线和唯一的重点色
已经知道你的 Agent 把记忆放在哪里
01 / 先导入,再使用
你不该为了一个新工具,重新教它自己的全部历史。dachshund 首次启动就会找到 Agent 已经写下的记忆格式,装好之后马上有用
dachshund 在原地读取已知的 Agent 记忆位置。不移动、不改写、不上传
~/.claude7~/.codex8~/.cursor5
DeepSeek Harness~/.dsh1三个 Agent 记住同一件事时,只留一份有用的记忆,三条来源都还在
记忆保存为普通 Markdown。SQLite 只是可以随时重建的索引
dachshund/
memory/
about-me/ 个人档案
projects/ 项目决策
working-together/ 协作规则
index.sqlite 可重建
02 / 一个安静的转接台
持久的事实来源是一份 Markdown 文件夹。dachshund 加上本地搜索索引与只绑定回环地址的 MCP Bridge。中间没有模型、Embedding 服务,也没有托管账号
你的 Agents
一个本地记忆库
~/Documents/dachshund/memory/
只读导入,不经过云端
所有已连接的 Agent
MCP stdio Bridge
127.0.0.1
Bearer Token · 仅当前用户可读
03 / 穿过工具边界
Codex 试错得到的教训,不该让 Claude Code 再重新踩一次。dachshund 把某个 Agent 换来的经验,变成所有已连接 Agent 都能召回的共享记忆
阅读器必须先能独立成立,编辑、协作和发布才进入第一个版本。功能完整不等于体验完成。
04 / 记忆的形状
Pulse 展示 Agent 真正记住了什么:记忆来自哪里,有哪些重叠,哪些正在变旧。它描绘的是你的上下文,不是给使用量打分
新鲜度中位年龄 · 4 天
06 / 不经过云端的 MCP
连接后,任何 Agent 都可以搜索记忆、请求可直接放进 Prompt 的上下文块、写入持久记忆、归档共享副本,并查看记忆库统计
memory_search搜索本地记忆库,每条结果都保留来源信息
→ 输入问题,返回来源memory_context返回一段紧凑、可直接交给 Agent 使用的上下文
→ 相关,而不是全量memory_remember把决定、偏好或教训保存成可读的 Markdown
→ 共享、持久memory_forget从共享记忆库移除,但不删除 Agent 自己的原始文件
→ 原始文件不动memory_stats在 Agent 开始工作前,先看记忆、Agent、来源和回声数量
→ 只基于已经存在的内容Bridge 只通过回环地址运行,短期 Token 保存于仅当前用户可读的运行时文件
阅读架构 ↗唯一的外部请求只用于检查 GitHub 更新
准备好第一次扫描
当前版本使用 ad-hoc 签名,尚未经过 Apple 公证。首次启动时,macOS 可能要求你在 Finder 中右键应用并选择 打开