DeepSeek Harness Hub
← 返回列表

madage/dsh-self-improved

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
✓ 可直接安装

DeepSeek Harness 的长期记忆与自进化插件纯本地。

自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node >=22.16.0);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/8/16 · 已提供中文文档

DeepSeek Harness 长期记忆与自进化插件:L0 捕获 -> L1 记忆提取 -> L2 场景分组 -> L3 用户画像,自动召回注入 + 技能合成,完全本地化。

综合分
35.8
GitHub 分
35.8
用户评分
★ Stars
12
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-self-improved
npm 包 dsh-self-improved 已校验归属本仓库,走 npm 安装最省事
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包dsh-self-improved @ 0.1.1
Node 引擎要求 >=22.16.0 · 基线 Node 22.19 满足
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/18 09:27:56

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-llm@deepseek-ai/dsh-schedule@deepseek-ai/dsh-session@deepseek-ai/dsh-settings@deepseek-ai/dsh-skill@deepseek-ai/dsh-storage-domain@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools@deepseek-ai/schemastery
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-self-improved

DeepSeek Harness 的长期记忆与自进化插件(纯本地)。

状态:M0–M6 全部完成并部署到真实环境(web profile)。设计/调研文档仅本地保留(见 .gitignore)。

这是什么

给 DSH 补上"跨会话记忆 + 自进化"两块缺失能力:

- 记忆:对话后自动提炼要点(事实/偏好/事件/指令)存入本地记忆库;新会话开始前把相关记忆自动注入给模型——AI 从此"记得你"。
- 自进化:记忆会巩固、遗忘、被纠正;能从成功任务中提炼出可复用的操作流程(技能),画像随对话持续演化。

架构对齐 TencentDB Agent Memory 的四层记忆金字塔(L0 对话捕获 → L1 记忆提取 → L2 场景归纳 → L3 用户画像),但全部复用 DSH 自有服务(ctx.llm / session 事件 / agent/pre-step 注入 / dsh-skill / storageDomain),存储默认纯本地 SQLite(FTS5 + sqlite-vec),不上传任何数据。

功能状态(路线图)

| 里程碑 | 内容 | 状态 |
|---|---|---|
| M0 | 探针:事件捕获 / 召回注入 / 工具注册 / 设置命名空间 | ✅ 验证通过(隔离环境 headless 实测) |
| M1 | 记忆库:SQLite + FTS5 + jieba 分词 + sqlite-vec;L0 捕获落盘;记忆/对话搜索工具 | ✅ 验证通过(单元测试 + headless 集成实测) |
| M2 | 提取管线:ctx.llm 提取 L1 + 严格 JSON 校验/兜底 + 去重 + 防重入节流泵 | ✅ 单元测试通过;真实环境已运行 |
| M3 | 召回注入:agent/pre-step 自动注入 + 关键词/向量/混合检索(RRF) | ✅ 单元测试通过 + 端到端实测 |
| M4 | 自进化:L2/L3 归纳(场景+画像版本化)、遗忘衰减、纠正/遗忘工具、技能合成→dsh-skill | ✅ 单元测试通过;真实环境已产出合成技能 |
| M5 | UI/运维:设置面板(自动渲染)+ 随时开关热应用 + /memory 命令 + 记忆浏览器 | ✅ 完成并部署真实 Web 环境 |
| M6 | 成长治理(上限/清理)+ 调度模型(夜间回顾/免费维护/启动补跑) | ✅ 完成:治理上限、夜间回顾(默认 22:00)、15 分钟轮仅免费维护、总开关关闭即停全部定时器 |

安装

0.1.1 起:包声明了 dsh.bundle,dsh plugin add / 插件市场一键安装会自动装配(dsh 自动注册为 profile layer),无需再手动改 cordis.patch.yml。装完重启 dsh 即可。

方式一:npm(推荐,市场一键安装同此)

dsh plugin --profile web add dsh-self-improved
或插件市场里搜到 dsh-self-improved 点一键安装
装完重启 dsh 即生效(自动装配,无需手动挂载)

方式二:从 GitHub 安装(源码快照,prepare 自动构建)

1) 一次性环境准备(若报 store 不一致 / 构建被拦截):
- store 指回与 node_modules 一致的目录:
pnpm config set store-dir E:\dshPro\.pnpm-store --global   # 或 profile 下 .npmrc 写 store-dir=...
- 允许 git 安装的包运行 prepare 构建(pnpm >= 10 默认禁止),在 pnpm-workspace.yaml 加:
allowBuilds:
dsh-self-improved: true

2) 安装(dsh plugin 转发给 profile 的 pnpm;github:owner/repo 拉取仓库快照并自动跑 prepare=tsc 构建 lib/)
dsh plugin --profile web add github:madage/dsh-self-improved

3) 重启 dsh 生效(0.1.1 起自动装配;若仍不加载,按下方"手动挂载"补 insert)

手动挂载(仅旧版本或特殊布局需要):在 $DSH_HOME/profiles/web/cordis.patch.yml 的 insert 列表加:
- insert:
- id: dsh-self-improved
name: dsh-self-improved

方式三:本地开发(file: link)

构建后复制 lib/ + client.js + package.json 到
$DSH_HOME/profiles/web/node_modules/dsh-self-improved/
package.json dependencies 加 "dsh-self-improved": "file:node_modules/dsh-self-improved"
cordis.patch.yml 加 insert(同上)→ 重启

⚠️ 安装须知:peerDependencies 双实例坑(已定位并实测修复)

