dsh-goal-steward:为 DSH 对话挂上独立的目标评审层

前言

在 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
羽毛球分组比赛记分
小程序二维码

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

Xiaoye