🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

ai-fu-cn/dsh-plugin-memos-code-retrospect

DeepSeek Harnessspec-screened扫描:低风险在 GitHub 查看 ↗
未验证

复刻 mneme 编码对话复盘蒸馏业务逻辑的 DSHDeepSeek-Harness / Cordis插件。

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/3 · 已提供中文文档
综合分
28.7
GitHub 分
28.7
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add ai-fu-cn/dsh-plugin-memos-code-retrospect
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:需留意实装验证未通过
是什么
dsh 原生插件 · chat
装得上吗
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 22 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

⚠︎ 实装验证未通过(dependency_conflict · 2026/9/25) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
数据截至 2026/9/23(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-llm@deepseek-ai/schemastery
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-memos-code-retrospect

复刻 mneme 编码对话复盘蒸馏业务逻辑的 DSH(DeepSeek-Harness / Cordis)插件。
不引入 mneme 二进制、不创建独立数据库;所有记忆存储、向量检索、归档淘汰、记忆生命周期全部复用 MemOS 记忆底座。

version
license
tests

业务目标

解决 AI 编码任务重复踩坑、遗忘被否决实现方案、丢失项目工程约束的问题;支持论文消融实验(插件开启/关闭对照),可演进为生产可用组件。

版本说明

| 版本 | 状态 | 能力 |
| --- | --- | --- |
| v1 最小科研版 | 已实现 | 插件脚手架 + turn/end 蒸馏 + agent/pre-step 加权召回 + 标签写入 + 基础验证;允许短板:JSON 解析失败直接丢弃、无去重、无价值过滤、日志极简 |
| v2 健壮版 | 已实现(当前) | v1 全部能力 + LLM JSON 解析降级重试(≤1 次)、写入前相似度去重(dedupeThreshold 0.82)、低价值内容过滤、完整日志埋点、边界截断保护、单元测试 |
| 可选扩展 | 预留 | TencentDB-Agent-Memory 同步(sync_to_tencentdb),默认关闭;失败只打日志不阻塞主链路(MemOS 本地插件已内置 captureToTencentMemory 现成底座,扩展时直接复用) |

核心业务流程

写入链路:回合结束蒸馏(turn/end)

一轮完整交互(用户输入 → DSH 调度 → Worker 执行 → 返回结果)结束后触发:

1. 从 session.events 过滤本回合事件(用户消息、助手思考/回答、工具调用与结果、代码执行),组装完整对话上下文;
2. 超长上下文按 max_distill_context 截断,避免蒸馏 Prompt 溢出;
3. 调用 LLM 蒸馏,输出固定格式 JSON,提取三类实体:
- rejected_solution:被否决/废弃的实现方案
- pitfall:调试踩坑记录、报错、问题根因
- constraint:项目工程约束、架构约定、编码规范
4. 价值过滤 → 去重比对(写入前检索相似度)→ 打标签 type:rejected_solution 调用 MemOS 接口写入记忆;
5. 业务特性:本轮蒸馏产出的记忆,本轮会话不可用,下一轮会话才会被召回。

读取链路:推理前加权召回(agent/pre-step)

Agent 每一轮大模型推理执行之前触发:

1. 判断当前会话任务是否为编码类任务(关键词识别,codingKeywords 可配);
2. 编码任务:调用 MemOS 检索接口,对命中 type:rejected_solution 标签的记忆按 boostFactor 提升权重,重排后注入提示词,再执行 LLM 推理;
3. 非编码任务(量化、GUI 操作等):不注入 type:rejected_solution 记忆,防止编码记忆对其他业务造成噪声污染。

能力复用说明

- 不实现 mneme 的 hot/warm/cold 冷热分层;
- 不实现 HNSW 向量索引;
- 向量检索、记忆合并、归档、淘汰、软删除全部交给 MemOS;
- 插件内部不保存任何记忆数据,持久化全部调用 MemOS 接口;
- 插件自持独立 MemoryCore 实例(autoRecovery:false、initLogging:false),与主 memos-local-memory 插件共用同一 home/config(同一 SQLite 库与向量文件),不抢占恢复任务与日志通道。

安装

方式 A:从 GitHub 仓库安装(社区公测推荐)

dsh plugin --profile web install https://github.com//dsh-plugin-memos-code-retrospect

方式 B:本地目录安装(开发调试)

把仓库克隆/拷贝到 /plugins/dsh-plugin-memos-code-retrospect/,再按下方「注册到 DSH」配置 cordis.patch.yml。

依赖前提

- 已安装 DSH(DeepSeek Harness)并初始化 web profile;
- 已安装 MemOS 本地插件(@memtensor/memos-local-plugin),本插件所有记忆读写依赖其接口;
- 蒸馏 LLM 可经由 DSH LlmRuntime 路由(或显式配置 distillModel);集成测试需要本地 ollama(qwen3:14b 或同类指令模型);
- Node.js >= 18。

部署说明

1. 文件位置

/plugins/dsh-plugin-memos-code-retrospect/
├── package.json
├── dist\
│   └── index.js          # v2 健壮版主实现
├── test\
│   ├── retrospect.test.mjs   # 单元测试(14 用例)
│   └── integration.mjs       # 集成测试(真实 MemOS + LLM,参数化)
└── README.md

2. 依赖链接

插件通过 junction 复用 DSH 全局安装内的 @deepseek-ai/dsh-llm(profile node_modules 顶层可能未暴露该包):

$plugin = "\plugins\dsh-plugin-memos-code-retrospect"
$nm = "$plugin\node_modules\@deepseek-ai"
New-Item -ItemType Directory -Force -Path $nm | Out-Nullpowershell
New-Item -ItemType Junction -Path "$nm\dsh-llm" -Target "\node_modules\@deepseek-ai\dsh\node_modules\@deepseek-ai\dsh-llm" | Out-Null

schemastery 与 @memtensor/memos-local-plugin 通常由 profile node_modules 顶层解析;如缺失,同样以 junction 方式链接。

3. 注册到 DSH

向 profile 的 cordis.patch.yml 追加:
yaml
- insert:
- id: dsh-plugin-memos-code-retrospect
name: './plugins/dsh-plugin-memos-code-retrospect/dist/index.js'
config:
enabled: true
profileId: default
recallEnabled: true
captureEnabled: true
boostFactor: 2
recallTopK: 6
contextMaxChars: 3000
maxDistillContextChars: 8192
distillMaxTokens: 2048
distillRetries: 1
dedupeEnabled: true
dedupeThreshold: 0.82
valueFilterEnabled: true
sync_to_tencentdb: false

然后重启 DSH:
powershell
Stop-Process -Name dsh -Force
dsh web --port 3080

启动后可通过 dsh --profile web --dump-config 确认插件进入组合树;运行日志中出现 [retrospect] 前缀即加载成功。

4. 单元测试
powershell
cd
npm test
或直接
node test/retrospect.test.mjs

预期输出:14 passed, 0 failed(覆盖:JSON 解析、价值过滤、编码任务识别、相似度、JSON 解析失败重试、去重命中跳过写入、编码失败蒸馏写入等链路)。

5. 集成测试(真实闭环)

需要本地 ollama 与 qwen3:14b 模型,验证「蒸馏写入 → 下一轮加权召回注入」闭环:
powershell
cd
$env:MEMOS_IT_HOME = "$env:TEMP\memos-it-data"   # 可选,默认仓库下 .it-data/
$env:OLLAMA_BASE = "http://127.0.0.1:11434"     # 可选,默认同上
node test/integration.mjs

预期输出:4 passed, 0 failed。测试使用独立临时记忆库,不影响生产数据。

配置说明

| 配置项 | 默认 | 说明 |
| --- | --- | --- |
| enabled | true | 插件总开关,一键启停(对照实验用) |
| home | "" | MemOS 数据目录(空则用 resolveHome 默认值,与主插件一致) |
| profileId | "default" | 记忆命名空间 profile |
| recallEnabled | true | 读取链路(pre-step 加权检索)开关 |
| recallTimeoutMs | 3000 | 检索 deadline |
| recallTopK | 6 | 最终注入条数 |
| boostFactor | 2 | type:rejected_solution 命中 score 倍率(enable_weight) |
| contextMaxChars | 3000 |  最大长度 |
| codingKeywords | 内置词表 | 编码任务识别关键词 |
| captureEnabled | true | 写入链路(turn/end 蒸馏)开关 |
| distillModel | "" | 蒸馏 LLM 模型(distill_llm),留空跟随会话路由 |
| distillMaxTokens | 2048 | 蒸馏输出上限 |
| distillTimeoutMs | 60000 | 蒸馏超时 |
| distillMinChars | 300 | 本轮对话小于该长度跳过蒸馏 |
| maxDistillContextChars | 8192 | 蒸馏最大上下文长度(max_distill_context),超长自动截断 |
| distillRetries | 1 | JSON 解析失败重试次数(v2 降级策略) |
| dedupeEnabled | true | 写入前去重开关(v2) |
| dedupeThreshold | 0.82 | 相似度阈值,超过则视为重复跳过写入 |
| valueFilterEnabled | true | 低价值内容过滤开关(v2) |
| sync_to_tencentdb | false | TencentDB-Agent-Memory 可选同步(预留,默认关闭) |

验证闭环

构造多轮编码失败场景,验证「踩坑 → 蒸馏写入 → 下一轮召回生效」完整闭环:

1. 编码任务中报错/否决方案,turn/end 后日志出现 [retrospect] distilled trace=...;
2. MemOS viewer 检索 tags: type:rejected_solution 应看到新 trace;
3. 下一轮发起相关编码任务,pre-step 日志出现 injected rejected_solution recall,模型上下文包含 。

已知限制

- 蒸馏质量依赖所选 LLM 的指令跟随能力;qwen3 系默认思考模式会占用输出 token,建议 distillMaxTokens >= 2048 或关闭 think;
- 记忆写入发生在 turn/end,本轮写入的记忆下一轮才可被召回(有意设计,非缺陷);
- 非编码任务默认不注入 type:rejected_solution 记忆,防止噪声污染(codingKeywords 可配);
- sync_to_tencentdb 为预留扩展,本次未实现;
- MemOS 不可用时插件 fail-open(可加载但记忆读写失效)。

约束与注意事项

- 插件只做逻辑处理,所有持久化操作全部调用 MemOS 接口,内部不保存任何记忆数据;
- 禁止拉起 mneme 子进程,禁止读写 mneme 数据库;
- 任务类型识别(编码/非编码)在插件内部实现,用于控制 rejected_solution 标签权重。

贡献

欢迎提交 Issue / PR。开发约定:

- 修改 dist/index.js 后同步跑 node test/retrospect.test.mjs,保持 14/14 通过;
- 涉及记忆读写行为变更时,补充/更新 test/integration.mjs 的闭环用例。

License

MIT
(内容由AI生成,仅供参考)
(内容由AI生成,仅供参考)

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群