前言¶
在 DeepSeek Harness(DSH)里,项目说明文件 AGENTS.md 常见做法是注入到用户消息里,模型会在 user turn 里读到这些指令。对需要长期、稳定遵守仓库规范的场景,把同一套文字和用户对话混在一起,既占上下文,也和「系统级约束」的语义不太一致。
维护者 YukimuraSol 的插件 dsh-agents-section 换了一条路:把 AGENTS.md 注册成 system prompt 里的独立 section,每次组装 prompt 时从磁盘重新读取,而不是当作 user message 粘贴进去。下面介绍它的行为、安装方式和配置要点。
这是什么¶
dsh-agents-section 是面向 DeepSeek Harness 的社区插件,在 SkillHub 目录中归类为「模型推理」。当前 GitHub 仓库版本为 0.1.1,许可证 MIT。
一句话定位:在已挂载 dsh-system-prompt 的 DSH profile 上,把配置中的说明文件渲染为具名 system section,并按 session 工作目录解析路径。
核心功能¶
独立 section,而非 user 注入¶
说明文本出现在 system prompt 下单独的名称与 order 位置,不嵌在用户轮次里。默认 section 名为 agents:instructions,默认排序 400(数值越小越靠前)。
每次组装都重读磁盘¶
section 正文由函数提供,因此每次 prompt 组装都会重新读文件。改完 AGENTS.md 后下一轮对话即可生效,无需重启实例,也无需手动清缓存。
按 session 解析相对路径¶
同一份插件配置可服务多个工作区。绝对路径条目对所有 session 生效,适合机器级通用规则。bare 文件名(如 AGENTS.md)相对该 session 的工作目录解析:从工作目录向上走到含 .git 的目录(视为项目根),再沿路径向下,可能在多个层级各渲染一份文件。例如在 repo/packages/api 下会话时,可能同时得到 repo/AGENTS.md 与 repo/packages/api/AGENTS.md;在兄弟目录的另一个工作区则不会误读本仓库文件。
无 .git 的工作区仍可用:查找链退化为仅当前 session 目录。缺失、不可读或空文件会被静默跳过;每个成功渲染的块会带上路径前缀,便于模型区分多文件内容。若当前 session 没有适用的配置文件,该 section 为空,不额外占位。
安装与启用¶
插件 Host 部分在实例启动时加载,安装后需要重启 DSH 实例。
Web UI:Settings → Plugins → Add plugin,粘贴:
https://github.com/YukimuraSol/dsh-agents-section
CLI:
dsh plugin --profile <your-profile> add https://github.com/YukimuraSol/dsh-agents-section
将 <your-profile> 换成实际 profile 名称。
配置¶
在 Settings → Plugins 中可 live-edit。插件对应配置行 id 为 agents-section,README 给出的示例:
- insert:
- id: agents-section
name: dsh-agents-section
config:
order: 400
sectionName: agents:instructions
files:
- AGENTS.md
| 选项 | 默认值 | 含义 |
|---|---|---|
order |
400 |
section 在组装后 system prompt 中的位置,越小越靠前 |
sectionName |
agents:instructions |
注册到 system prompt 下的 section 名称 |
files |
[] |
要渲染的说明文件列表,按顺序处理 |
files 中每一项可以是绝对路径(全 session 共享),或 bare 文件名(按上文规则 per-session 解析)。
典型用法¶
- 确认 profile 已挂载 dsh-system-prompt(插件 peer 依赖
@deepseek-ai/dsh-system-prompt)。 - 按上文命令安装插件并重启实例。
- 在仓库根或子目录放置
AGENTS.md,在配置里把files设为- AGENTS.md(或按需加入绝对路径的全局说明文件)。 - 若完全依赖本 section 承载项目指令,应关闭 DSH 内置的 user-message 注入,避免重复:将
agent-instructions相关行的maxBytes设为0(README Notes 中的说明)。
环境要求:Node 20+;@deepseek-ai/* 由 DSH 安装提供,插件声明为 optional peer,不会重复安装第二份。
适用场景与注意¶
适合:已在 DSH 中使用 AGENTS.md 或同类说明文件,希望指令以 system section 形式稳定呈现、且改文件即生效的开发者。
注意:
- 插件与 DSH 进程同权限运行;安装前请自行查看 GitHub 源码 与 MIT 许可证。
- 项目根判定目前仅认
.git目录; monorepo 子路径行为取决于自根到 cwd 的路径链,需结合自己的目录结构验证。 - 社区目录 SkillHub 插件页 与 DeepSeek / 幻方无官方从属关系,DSH 生态以「一切皆插件」为思路,本插件是其中一条可选能力。
结尾¶
dsh-agents-section 解决的是「项目指令进 user 消息」与「希望指令在 system 层、且随磁盘更新」之间的落差:独立 section、每次组装重读、按 session 解析相对路径。需要细节与 issue 时见仓库 README。
- 目录页:https://www.skillhub.cn/plugins/YukimuraSol/dsh-agents-section
- GitHub:https://github.com/YukimuraSol/dsh-agents-section