← 返回列表
未验证
记住智能体犯过的错,拦截重复失败调用并给出修复方案
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/26 · 已提供中文文档
Mnemosyne - 一个用于 DeepSeek Harness 的错误记忆插件,它从智能体自身的错误中学习并阻止重复出现的错误
综合分
27.8
GitHub 分
27.8
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add xuviga/dsh-plugin-mnemosyne该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
🧠 Mnemosyne —— 一个用于 DeepSeek Harness 的错误记忆插件
“不要两次踩到同一把耙子。如果你真的踩了——至少确保不会有第三次。”
Mnemosyne 是 DeepSeek Harness 的一个插件,它记住你的智能体犯过的错误,并拒绝让它重蹈覆辙。它从你自己的失误中学习:捕获错误 → 记住它 → 想出一个修复方案 → 就是不让它再次发生。
为什么你需要这个
智能体也是人——它们会栽在同样的事情上。错误的路径、忘记的参数、不存在的驱动器。Mnemosyne 会照看这一切,把每一次绊倒变成一堂课:它记录错误、写下补救措施,而且——最重要的部分——给出实际的修复建议,这样智能体就能继续走下去。
这不是“又一个日志记录器”。这是一条看门狗,它会真正介入:重复的失败调用根本不会被执行。
工作原理
1. 捕获。 插件监听工具结果(tools/result)和智能体错误(agent/error)。一次调用失败——它已经知道了。
2. 记住。 每个错误都会变成一个签名(tool :: category :: message),并带有一个重复计数器。
3. 找出修复方案。 在第二次出现时,会自动写出一条补救措施:文件错误 → “检查路径”,schema 错误 → “校验参数”,等等。如果配置了 LLM,插件会向模型询问精确的修复方案。
4. 给出修正建议。 只说“检查路径”太偷懒了。Mnemosyne 会说明到底要修什么。它发现缺少 M:\ 驱动器?它会提供 D:\,并展示修正后的命令,随时可复制。
5. 阻止重复。 相同的工具、相同的参数——该调用会在派发之前被拦截。智能体得到的是解释和修复方案,而不是又一个错误。
6. 从成功中学习。 一旦智能体终于做对了,这堂课就会翻转为 fixed(“补救措施奏效了”)。
功能列表
| 功能 | 作用 |
|---|---|
| 🎯 自动学习 | 捕获、记忆、分类(fs / schema / parse / timeout / guard / runtime) |
| 🩹 自动补救 | 为每次重复提供一套方案 + 一个具体修复(可直接使用的命令) |
| 🛡️ 守卫 | 重复的失败调用会在运行之前被阻止 |
| ⏱️ 时间窗口 | 只阻止近期的重复(默认 5 分钟) |
| 🕊️ 特赦 | 阻止 3 次后守卫会退让——它不会永远卡死一个工具 |
| 🤖 LLM 补救 | 由模型编写修复方案(当配置了提供方时),否则使用模板 |
| 💾 持久化 | 课程在 Harness 重启后依然保留 |
| 🧹 规则 | /mnemosyne forbid / allow —— 手动封禁 |
| 📊 报告 | /mnemosyne status 和 /mnemosyne report —— 统计数据和热门课程 |
| 🖥️ 实时面板 | Run 视图中的一张卡片:计数器、类别、最近的阻止记录 |
安装
将 src/host.js 和 src/client.js 放入你的项目,并通过 overlay 将它们接入:
cordis.yml
- insert:
- id: mnemosyne
name: './src/host.js'
config: {}
pnpm dsh web --patch ./cordis.yml
面板会显示在 Run 卡片中,/mnemosyne 命令也会在聊天中可用。
命令
/mnemosyne status — 列出经验教训(错误 + 补救措施 + 修复方案)
/mnemosyne report — 摘要:分类、主要教训、拦截、时间线
/mnemosyne forbid — 完全禁用某个工具
/mnemosyne allow — 解除禁用
/mnemosyne clear — 清空记忆
模型还会获得 mnemosyne_status 和 mnemosyne_learn 工具。
实时示例
$ Get-Content "M:\autofix\data.txt"
→ Cannot find drive. A drive with the name 'M' does not exist.
$ Get-Content "M:\autofix\data.txt" # 再次
→ Mnemosyne 记住了这个教训:反复出现 + 补救措施
$ Get-Content "M:\autofix\data.txt" # 第三次
→ ⛔ Mnemosyne:已拦截 — 对 'pwsh' 的同一个失败调用反复出现(2 次)。
建议修复:将命令中的 M:\ 替换为 D:\ — 例如 Get-Content "D:\autofix\data.txt"
智能体复制该修复方案,成功运行 — 该教训以 fixed 状态关闭。
底层原理
- Host(src/host.js)— 大脑:教训注册表、分类器、自动修复、守卫、持久化、命令、RPC。
- Client(src/client.js)— 实时浏览器面板(React,无 JSX)。
- 纯 JavaScript,无需构建步骤 — 一个用于 Harness 的原生 Cordis 插件。
许可证
MIT — 拿去用、随意改、随便分享。如果你在它之上做出了很酷的东西,告诉我们!
为 DeepSeek Harness 打造。 问题、想法、bug — 欢迎提交 Issue。扫码进群