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

卸載後,審批行爲回到宿主原生狀態,不再有窗口限制。

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

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

小夜