dsh-agents-md:在 DSH 设置面板里编辑与生成 AGENTS.md

前言

DeepSeek Harness(DSH)会读取 AGENTS.md 里的规则,决定智能体在当前工作区里怎么执行命令、写代码、遵守约定。规则可以放在全局(对所有项目生效),也可以放在项目根目录(只对该项目生效)。实际使用时,路径不好记、换项目要反复找文件、想让项目「继承全局再加几条」只能手工复制粘贴,写错一次还可能把已有内容盖掉。下面介绍社区插件 dsh-agents-md(维护者 Ytibu,GitHub:Ytibu/dsh-agents-md):在 DSH Web 设置里提供 「AGENTS.md 管理」 入口,读写全局与项目级 AGENTS.md,并可用 AI 按「合并全局规则」或「直接覆盖」生成项目规则。插件不改变 DSH 核心行为,只是给这些文件加可视化编辑界面。

这是什么

dsh-agents-md 是 DSH 客户端类插件(package.json 中声明 dsh.client,平台为 web)。当前版本 1.0.0,许可证 MIT,Node >=20。

开发与测试所依据的 DSH 版本为 0.2.0-rc.2(对应 @deepseek-ai/dsh-desktop / @deepseek-ai/dsh-desktop-runtime 0.2.0-rc.2,分发渠道为 nightly)。插件依赖 DSH 内部契约(非稳定公开 API),换版本后可能失效;换版后应在本机运行 node check-contracts.mjs 核对兼容性。

社区目录页:skillhub.cn/plugins/Ytibu/dsh-agents-md。该目录为独立社区站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,安装第三方插件前请自行查看源码与许可证。插件以当前 DSH 进程权限读写磁盘,写入前会做备份,但仍建议在可信环境使用。

核心功能

1. 编辑全局规则

读写对所有项目生效的全局 AGENTS.md。

  • 路径解析与 DSH 一致:优先 $DSH_HOME/AGENTS.md,未设置 $DSH_HOME 时使用 ~/.dsh/AGENTS.md
  • 设置页会展示解析到的真实路径
  • 文件不存在时,保存会自动创建

2. 编辑项目规则

读写指定工作区根目录下的 AGENTS.md。

  • 从下拉列表选择工作区,编辑其根目录的 AGENTS.md
  • 同样支持自动创建与自动备份

3. 生成项目规则

用自然语言描述期望的规则,由插件调用 AI 生成规范的 AGENTS.md 内容。

生成方式 行为 适用情况
合并全局规则 将输入与全局 AGENTS.md 融合为一份完整规则:保留仍有效的全局要求,重复项合并,冲突时以项目输入为准 项目既要遵守全局约定,又有额外要求
直接覆盖 仅根据输入生成,不参考全局规则 项目完全独立,不继承全局

全局规则不存在或为空时,「合并全局规则」会直接使用你输入的内容,不会报错。

流程概要:

  1. 选择一个工作区
  2. 写下要求(示例):
这个项目必须用 pnpm,不要用 npm
提交信息用中文
改数据库前先写迁移脚本
  1. 选择「合并全局规则」或「直接覆盖」
  2. 先预览,点「确认写入」后才落盘——确认前磁盘不会有改动

写入前会自动备份为 AGENTS.md.bak-<时间戳>;同一毫秒内多次保存也不会互相覆盖。

生效时机

保存之后:

  • 新会话:立即生效
  • 当前会话:在下一次文件操作后由 DSH 动态检测感知新规则(插件本身不做热重载)

安装与启用

DSH 0.2.0-rc.2 尚未随附 dsh CLI,README 给出的方式是向任意 profile(目录形如 $DSH_HOME/profiles/<名字>)手动安装。

第一步:在该 profile 的 package.json 增加依赖,并在 profile 目录执行 pnpm install:

"dsh-agents-md": "file:/绝对路径/to/dsh-agents-md"

第二步:在同一 package.json 的 dsh.profile.bundles 数组中加入插件名(仅加 dependencies 不会装载插件):

"dsh": {
  "profile": {
    "bundles": [
      "@deepseek-ai/dsh-base",
      "@deepseek-ai/dsh-web-app",
      "dsh-agents-md"
    ]
  }
}

完成后重启 dsh web,打开 设置 → 「AGENTS.md 管理」。

README 说明:等 CLI 随版本发布后,也可使用 dsh plugin --profile web add Ytibu/dsh-agents-md;该插件的 package.json 已声明 dsh.bundle.patch 与 dsh.client。

典型用法

只改全局约定:进入「AGENTS.md 管理」,编辑全局规则并保存;新开会话即按新全局规则运行。

为某个仓库单独加规则:在下拉框选中对应工作区,直接编辑项目 AGENTS.md,或切换到生成功能,用大白话写要求,选「合并全局规则」预览满意后再确认写入。

401 / 会话未通过鉴权:接口受 DSH 鉴权保护,非浏览器会话会被拒绝;刷新页面重新登录即可。

设置里看不到入口:常见原因是只加了 dependencies、未加入 bundles,或未重启 dsh web 并刷新页面。

适用场景与注意

适合已经在用 DSH 0.2.0-rc.2、且需要频繁维护全局或项目级 AGENTS.md 的开发者。不适合未安装或未运行对应 nightly 版本的环境;其他 DSH 版本请先跑 node check-contracts.mjs,以其结论为准。

Host 侧通过 ctx.connection.fetch.register 注册读写与生成相关 API(如 /api/agents-md/global、/api/agents-md/project、/api/agents-md/compose 等),走 Connection 的 /api 通道与浏览器鉴权。提 issue 时 README 建议附上 DSH 版本与 node check-contracts.mjs 完整输出,便于区分版本不兼容与代码问题。

结尾

dsh-agents-md 把 AGENTS.md 的查找、编辑、合并生成和备份收进 DSH 设置面板,减少手工维护规则文件的成本。目录页:https://www.skillhub.cn/plugins/Ytibu/dsh-agents-md;源码与详细说明:https://github.com/Ytibu/dsh-agents-md。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