dsh-requirements-alignment:DeepSeek Harness 的需求漂移防护插件

前言

在 DSH 的插件式开发中,长任务智能体常会遇到一个实际问题:初始需求已经明确,但执行到后面,范围、约束或方向可能悄悄改变。已有做法里,Plan Mode 通常在实现前回答“计划是否正确”;dsh-requirements-alignment 关注的是执行期间“是否仍在解决同一个问题”。

它由 jiezeng2004-design 维护,许可证为 MIT,package.json 版本为 0.4.2,要求 Node.js >=22.18.0packageManagerpnpm@11.19.0

这是什么

dsh-requirements-alignment 是一个 DeepSeek Harness(DSH)插件,定位为运行时需求漂移防护。它把用户请求转换为可持续维护的 requirement baseline,并在 agent 执行过程中保护该基线。

它不修改 plan modeexit_plan_mode,也不修改任何 @deepseek-ai/* core package。

核心机制

建立需求基线

插件会建立并维护 requirement baseline,字段包括:

  • goal
  • explicitConstraints
  • mustPreserve
  • allowedScope
  • userDecisions
  • openDirectionDecisions

establish_baseline 工具用于记录基线。该操作不询问用户;重复记录会提升 baseline revision

检测方向级漂移

在默认 auto 模式下,插件会把 drift-guard 策略以 order 60 注入每个 agent 的 prompt。它关注的是方向级变化,例如:

  • 范围扩张
  • 约束冲突
  • 用户可见行为变化
  • 架构变化
  • 假设失效
  • 用户方向变化

记录漂移并询问用户

report_drift 工具会记录一个 drift candidate,并通过 native user-questions channel 向用户询问一次,随后记录用户决策。

默认情况下会提供 approvestay-within-scope 选项。用户选择 exact note 时,结果可映射为 approverejectrevise

只有本插件管理的 alignment state 会进入 requirement baseline;无关的 ask_user_question calls 不会污染该基线。

命令与模式

/align

/align 用于检查当前对齐状态,并触发一次新的 alignment inspection。它只做检查,不阻塞执行。

/align-mode

/align-mode 用于查看模式快照,并设置 runtime override。

持久化 runtime override:

/align-mode auto
/align-mode manual
/align-mode off

移除 runtime override:

/align-mode reset

资料还给出单 session 切换方式,仅影响调用该命令的 session 的 effective mode:

/align-mode session

四层模式模型

插件使用四层模式模型:session overrideruntime overrideprofile defaulteffective mode

effective mode 按以下顺序取第一个有效值:

valid session override -> valid runtime override -> valid profile default -> auto

如果某个已持久化的 mode value 无效,插件会回退到 next valid layer 或 profile default,并可能 repair settings document。

状态持久化

canonical alignment state 持久化到 AlignmentStateStore sidecar,后端为 official storage-domain over storage-json。该状态不写入 session events;session log 只接收 official DSH events。

它支持 resume、fork、compaction 恢复。Session override 由 session lifecycle identity 键控,资料中提到 id + createdAt + cwd;fork 会在 seed boundary 继承 effective session override。

alignment/* 事件词汇仅用于 legacy compatibility、migration 和 test/fold fallbacks;production never appends it。

安装与启用

资料中的安装命令均带 --profile web。资料中出现过 registry 形式的安装命令:

dsh plugin --profile web add dsh-requirements-alignment

如有本地 checkout,资料中也给出以下形式:

dsh plugin --profile web add <path-to-this-checkout>

插件以 profile bundle 安装,包含 dsh.bundle.patchcordis.patch.yml,并添加两个条目:

  • requirements-alignment
  • requirements-alignment-ask-user

Web client 会注入:

  • @deepseek-ai/dsh-client-runtime
  • @deepseek-ai/dsh-client-locale

典型用法

1、安装插件:

dsh plugin --profile web add dsh-requirements-alignment

2、启动普通 DSH 任务。默认开启 auto 模式;清晰任务会以零中断方式运行,只有在执行即将改变方向时才询问用户。

3、随时使用 /align 检查当前执行是否仍匹配 requirement baseline。

4、需要改变运行模式时,使用:

/align-mode auto
/align-mode manual
/align-mode off

5、需要移除 runtime override 时,使用:

/align-mode reset

适用场景与注意

它适合需要在长任务中保持需求方向一致的 DSH 插件工作流。它可以与 Plan Mode 组合使用:Plan Mode 关注实现前的计划审查,dsh-requirements-alignment 关注实现中的方向保持。

注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  • 本插件许可证为 MIT。
  • 资料只给出带 --profile web 的安装命令,未说明所有安装是否都必须如此。
  • 资料同时出现 registry 形式与本地 checkout 形式,未明确唯一推荐命令。

结尾

dsh-requirements-alignment 的价值在于把“用户意图”从一次性 prompt 变成可持续维护的运行时基线:记录方向,观察漂移,必要时询问一次,并把决策写回基线。

GitHub 仓库:

https://github.com/jiezeng2004-design/dsh-requirements-alignment
羽毛球分组比赛记分
小程序二维码

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

小夜