前言¶
DeepSeek Harness(DSH)在每个新会话开始时都会读取用户目录下的 AGENTS.md,用来注入智能体规则与项目约定。文件在磁盘上,但官方界面长期缺少「直接打开编辑」的入口:改规则往往要自己在资源管理器或终端里找 ~/.dsh/AGENTS.md。社区插件 dsh-agents-md-settings(仓库 dongfangxy/dsh-agents-md-settings)在 设置 → 通用 底部增加一行,点选后用系统编辑器打开该文件,不改动 DSH 的读取逻辑,只补 UI 缺口。
这是什么¶
- 定位:DeepSeek Harness 的 cordis bundle,同时包含宿主路由与客户端设置行。
- 维护者:GitHub 用户 dongfangxy(package.json 作者为 Chengxi Zhang)。
- 分类:客户端(在 DSH Web 设置 UI 中注册一行)。
- 解决的问题:会话会读
AGENTS.md,但应用内没有打开该文件的按钮;本插件只负责「打开编辑」,不上传、不遥测、不自动改文件内容。
核心功能¶
设置里的一行入口¶
安装并重启后,在 Settings → General(设置 → 通用) 底部会出现一行,文案为 用记事本打开 / Open in editor。点击后,宿主在本地解析路径 os.homedir()/.dsh/AGENTS.md(即 ~/.dsh/AGENTS.md),并交给系统编辑器打开。
行为边界¶
- 客户端仅向本地 origin 发起
POST /agents-md/open,请求体为空,也不接受调用方传入路径;能打开的文件固定为当前用户自己的AGENTS.md。 - 无网络请求、无遥测;路由不是通用「执行任意命令」接口。
- Windows:直接启动 Notepad;若记事本窗口被最小化或尺寸异常,宿主会尝试还原窗口、设为约 900×640 并提到前台(避免「点了没反应」)。
- macOS / Linux:宿主使用
open/xdg-open,README 标明尚未充分测试;当前主要验证环境为 Windows 11 桌面版。
实现结构(便于排查)¶
| 文件 | 作用 |
|---|---|
cordis.patch.yml |
向 profile 插入名为 agents-md-settings 的行 |
index.js |
宿主:注册 POST /agents-md/open,解析路径并启动编辑器 |
client.js |
客户端:在 settings.general.item 槽位注册设置行 |
package.json |
声明 dsh.bundle.patch 与 dsh.client |
安装与启用¶
本仓库是 bundle,不是 npm 公开发行的独立包名插件;应通过 DSH 的 profile 依赖安装,不要把文件夹手动拷进 node_modules——下次 profile 里执行 pnpm install 可能清掉未登记依赖,而 cordis.patch.yml 里的 insert 行仍指向旧路径,表现为「设置行还在、插件不见了」。
实际使用的 profile 路径以运行中应用的 DSH_PROFILE_DIR 为准;Windows 桌面版默认常见为 %ProgramData%\dsh-data\profiles\desktop。
推荐:作为插件包安装¶
在终端或应用内 设置 → 插件 → Add plugin 使用同一安装源:
dsh plugin add github:dongfangxy/dsh-agents-md-settings
安装器会把依赖写入 <profile>/package.json,并应用 bundle 自带的 patch。完成后 重启 DeepSeek Harness,新行出现在 设置 → 通用 底部。若重启后没有该行,说明 patch 未生效,需检查包是否解析成功、cordis.patch.yml 是否仍有 YAML 语法错误(整层 patch 可能因此无法加载)。
本地开发:link 依赖¶
改源码时,在 <profile>/package.json 增加:
"dependencies": {
"@local/agents-md-settings": "link:<本仓库绝对路径>"
}
然后在 profile 目录执行:
pnpm install --dir <profile>
并在 <profile>/cordis.patch.yml 中按现有缩进添加:
- insert:
- id: agents-md-settings
name: "@local/agents-md-settings"
重启应用后生效。若环境暴露 plugin_manager 工具的 install_bundle,可对 checkout 绝对路径调用以自动完成上述步骤。
卸载¶
在 设置 → 插件 中移除;或手动删除 package.json 中的依赖与 cordis.patch.yml 中的 agents-md-settings insert 行,再 pnpm install --dir <profile> 并重启。
典型用法¶
- 按上文命令安装插件并重启 DSH。
- 打开 设置 → 通用,滚动到底部,点击 用记事本打开 / Open in editor。
- 在系统编辑器中修改
AGENTS.md并保存。 - 新开一个 DSH 会话 后,Harness 才会再次读取该文件;当前会话不会监视外部文件变更,改完不会即时重载。
适用场景与注意¶
适合谁:经常在 DSH 里依赖 AGENTS.md 写规则、却又不想每次手动找路径的智能体开发者;尤其是 Windows 桌面用户。
权限与安全:插件以当前 DSH 进程的用户权限运行,只打开固定路径下的 AGENTS.md;安装前仍建议浏览 GitHub 仓库 源码与 MIT 许可证,确认符合你的环境策略。
局限(来自官方 README):
- 编辑内容仅在 下一个会话 生效。
- 非 Windows 平台行为未充分验证。
- 若设置行缺失,优先检查 profile 依赖与
cordis.patch.yml解析是否正常。