dsh-constitution-seed:把工作区宪法有界注入每个新 DSH 会话

前言

在 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),避免把工作区内容抬成系统级权威。消息内说明:这是背景指令、不是任务,摘录不代表全文。

消息体包含:

  1. 清单:所列文件的字节数 + 全文 sha256 的前 12 位(便于与磁盘对账);
  2. 摘录:每份目标文件开头不超过 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 进程权限下运行,只安装你信任的来源。

典型用法

  1. 在工作区根目录(或 config.root 指定目录)放置 SOUL.md、USER.md、IDENTITY.md 等文件,并保持 AGENTS.md 走原生通道。
  2. 启用插件后,新开 DSH 会话:首条用户消息之后应出现 fire-seed-instructions 类 user 消息,内含清单与每份文件开头摘录。
  3. 需要条款级细节时,不要假设摘录等于读过全文;用工具按路径 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
羽毛球分组比赛记分
小程序二维码

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

小夜