dsh-goodmemory
Automatic cross-session GoodMemory recall and writeback for DeepSeek Harness
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:hjqcan/dsh-goodmemory说明文档
阅读完整 README ↗dsh-goodmemory
为 DeepSeek Harness 提供由 GoodMemory 支撑的自动、持久、跨会话记忆。
插件会在 DSH 模型步骤前召回相关记忆,并在成功完成一个 turn 后写回用户与助手的最终对话。召回内容会成为带明确来源身份的 DSH user/message,因此模型看到的内容可以从 session log 完整重建。
完成的 DSH turn -> GoodMemory remember -> 后续 DSH pre-step
-> GoodMemory recall -> 持久 user/message -> 模型
兼容性
| 包/运行时 | 支持版本 |
|---|---|
@deepseek-ai/dsh | 0.1.0-rc.6 |
goodmemory | 0.7.4 |
| Node.js | ^22.19.0 或 >=24.0.0 |
| Bun,仅 managed 模式 | >=1.3.14 |
DSH 仍处于 RC。本包故意精确锁定 DSH peer;新的 RC 必须重新通过集成测试后才算支持。
安装
从 npm 安装:
dsh plugin --profile web add dsh-goodmemory@0.1.0
dsh --profile web --dump-config
dsh --profile web
本地仓库验证:
pnpm install
pnpm pack
dsh plugin --profile web add ./dsh-goodmemory-0.1.0.tgz
无头模式将 web 换成 headless。bundle 只插入一个 goodmemory row;后续 profile、home 或命令行 patch 可以完整覆盖它的 config。
Managed 模式
默认使用 managed 模式。插件会在随机回环端口启动发布包内的 goodmemory-http-bridge,生成仅存于进程内的 bearer token,启用 recommended retrieval preset,并把 SQLite 存在 $DSH_HOME/goodmemory/memory.sqlite。
先安装 Bun。非默认 Bun 路径可通过 GOODMEMORY_BUN_BINARY 指定。自定义数据库路径时,在 profile 的 cordis.patch.yml 覆盖整个 row:
- id: goodmemory
name: dsh-goodmemory
config:
mode: managed
databasePath: /absolute/path/to/memory.sqlite
正常 HMR 或进程退出时,插件会先等待在途写回,再终止侧车。首版不会自动重启激活后崩溃的侧车;DSH 会继续运行并记录故障,重新加载插件后恢复。
External 模式
External 模式连接已有 GoodMemory HTTP bridge。token 只放环境变量,不写入 DSH 配置:
export GOODMEMORY_HTTP_BRIDGE_TOKEN='replace-with-a-secret'
goodmemory-http-bridge --recommended
- id: goodmemory
name: dsh-goodmemory
config:
mode: external
baseUrl: http://127.0.0.1:8739
tokenEnv: GOODMEMORY_HTTP_BRIDGE_TOKEN