前言¶
在 DSH 里做长期项目时,工作区里往往会常驻几份「宪法级」 Markdown:例如 SOUL.md、USER.md、IDENTITY.md,有时还有 AGENTS.md。新开会话时,模型需要知道这些文件存在、路径在哪、以及开头约定了什么;但几份文件合计体量很大(资料中提及约 2.4MB),不可能整份塞进上下文。
DeepSeek Harness 原生有 instructionFileCandidates 一类机制,渲染器按整份文件做预算:超预算会从头丢弃候选,且往往只允许截断最后一份。把 SOUL、USER、IDENTITY 与 AGENTS 一起塞进候选表时,在约 2.4MB 总量下可能出现丢掉 AGENTS/SOUL/USER、只留截断 IDENTITY 的结果,与「每份常驻文件都要被看见开头」的需求相反。社区插件 dsh-constitution-seed(仓库 README 亦称为「火种注入器 / dsh-fire-seed」)专门负责另外三份文件的「每份都有、各自有界」摘录;AGENTS.md 仍走原生通道,两者并存。
下面介绍该插件的定位、行为、配置与使用注意。DSH 生态主张「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
这是什么¶
dsh-constitution-seed 由 xushilianzhuren 维护,在 SkillHub 分类为记忆,当前目录页标注版本 v1.0.0,许可证 MIT(见仓库 package.json)。
一句话:在每个新会话的早期,向会话插入一条带界摘录的 user 消息,让模型开局即知道清单中的宪法文件存在、可对账磁盘,并读到每份文件开头的规矩;完整原文仍在磁盘,需要时用 read / rg 按需拉取。
核心功能¶
注入内容与消息形态¶
每个会话的第一步,在用户消息之后插入一条 source.kind = 'fire-seed-instructions' 的 user 消息(不是 system prompt),避免把工作区内容抬成系统级权威。消息内说明:这是背景指令、不是任务,摘录不代表全文。
消息体包含:
- 清单:所列文件的字节数 + 全文 sha256 的前 12 位(便于与磁盘对账);
- 摘录:每份目标文件开头不超过
perFileBytes(UTF-8 字节)的内容,附截断说明与原文件绝对路径。
与原生 instruction 的分工¶
- AGENTS.md:继续走 DSH 原生 instruction 通道。
- SOUL.md、USER.md、IDENTITY.md(默认
files):由本插件各自截断、分别注入,避免「整文件预算」把靠前的文件整份丢掉。
幂等与 resume¶
- 进程内按文件指纹(size + mtime)判重,未改动则不重复推送;
- 按正文 sha256 扫描会话历史判重,会话 resume 后不重复注入;
- 文件改动后会自动再推一次。
配置项¶
| 字段 | 默认 | 含义 |
|---|---|---|
root |
会话工作目录 | 宪法文件所在目录;配置后为固定根,跨工作区会话也会注入 |
files |
SOUL.md, USER.md, IDENTITY.md |
需要摘录的文件 |
manifest |
四份全列 | 清单里列出的文件(只列不摘录的会标注原因) |
perFileBytes |
16384 |
单份摘录上限(UTF-8 字节) |
totalBytes |
65536 |
本条消息总预算,含清单与框架 |
includeSubagents |
false |
是否给子会话注入(默认关闭以省 token) |
enabled |
true |
总开关 |
关闭方式:在 plugin_manager 里 disable 对应 fire-seed 行,或设置 config.enabled: false。
安装与启用¶
SkillHub 插件页提供「发送给 DeepSeek Harness 安装」的说明,核心表述为安装 xushilianzhuren/dsh-constitution-seed 插件;完整文案以目录页为准:
- 目录页:https://www.skillhub.cn/plugins/xushilianzhuren/dsh-constitution-seed
安装前请自行阅读 GitHub 仓库源码与 MIT 许可证。插件在当前 dsh 进程权限下运行,只安装你信任的来源。
典型用法¶
- 在工作区根目录(或
config.root指定目录)放置SOUL.md、USER.md、IDENTITY.md等文件,并保持AGENTS.md走原生通道。 - 启用插件后,新开 DSH 会话:首条用户消息之后应出现
fire-seed-instructions类 user 消息,内含清单与每份文件开头摘录。 - 需要条款级细节时,不要假设摘录等于读过全文;用工具按路径
read,或在磁盘上rg检索。
默认 includeSubagents: false,子会话不会自动收到同一条注入;若子代理也要同一背景,可将该字段改为 true(token 开销会上升)。
适用场景与注意¶
适合:长期维护 SOUL/USER/IDENTITY 等工作区 charter、希望每个新会话「开局就知道文件在哪、开头写什么」,又不能接受原生整文件预算把多份宪法挤没的场景。
务必知晓的取舍(仓库 README 明确写出):
- 摘录 ≠ 读过全文;只能注入开头,细节回磁盘。
- 注入是追加,不替代原生
AGENTS.md通道。 - 总预算
totalBytes与单文件perFileBytes需要与真实文件大小、会话窗口一起权衡;过大仍可能被截断或挤占后续对话。
结尾¶
dsh-constitution-seed 用有界摘录和可对账清单,把「工作区宪法存在且开头规矩是什么」塞进每个新会话,同时把全文留在磁盘按需读取;与原生 AGENTS 通道互补,并带指纹与历史 sha256 幂等。
- SkillHub:https://www.skillhub.cn/plugins/xushilianzhuren/dsh-constitution-seed
- GitHub:https://github.com/xushilianzhuren/dsh-constitution-seed