症状:安装后新建会话正常,但 resume 旧会话报错——deployment:persona already registered,并提示 "register through that agent's agent.ctx instead"。

根因(不是插件代码问题):pnpm 默认 autoInstallPeers 会把插件的 @deepseek-ai/ peerDependencies 在 profile 的 node_modules 里装成物理副本,与 dsh 主程序内嵌的同名包(如 E:\npm-global\node_modules\@deepseek-ai\dsh\node_modules\@deepseek-ai\dsh-scope)成为两个独立模块实例。dsh 的作用域(preset / persona 分层)依赖 Symbol("dsh.scope") 做身份绑定,双实例导致 persona 注册掉进全局层,撞上 host 层已注册的 deployment:persona → resume 失败;新建会话时全局层尚未被占位、第一次注册恰好成功,所以不报错。

修复(已实测):
1. 把 profile 里多余的 @deepseek-ai/ 物理副本替换为指向 dsh 主程序内嵌包的 symlink(dsh 官方自愈布局 $DSH_HOME/profiles/node_modules);
2. profile 的 .npmrc 设 auto-install-peers=false(或在 pnpm-workspace.yaml 关掉 autoInstallPeers),避免 pnpm 再装物理副本。

给插件使用者的提醒(发布时保留):
dsh-self-improved 的 peerDependencies 会在 profile 下自动安装物理副本,需配合 dsh 自愈 symlink 布局使用,或将 profile 的 .npmrc 设 auto-install-peers=false。

⚠️ 安装须知:duplicate loader entry id(bundle 插件重复装配,启动即崩)

症状:dsh 启动直接失败(窗口一闪即关 / 无法启动),dsh web --dump-config 可见同一 id 出现两次。

根因:声明 dsh.bundle 的插件(0.1.1 起本插件、dsh-plugin-marketplace 等)会自动加入 dsh.profile.bundles,其自带 cordis.patch.yml 自动 insert 一个 entry;若 profile 层的 cordis.patch.yml 里还手动 insert 了同一个 id → loader 启动时抛 duplicate loader entry id 崩溃。

修复(已实测):把 profile 层 cordis.patch.yml 恢复为 [](空)——bundle 插件的装配全部交给 dsh.profile.bundles,用户层不要再手动 insert 任何 bundle 插件的条目。

排查口诀:dsh 启动闪退 → 先跑 dsh --profile web --dump-config,数每个 entry id 出现次数,>1 就是这里的问题。

配置(完整见设置页)

$DSH_HOME/settings.yaml
dsh-self-improved:
enabled: true
modules:
capture: true
extract: true
consolidate: true
evolve: true
recall: true
tools: true
review:
enabled: true      # 夜间回顾(每日一次完整进化)
time: "22:00"      # 可改 HH:MM

说明:
- 总开关关闭 = 插件彻底休眠:停止全部后台定时器(15 分钟维护轮 / 夜间回顾 / 启动补跑),注销 /memory 命令与记忆工具;已存记忆数据保留,重新开启即恢复。
- 调度模型:15 分钟定时轮只做「提取 + 免费维护」(衰减/治理,不调 LLM);完整进化(场景/画像/技能)交给夜间回顾(默认 22:00)、启动 60s 补跑与手动 /memory evolve。
- /memory 命令零 LLM:直接查本地记忆库,建议用命令菜单(敲 /)触发;命令声明了 input,带参输入也会被命令系统接管,不走模型。
- 记忆浏览器(设置页「自进化记忆」→「记忆」Tab)可查看/筛选/纠正/遗忘记忆、画像、场景与合成技能。

合规声明

- 本插件架构启发自 TencentDB Agent Memory(MIT 协议),为自研独立实现,与腾讯无隶属关系、非官方出品。
- 本插件与全部依赖组件均为 MIT 系宽松协议,纯本地运行。

致谢

本项目在架构与设计上参考了以下开源项目,衷心感谢它们的作者与社区:

- TencentDB Agent Memory(腾讯云)—— 四层记忆金字塔(L0 对话捕获 → L1 记忆提取 → L2 场景归纳 → L3 用户画像)与记忆管理思想,是本插件记忆管线的直接启发来源;
- self-improving-agent(作者 pskoett)—— OpenClaw 生态中的自我进化技能:从经验中提炼教训、纠正与可复用流程;本插件的自进化模块(记忆巩固 / 遗忘 / 纠正 + 技能合成)以此为设计灵感。

再次感谢以上项目与作者的开源贡献。

文档

- README.md —— English version
- README.zh.md —— 中文版说明(本文件)
- docs/ 目录(安装/验证清单、测试指南、设计文档、DSH 源码调研)仅本地保留,.gitignore 已排除,不进版本库

单元测试:node scripts/test-storage.mjs / test-extract.mjs / test-recall.mjs / test-evolve.mjs / test-commands.mjs(全部 PASS)。

License

本项目采用 MIT License(MIT 系宽松许可证),完整条款见 LICENSE。

MIT 许可的核心内容:

- 授权:任何人可免费获得本软件及关联文档("软件")的副本,并被授予使用、复制、修改、合并、发布、分发、再许可和/或出售本软件的权利;
- 条件:软件的所有副本或实质性部分必须保留上述版权声明与本许可声明;
- 免责:软件按"现状"提供,不附带任何明示或暗示的担保(包括但不限于适销性、特定用途适用性及不侵权);在任何情况下,作者或版权持有人均不对因使用软件产生的任何索赔、损害或其他责任负责。

Copyright (c) 2026 mashao。package.json 中 license 字段为 MIT。

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

💬 加入 DPharness 群聊

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

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群