dsh-approval-policy

前言

DeepSeek Harness (DSH) 插件。解决无人值守审批请求(subagent、scheduled、cron)可能无限挂起的问题。在 dsh >= 0.2.0-rc.2 中,如果交互 answerer 注册了但永不应答,这类请求会停在原地。本插件在审批请求的 waterfall 上 prepend 了一道门控:为无人值守请求设置一个有界的应答窗口,窗口内有人应答则用人的答案,窗口耗尽则按 fail-closed 默认裁决落定。

安装

插件通过 npm 安装。安装前请确保宿主 DSH 版本 >= 0.2.0-rc.2。

dsh plugin add @aiwayds/dsh-approval-policy

安装后插件会自动挂载到 approval/request waterfall 的链首。

配置

配置位于 cordis.patch.yml。挂载块 ID 为 dsh-approval-policy。

- insert:
    - id: dsh-approval-policy
      name: '@aiwayds/dsh-approval-policy'
      config:
        origins: [subagent, scheduled, cron]
        windowSeconds: 60
        defaultOutcome: rejected

配置项说明:

  • origins:判定为无人值守的来源列表,支持 subagent、scheduled、cron、all。默认为 [subagent, scheduled]。
  • sessions:按 agent id glob 点名的会话,命中即门控该会话所有 turn。默认为空数组。
  • windowSeconds:应答窗口时长(秒),0 表示立即拒绝且不委托下游。默认为 60。
  • defaultOutcome:窗口超时后的默认裁决,仅支持 rejected 或 unavailable。默认为 rejected。

行为与限制

  • 判定粒度:
    • subagent:基于会话级判定(session.header.origin === 'subagent')。
    • scheduled / cron:基于最后一条溯源 user 消息的 source.kind 判定(跳过合成注入的 runtime-context 等消息)。
    • all:全局门控。
  • 交互会话:未命中任何来源的交互会话,插件会立即透传,不做任何修改,默认行为不变。
  • 零落盘:插件不写入额外的审计日志或状态文件,依赖宿主的 approval/asked 和 approval/decided 日志。
  • 裁决限制:defaultOutcome 不支持 allowed-once,超时必须落定为 rejected 或 unavailable。

卸载

dsh plugin remove @aiwayds/dsh-approval-policy

卸载后,审批行为回到宿主原生状态,不再有窗口限制。

羽毛球分组比赛记分
小程序二维码

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

小夜