前言¶
DeepSeek Harness(dsh)把模型、工具、技能、会话、沙箱和 UI 都做成插件,官方口号是「一切皆插件」:开发者不必改核心源码,就能在配置层替换或扩展能力。官方站点把产品定位为开发者预览版,源码在 deepseek-ai/deepseek-harness。
预览版自带的会话是「这次对话」的工作记忆。换一个项目、隔几天再开新会话,模型往往记不住你是谁、这个仓库的部署端口是多少、上周为什么否掉了某套架构。把约定写进 AGENTS.md 能救急,但跨会话、跨分支、跨设备的长期事实,仍然要靠人反复口述。
社区目录 DeepSeek Harness 插件库 把这类缺口交给第三方插件。该站点是独立社区索引,与 DeepSeek / 幻方没有官方从属关系,不能当成官方应用商店。目录「记忆」分类里的 dsh-memory-evolve,就是专门做跨会话长期记忆和后台自我进化的一款。
本文按目录详情页、GitHub 仓库 README、README-详细说明.md 和 package.json 核对后整理:它是什么、记哪些东西、怎么装、日常怎么用。
这是什么¶
dsh-memory-evolve 是一款 DeepSeek Harness 记忆插件,由 GitHub 用户 csyangwen 维护,仓库为 csyangwen/dsh-memory-evolve。package.json 写明版本 0.1.0,许可证 MIT,主要语言 JavaScript;客户端注入声明面向 web 平台。截至 2026 年 8 月 17 日,GitHub API 显示该仓库有 127 颗星。社区目录于 2026-08-15 收录,分类为「记忆」。
仓库自述的定位是:纯插件实现「跨会话长期记忆 + 后台自我进化」,不改 dsh 核心、不增加运行时 npm 依赖,卸载后效果一并清掉。包内带 cordis.patch.yml(dsh.bundle.patch),dsh plugin add 之后由 host 自动注册。
它要解决的问题很具体:把用户偏好、全局惯例、项目决策、项目进展和每日日志分成五条轨存到本地,按工作目录和 git 分支过滤后再注入上下文;反复踩过的流程可以沉淀成技能;口述的待办可以落到四条轨。写入会改变模型下一轮行为的内容,默认先进待确认队列——文档原话是「AI 只提议,你确认」。
核心功能¶
五轨记忆¶
记忆文件默认放在 ~/.dsh/memories/。详细说明里的分层如下:
| 层 | 文件角色 | 注入方式 | 写入 |
|---|---|---|---|
用户档案(user) |
USER.md,你是谁、偏好、沟通习惯 |
每会话注入 | 建议确认后入库 |
全局事实(memory) |
MEMORY.md,环境、工具、惯例 |
每会话注入 | 建议确认后入库 |
项目关键记忆(key) |
各工作目录下的 KEY.md,约定、决策、架构、踩坑 |
注入当前项目会话,可按 git 分支过滤 | 模型写入需确认;记忆 Tab 可手动直写 |
项目日志(project) |
各工作目录下的 MEMORY.md |
不注入,按需读取 | 每回合收尾写入一条进展 |
每日日志(daily) |
daily/YYYY-MM-DD.md |
不注入,按需读取 | 每回合收尾写入一条进展 |
只把低频变化的轨(用户档案、全局事实、项目关键记忆)注入快照,是为了少破坏前缀缓存。项目日志和每日日志每轮都会追加,注入会让尾部快照一直变,所以改成按需用 memory 工具读取。
日常用法和 README 场景指南一致:正常对话即可;重要事实可以说「记一下:这个项目的部署端口是 8080」,条目进待确认队列,你点采纳后才生效;过几天换会话,直接问「查一下记忆,上次我们定下的架构决策是什么」。条目可以归档,归档后不再注入,随时能转回主轨。
git 分支感知¶
同一工作目录的不同分支,约定经常不一样。插件用 git branch --show-current 识别当前分支(与 dsh TUI 同款)。非 git 仓库、获取失败或 detached HEAD 时,分支相关行为退化为「全部」。
项目关键记忆可以带 [branch:main,dev] 这类范围标记;无标记表示所有分支可见。注入时只放入无标记条目,以及覆盖当前分支的条目,并且把当前分支名一并写进快照。项目日志和每日日志会由程序自动打上 [git 分支名],模型手写的前缀会被剥掉。开关是 keyBranchFilter,默认打开。
确认制与回合内审查¶
全局记忆、项目关键记忆、模型自建待办和新技能,默认都进 SUGGESTIONS.jsonl 待确认队列。可以在会话页记忆 Tab 里采纳或拒绝,也可以用命令:
/memory_review
/memory_review approve 1 3
/memory_review reject 2
/memory_review approve-all
回合内自我审查默认关闭(reviewEnabled: false)。打开后,插件按用户回合计数,到达 reviewInterval(配置表示例为 10,详细说明默认值为 5)时标记到期;主模型在本回合内静默执行:给全局记忆提建议、按规则创建或优化技能,再调用 memory_review_status complete 复位。审查不派生子代理,依赖模型是否遵守快照里的提示;弱遵循模型可能漏执行。到期计数只增不清,漏一轮下一轮仍是到期,只有 complete 才会复位。
reviewMode 默认 suggest。设成 auto 会让审查直接写全局轨,文档提醒注意提示注入风险。
技能自我进化与技能管理器¶
审查可以把反复踩坑的流程写成 ~/.agents/skills 下的技能。优化已有技能前必须先 read(read-before-write);新建技能默认进待确认队列,因为技能会注入所有会话,文档要求创建保持克制。
原独立插件 dsh-skills-manager / dsh-skill-browser 的管理界面已合并进来:记忆 Tab 的「技能管理」可按来源浏览、搜索、禁用或启用技能,并添加自定义技能目录。首次启动会尝试从旧插件的 state.json 导入禁用列表。不要和旧插件同时启用,两套禁用机制会对同一技能重复处理;旧客户端在较新的 dsh 上还会因已移除的 ui-slots.deferRegistration 导致 Web 整页加载失败。升级顺序是:先卸旧插件,再装本插件。
四轨待办¶
dtodo 工具和「待办」子 Tab 提供四条轨:生活、工作、本项目(按工作目录隔离)、每日。每条可带四象限(重要 × 紧急)、截止日期和状态。你口述的待办直接写入;模型自己发现的事项走建议队列。待办内容永不注入上下文,只靠收尾时的固定提示让模型检查到期项。
默认可选的扩展能力¶
README 把插件概括成「让 AI 记住你、替你管、替你做、互相配合做」。后半段能力大多默认关闭,不占模型工具清单,需要时在「Memory Evolve 设置」里打开:
- 记忆同步:项目记忆经 Git 对账,可存在代码仓库的专属分支,或填一个共享记忆仓库做隔离;未打开的项目保持纯本地。
- COI 调度:把任务派给 kimi / codex / grok / hermes 等外部 CLI,后台执行、不卡主进程;完成摘要可写回项目日志和每日日志。
- 会话编排与会话广播:主会话可以
spawn/wake其他 dsh 会话,并用房间或一对一广播协作。唤醒只作用于本进程内的会话;主会话所在 dsh 进程关掉后,催活链会停。 - 会话搜索:当前支持检索本机 Codex 历史(
~/.codex/sessions等明文 JSONL);dsh 会话暂不支持。 - 提示词管理器、无限画板、会话评审、会话书签、Web UI 设置、渠道通知:同样是独立开关,默认关。
这些模块和记忆共用一个插件包,但不是装上就会全部生效。
安装与启用¶
社区目录页给出的安装命令是:
dsh plugin add github:csyangwen/dsh-memory-evolve
仓库 README 以 web profile 为例,推荐写成:
dsh plugin --profile web add github:csyangwen/dsh-memory-evolve
安装后重启 dsh web。目录页同时说明:如需可复现安装,可固定 commit 哈希:
dsh plugin add github:csyangwen/dsh-memory-evolve#<commit>
不要再往 ~/.dsh/profiles/web/cordis.patch.yml 里手动 insert 同一 id。bundle patch 已经注册过一次,重复 insert 会让加载器报 duplicate loader entry id,进程起不来。若以前按旧文档手动 insert 过,升级时删掉那一行。
需要打开回合内审查时,在 profile 的 cordis.patch.yml 用 id 覆盖(顶层写法,不是 insert):
- id: dsh-memory-evolve
config:
reviewEnabled: true
reviewInterval: 10
插件异常导致 dsh 无法启动时,可以先禁用、不必卸载:
- id: dsh-memory-evolve
disabled: true
卸载:
dsh plugin --profile web remove dsh-memory-evolve
典型用法¶
装好并重启后,打开任意会话,顶部会多出一排能力标签。核心三个是「记忆」「技能」「待办」;其余标签随对应模块开关出现。
- 正常开发即可。每回合收尾时,模型应向项目日志和每日日志各写一条进展;出现长期约定、决策、架构或踩坑时,再向项目关键记忆提交建议。
- 发现值得跨会话保留的事实,直接说「记一下:……」。到记忆 Tab 的待确认列表里采纳或拒绝。
- 换会话或隔天继续时,先让它「查一下记忆」,而不是把背景再讲一遍。
- 记忆变多后,把不再需要自动注入的条目归档。
- 打开「Memory Evolve 设置 → 配置」,按需打开审查、本地文件搜索、记忆同步或 COI,而不是一次全开。
本地文件搜索默认不注册工具。可用设置页切换,或:
/memory_evolve_search_files on
适用场景与注意事项¶
适合已经在 dsh Web 里长时间做项目开发、经常换会话或并行多个仓库的人:需要模型记住偏好和项目决策,而不是每次从零介绍。多设备共享记忆、多会话协作、把重活派给外部 CLI,是同一插件上的可选项,不是入门必开项。
使用前注意:
- 权限。目录页写明:插件以当前 dsh 进程的权限运行,安装时可能执行代码。安装前应检查源代码仓库和许可证。
- 社区来源。插件库是社区站点,不是 DeepSeek 官方应用商店;仓库维护者是 csyangwen,不是幻方官方团队。
- 默认关闭的功能很多。审查、COI、广播、会话编排、会话搜索、提示词、画板、会话评审等默认关。打开一项就会多注册一批工具,占模型工具列表。
- 与旧技能管理插件冲突。先卸载
dsh-skills-manager/dsh-skill-browser,再装本插件。 - 审查依赖指令遵循。每回合写日志和到期审查都靠快照提示驱动;弱遵循模型可能跳过。文档建议可调低
reviewInterval,或检查所用模型。 - 缓存是尽力而为。dsh 的运行时上下文是只追加的 user-role 尾部快照,记忆变更会追加新尾部,旧快照仍占位。前缀(系统指令、工具说明、
AGENTS.md、此前对话)仍可命中缓存。这是核心 context 机制的限制,插件替换不了历史快照。 - 数据在本地。记忆、待办、提示词等默认在
~/.dsh/memories/。若打开记忆同步并把远端指到公开代码仓库,文档写明「公开仓库 = 记忆公开」;需要隔离时应使用单独的共享记忆仓库。
小结¶
dsh-memory-evolve 把跨会话记忆做成 dsh 的标准插件:五轨分层、分支过滤、确认制写入,再附带技能沉淀和待办。协作、调度、画板这些能力在同一仓库里,但默认关掉,避免一装上就撑满工具列表。
目录页:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-memory-evolve/
GitHub:https://github.com/csyangwen/dsh-memory-evolve