前言¶
在 DeepSeek Harness(DSH)里跑长链路任务时,常见失败不是「代码写错」,而是做到一半才发现和用户要的不是一回事:范围越界、代理指标在涨、多轮之后忘了硬约束,最后把「做过」说成「做成」。社区里不少审查类插件侧重输出质量或完成声明是否属实;dsh-goal-steward(维护者 Frac0103)把控制点放在过程级的目标对齐——在回合边界用独立 Reviewer 审计稳定层是否偏离,同时默认不插手执行者怎么做事。下面介绍它的定位、机制、安装与用法。
这是什么¶
dsh-goal-steward 是 DSH 生态下的工作流类插件:为每个对话提供常驻的目标宪章,外加角色隔离的 Reviewer,在回合边界依据证据审计目标漂移;Reviewer 无工具、无权决定方法,默认沉默,只在能举证偏离时才向执行侧注入提示。设计依据来自管理学中的 MBO、PDCA、例外管理、COSO 三道防线、RACI 等,而非临时堆砌的 prompt。当前版本为 0.2.0-alpha.10(MIT 许可,Node ≥ 20);GitHub 星标为 0。目录页:skillhub 插件页;源码与文档:github.com/Frac0103/dsh-goal-steward。
它针对哪类失败¶
README 将「做完了才发现不是用户要的」归纳为七类形态,例如目标替换、范围蔓延、过早收敛、代理指标优化、约束遗忘、承诺升级、汇报美化。本插件审的是稳定层(目标、成功判据、硬约束、非目标),不审方法层,因此意图是「纠偏」而不是「拖慢推进」。
两层机制¶
第一层:常驻治理(每轮零额外调用)¶
系统提示中固定包含目标宪章、自检三问、六类偏离与升级规则,作为执行者自己的第一道防线。
第二层:例外管理(按节奏触发)¶
在回合边界组证据包,由独立 Reviewer(信息 / 角色 / 程序 / 时点隔离)输出严格 JSON 裁决,分级为 L0 记录、L1 标注、L2 质询、L3 暂停升级。默认沉默;无证据的判定作废(宁可漏报、不可误报)。L1/L2 仅向 inbox 注入消息,不阻塞主流程;每轮评审次数、每回合发言次数与会话总预算均有上限;执行者可反驳,争议可升级给用户。
双层目标账本¶
插件把「最终目标」(final,仅用户显式改口可动)与「当前目标」(current,随阶段合法演进)分开记账。Reviewer 对观察到的变更打标签:none、refined、phase_advance、redirected(须引用用户原话)、silent_substitution(判为偏离,不改账本)。这样允许阶段推进被记录,同时拦截悄悄换目标。
用户主权:/steward 命令¶
由宿主直接执行,不产生模型消息,执行者与 Reviewer 均看不到请求体:
/steward # 查看最终/当前目标、成功判据、revision、最近发现、审计文件
/steward goal <新的最终目标> # 直接设定最终目标(账本 revision +1,写入审计)
/steward why # 最近 5 条评审结论
UI-less 且未注册命令的宿主上,该通道自动缺席,Reviewer 仍可按配置工作。
安装与启用¶
尚未发布 npm 包;官方说明支持 tarball / 本地路径 / git 地址。每次发布 tag 会在 GitHub Release 附带 dsh-goal-steward.tgz。安装后需重启 DSH(host 插件与命令在启动时装载)。
Desktop(推荐)¶
Desktop 的 desktop profile 不由 npm CLI 管理,请在插件管理界面安装,包地址三选一:
file:D:/project/dsh-goal-steward
https://github.com/Frac0103/dsh-goal-steward/releases/download/v0.2.0-alpha.10/dsh-goal-steward.tgz
github:Frac0103/dsh-goal-steward
CLI profile(web / headless / 自定义)¶
--profile 为 profile 名(desktop 除外由 CLI 管理):
npx -p @deepseek-ai/dsh dsh plugin --profile <profile> add "file:D:/project/dsh-goal-steward"
npx -p @deepseek-ai/dsh dsh plugin --profile <profile> add "https://github.com/Frac0103/dsh-goal-steward/releases/download/v0.2.0-alpha.10/dsh-goal-steward.tgz"
npx -p @deepseek-ai/dsh dsh plugin --profile <profile> add "github:Frac0103/dsh-goal-steward"
手工挂载(开发调试)¶
在 profile 的 cordis.patch.yml 追加(路径按本机调整):
- insert:
- id: goal-steward
name: 'dsh-goal-steward'
config:
preset: standard
零配置默认可用 standard 档。
配置预设¶
| 档位 | 审计频率 | 说话门槛 | 适合 |
|---|---|---|---|
gentle |
只在目标变更时 | 仅 L3 | 几乎零打扰 |
standard(默认) |
首轮 + 每 3 轮 + 强制间隔 6 | L2 | 平衡 |
strict |
每轮 | L1 | 高风险/长链路 |
可逐项覆盖,示例:
- insert:
- id: goal-steward
name: 'dsh-goal-steward'
config:
preset: standard
reviewEveryTurns: 3
steerSeverity: 2
maxSteersPerSession: 12
# reviewProvider: other-provider
# reviewModel: other-model
完整配置表见仓库 docs/architecture.md#9-配置。
审计与复盘¶
每次评审(含跳过与失败)写入 JSONL:
$DSH_HOME/goal-steward/audit.jsonl
便于复盘「报过什么、为何沉默、是否漏报」。
与其他插件的关系¶
README 将其与答案质量审查(如 dsh-answer-reviewer)、完成声明验证(如 dsh-gungnir)、顾问流(如 dsh-advisor-flow)、措辞漂移监控(如 dsh-anchored-monitor)区分为互补或不同维度:前者多像质检,本插件更像过程上的目标治理审计。
适用场景与注意¶
适合需要在 DSH 中长对话、多轮工具调用里守住目标边界、又不想让审查插件微观管理写代码方式的开发者。插件以当前 DSH 进程权限运行,安装前请自行阅读源码与 MIT 许可证;早期 alpha 接口与提示词仍可能变动。DSH 社区插件目录(如 skillhub)为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-goal-steward 用常驻宪章加回合边界独立 Reviewer,把管理学里的目标管理与例外控制落到 agent 运行时,默认沉默、举证才发声,并保留 /steward 与审计流水供用户主权与复盘。进一步了解设计与理论推导可见仓库内 docs/design.md、docs/theory.md、docs/architecture.md。
- 目录页:https://www.skillhub.cn/plugins/Frac0103/dsh-goal-steward
- GitHub:https://github.com/Frac0103/dsh-goal-steward