前言¶
在 DeepSeek Harness(DSH)里,如果希望模型持续遵循某些偏好、约束或习惯,一个常见落点是 user-global instruction document:$DSH_HOME/AGENTS.md。没有辅助工具时,这个文件通常只能手动编辑;编辑完成后,还需要依赖 DSH 的 instructions 加载机制将其带入会话。
dsh-habits 把这件事放进 Web settings 的 General 区:在浏览器里编辑一份文本,保存后写入 $DSH_HOME/AGENTS.md,再由 DSH 内置的 instructions loader 注入到后续会话。
插件定位¶
dsh-habits 是一个 DSH 插件,由 DimitriLIAN 维护,许可证为 MIT。
它的核心价值是一句话:
在 Web settings 里维护 My Habits 文本,并把它落到 user-global
AGENTS.md,供每个 DSH session 使用。
它不替代 DSH 的 instructions 机制,而是为 $DSH_HOME/AGENTS.md 增加一个浏览器编辑入口。
核心机制¶
编辑器位置¶
插件在 Web settings 的 General 区添加 My Habits editor。
用户打开:
Settings → General → My habits
然后写入内容并保存。
保存目标¶
保存后的文本写入:
$DSH_HOME/AGENTS.md
如果该文件缺失,读取时视为空白文档,不报错。
会话注入¶
写入的文档由 DSH 内置的 dsh-agent-instructions loader 注入到 session。
这里的关键是:插件负责编辑入口和文件保存,真正的会话注入依赖 DSH 已有的 instructions loader。
REST surface¶
插件在 ctx.webServer 注册两个 REST 接口:
/api2/habits/describe
/api2/habits/update
浏览器端通过 fetch 调用这些接口完成读取和更新。
设置项注册¶
插件在 settings.general.item 槽位注册浏览器设置行,槽位 id 为:
habits
这样 My Habits 编辑器会出现在 Web settings 的 General 区域。
写入约束¶
写入使用:
65536-byte budget
并发编辑通过 SHA-1 expectedRevision conflict refusal 仲裁,不做合并。
也就是说,如果一个编辑器持有文档状态,另一个编辑者在状态不一致时写入,会被拒绝,而不是自动合并。
安装与启用¶
先安装插件。已核实资料给出的安装命令如下:
dsh plugin add --profile web github:<owner>/dsh-habits
这里保持资料中的命令形式。插件仓库地址见文末 GitHub 链接。
安装后,需要重启 web profile,让 bundle layer 加载:
dsh --profile web
然后进入 Web settings:
Settings → General → My habits
写入内容并保存。
典型用法¶
下面是一个可复现的使用流程。
1、安装插件:
dsh plugin add --profile web github:<owner>/dsh-habits
2、重启 web profile:
dsh --profile web
3、打开设置:
Settings → General → My habits
4、写入你的 habits 或 instructions 文本,然后保存。
保存后:
- 新会话会立即使用该内容;
- 已运行会话不会立即改写;
- 已运行会话会在下一次 file touch 或 resume 时刷新。
如果本地需要构建插件,可以执行:
pnpm install
pnpm run build
这里的 build 用于生成 host 和 client 的构建产物。
适用场景与注意¶
适合以下场景:
- 希望把常用偏好、约束、工作习惯集中维护在
$DSH_HOME/AGENTS.md; - 希望从 DSH Web settings 里直接编辑,而不是频繁打开终端修改文件;
- 希望利用 DSH 已有的
dsh-agent-instructionsloader 将 user-global instructions 带入会话。
需要注意:
1、该插件会读写 $DSH_HOME/AGENTS.md,并运行在当前 DSH 进程权限下。安装前应检查源码、行为和许可证。
2、已运行会话不会立即改写。中途保存后,已运行会话通常要等下一次 file touch 或 resume 才刷新。
3、并发编辑不合并。多个编辑器状态不一致时,依赖 expectedRevision conflict refusal 拒绝冲突写入。
4、文档有 65536-byte budget。超过预算的内容不应直接写入。
5、插件声明的 peer dependency 为:
@deepseek-ai/cordis ^4.0.1
结尾¶
dsh-habits 的价值比较具体:它把 user-global AGENTS.md 的编辑入口搬进 DSH Web settings,让习惯和偏好可以通过浏览器维护,并继续由 DSH 内置 loader 注入 session。
已核实资料未提供目录页 URL。GitHub 仓库地址: