dsh-auto-check:爲 DeepSeek Harness 自動審查單獨指定審查模型

前言

DeepSeek Harness(DSH)在工具執行前可以走「自動審查」(Auto review)流程,用另一輪 LLM 判斷本次調用是否安全、是否符合策略。默認行爲是讓審查請求跟隨當前會話的主模型。主模型若是單價較高的商用模型,那麼每一次工具調用前的審查都會按同樣單價消耗 Token,長會話、頻繁調用時成本會疊加上去。

社區插件 dsh-auto-check(維護者 ltzXiaoYanMo,分類:模型推理)在 llm/stream 層攔截自動審查請求,改寫到你單獨配置的 provider / model,其餘對話與子代理請求保持原樣。插件還支持 Qwen3Guard-Gen 系列的安全分級輸出適配,並在審查拒絕、超時或失敗時把「維持拒絕 / 放行一次」的選擇權交還給你(默認 onBlock: ask)。

下面介紹它是什麼、如何安裝配置,以及使用 Qwen3Guard 或兼容網關時需要注意的事項。事實依據爲插件 GitHub README 與 package.json(版本 0.2.1,MIT 許可證)。

這是什麼

dsh-auto-check 不替換、不修改 DSH 自帶的 auto-review 插件;審查策略本身不變。它在外層監聽 tools/pre-execute,識別以 REVIEW_POLICY\n 開頭的審查 system 提示,命中後用配置的審查模型重新發起 LLM 請求。未配置或只配置了一半時,行爲與安裝前一致。

改寫後的請求會打標,避免再次進入本插件造成遞歸。模型列表來自當前會話可路由的模型目錄;隻影響自動審查,不影響主對話或子代理。

核心功能

審查模型路由

  1. 在 設置 → 插件 中找到官方插件列表裏的 自動審查模型。
  2. 選擇一個審查模型並保存;選 跟隨主模型 可恢復默認。
  3. 插件在 llm/stream 攔截審查流,未命中標記的普通請求直接放行。

審查協議

按需選擇 審查協議:

  • 自動識別(默認):目標模型名包含 Qwen3Guard 時使用 Qwen3Guard 適配,否則使用標準 JSON 協議。
  • 標準 JSON:要求審查模型嚴格輸出 {risk, decision, reason?},適用於通用模型。
  • Qwen3Guard 安全分級:適用於 Qwen3Guard-Gen 系列(0.6B / 4B / 8B)。

Qwen3Guard 原生輸出爲兩行文本(Safety: / Categories:),本插件映射 Safe 爲低風險放行,Controversial 爲中風險拒絕,Unsafe 爲高風險拒絕;無 Safety: 標籤時按高風險拒絕(fail-closed)。Qwen3Guard 只判斷內容安全,不判斷工具調用的業務正確性;Stream 系列逐 token 審覈不適用本適配。

審查拒絕與超時

自動審查在模型拒絕、出錯、無響應或超時時可能阻止工具調用。默認 onBlock: ask 會彈出問題卡片,顯示工具名和審查原因,選項爲 維持拒絕(默認預選)或 仍要執行(放行一次)。只有明確點選「放行一次」纔會執行;跳過、取消、無界面運行等情形一律維持拒絕。

  • onBlock:ask(默認)或 deny(恢復原有靜默拒絕策略)。
  • reviewTimeoutMs:單獨配置的審查模型在此時長(毫秒)內無結果時,以 REVIEWER_TIMEOUT 結束審查流;默認 60000,0 表示不限時。僅對經本插件改寫過路由的審查請求生效。

長會話與字符預算

自動審查會把過濾後的會話歷史與待審工具調用一併發給審查模型。Qwen3Guard-Gen 本地常見 32k 上下文下,輸入過長會導致審查失敗。

最大審查字符數 在 Qwen3Guard 協議下生效:超預算時保留開頭與結尾,截斷中間。默認 64000 字符(約 16k Token);設爲 0 可關閉截斷。

兼容模式(compatMode)

部分 OpenAI 兼容網關會拒絕請求裏的 store 字段。可在 provider 的 pi-ai 配置中設置 compat.supportsStore: false,或在插件設置裏勾選 兼容模式,由插件維護該字段。開啓後會影響同一 provider 下主對話的請求(pi-ai 從 provider 配置讀取 compat)。

安裝與啓用

插件以本地 bundle 方式安裝。在 DSH 中通過插件管理器執行(將 target 換成本插件目錄的絕對路徑):

# 在 DSH 中通過插件管理器安裝本目錄:
plugin_manager install_bundle target=<本目錄絕對路徑>

安裝後包會以 link: 方式加入 profile。修改 lib/ 後需重啓 DSH Desktop(Electron)才能重新加載 Host 插件;client.js 改動刷新頁面即可。

社區目錄頁:https://www.skillhub.cn/plugins/ltzXiaoYanMo/dsh-auto-check。源碼與說明:https://github.com/ltzXiaoYanMo/dsh-auto-check。

典型用法

  1. 安裝並啓用插件後,打開 設置 → 插件 → 自動審查模型,選一個成本更低或專用的審查模型(例如 Qwen3Guard-Gen-4B),保存。
  2. 若使用 Qwen3Guard,確認 審查協議 爲自動識別或顯式選 Qwen3Guard 安全分級。
  3. 經 Superlinked 等網關訪問 Qwen3Guard 且出現 store 不支持錯誤時,勾選 兼容模式,或按 README 在 provider 中手寫 compat.supportsStore: false。
  4. 長會話審查失敗時,調低 最大審查字符數 或換用更大上下文的遠程審查模型。
  5. 希望審查被拒時仍可人工放行單次調用時,保持默認 onBlock: ask;無人值守流水線可設爲 onBlock: deny。

適用場景與注意

適合誰: 已開啓 DSH 自動審查、主模型較貴或希望用 Qwen3Guard 做內容安全分級的開發者;需要在審查失敗時保留人工決策的場景。

權限與安全: 插件在 DSH 宿主進程內運行,可改寫字段、寫 provider 兼容配置並攔截 LLM 流。安裝前應閱讀倉庫源碼與 MIT 許可證,確認與你的工作區信任邊界一致。SkillHub 等爲社區目錄站點,與 DeepSeek / 幻方無官方從屬關係。

侷限: Qwen3Guard 不提供工具業務正確性判斷;審查模型長期不可用時應換回「跟隨主模型」或更換可用模型。

結尾

dsh-auto-check 把自動審查從主模型上拆出來,在策略不變的前提下控制 Token 成本,並補齊 Qwen3Guard 與網關兼容、拒絕/超時時的可選放行。需要功能細節、測試說明與開發驗證命令時,以 GitHub 倉庫 README 爲準。

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

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

小夜