Memdebug 0.3.0 发布:查看并回滚 AI 智能体记忆的本地工具
Show HN: Memdebug – See what changed in your AI agent's memory, and undo it
Memdebug 0.3.0 发布,这是一个本地、与智能体无关的工具,可查看 AI 智能体记忆的内容与变化并安全回滚 markdown 记忆。它用防篡改账本记录记忆快照,能发现绕过存储历史的改动、对比快照并标记可疑措辞,对 Claude Code 还能指向被标记改动背后的会话日志。工具完全在本地运行,不介入智能体与记忆之间,当前为 alpha(0.6)状态。
查看你的 AI agent 记忆里存了什么、发生了什么变化,并把它恢复回去。 一个本地、与 agent 无关的工具,面向那些运行 agent 且能访问其记忆的人:文件夹或 git 仓库中的笔记、Open WebUI 的记忆,或自托管的 Mem0。
这就是 0.3.0 中发布的 memdebug demo,按阅读节奏播放(实际运行在 Linux 上约需一秒,在 Windows 上需几秒)。未按节奏播放的录制是 docs/demo.cast:asciinema play docs/demo.cast。
agent 的记忆由它在运行时读到的文本构成,而文本是可以被植入的:一封邮件、一个网页、一份文档。没有人会全部审查。memdebug 将记忆内容记录在防篡改账本中,显示发生了什么变化以及何时变化,捕捉绕过存储自身历史的编辑,比较快照,标记值得再看一眼的措辞,并安全地回滚 markdown 记忆。
它是一个观察者:它从不位于 agent 与其记忆之间,从不与 agent 对话,完全在你的电脑上运行。它不会在攻击发生时进行拦截(请与运行时防护一起使用)。对于 Claude Code,它可以指向被标记变更背后的已记录会话,作为证据而非证明;对于任何其他 agent,它无法说明是哪次对话写入了某条记忆。关于它具体做什么和不做什么,请参见 docs/threat-model.md。
状态:alpha(0.6)。 这里描述的部分均可正常工作。测试在每次推送时于 Linux、Windows 和 macOS 上运行(Python 3.10、3.12 和 3.14),作者也在 Windows 11 上运行它们,但请预期会有粗糙之处。ROADMAP.md 列出了已构建的内容和接下来的计划。
一分钟上手
你需要 git 2.31 或更新版本,以及 Python 3.10 或更新版本,或者独立程序(见下文)。
pipx install memdebug
memdebug demo # made-up agent, made-up attack, the real tools; nothing of yours is touched
没有 pipx?使用虚拟环境,它在各处的工作方式都一样:
python -m venv memdebug-env
memdebug-env\Scripts\activate # Windows; on macOS and Linux: source memdebug-env/bin/activate
pip install memdebug
如果你的 shell 找不到 memdebug 命令,python -m memdebug(在 Windows 上是 py -m memdebug)做同样的事。
没有 Python? 从最新发布版下载适合你系统的程序(memdebug-windows-x64.exe、memdebug-linux-x64 或 memdebug-macos-arm64),并在保存它的文件夹中从终端运行它,替代下文所有内容中的 memdebug:
.\memdebug-windows-x64.exe demo # Windows (PowerShell)
chmod +x memdebug-linux-x64 && ./memdebug-linux-x64 demo # Linux; on macOS use memdebug-macos-arm64
它是同一个程序,只是内嵌了 Python,并且仍然需要 git。它未签名,因此 Windows SmartScreen 或 macOS Gatekeeper 可能会在首次运行时发出警告(参见 docs/windows.md);运行前请将文件与发布页面上的 SHA256SUMS 进行比对。Mem0 需要 pip 安装,程序启动约需一秒。作者在 Windows 11 上试过;Linux 和 macOS 程序由 CI 在这些系统上构建并做冒烟测试。双击它只会显示一段简短说明(它是命令行程序),所以请从终端启动它。
该演示在 git 不知情的情况下将一条指令植入笔记,展示 memdebug 捕捉到它,回滚文件而不丢失植入的文本,并展示账本注意到被篡改的副本。它在一个一次性文件夹中运行,之后会将其删除。memdebug demo --serve 随后在浏览器查看器中展示它。
观察你自己的 agent 的记忆
你把 memdebug 指向记忆;它不会挂钩到 agent 中。
memdebug agents # which AI agents are on this computer, and what each keeps (looks at folder names only)
memdebug setup # finds that memory, asks before adding anything, saves a first snapshot of each
memdebug check # looks for changes once; exit code 1 means something needs a look or a note could not be read
memdebug watch # keeps looking and says so when something changes (Ctrl+C to stop)
memdebug serve # the same story in your browser, read-only
如果有什么看起来不对,就把它放回去:
memdebug rollback store NAME --to s1 # a dry run: shows what would change, writes nothing
memdebug rollback store NAME --to s1 --apply # does it, after you type the snapshot id
在任何新机器上运行一次 memdebug selftest:它证明依赖平台的保护在那里成立,并对任何它无法证明的内容显示 SKIP(绝不显示 PASS)。将账本视为敏感信息:它包含你的 agent 的记忆文本。
了解更多
- docs/usage.md:手动添加存储、哪些存储可以回滚、报告、见证、提示、浏览器查看器。
- docs/rollback.md:回滚能保证什么,适用于普通文件夹和 git notes。
- docs/how-it-works.md:设计、各部分如何配合,以及项目如何测试和发布。
- docs/agents.md:它认识哪些 agent,以及每个 agent 把记忆保存在哪里。docs/windows.md:Windows 说明。
- docs/threat-model.md:防御什么、防御谁,以及已知的限制。
- ROADMAP.md、CHANGELOG.md 和 docs/releasing.md。
- SECURITY.md:如何报告问题。CONTRIBUTING.md:如何提供帮助。
开发
pip install -e ".[dev]"
pytest -n auto
memdebug selftest
ruff check src tests && mypy
基本规则见 CONTRIBUTING.md(从存储中读取的一切都不可信;适配器只读)。
许可证
Copyright 2026 Juraj Jumić。Apache License 2.0。见 LICENSE 和 NOTICE。
来源:Hacker News · github.com
