dsh-decide:在 DSH 裏用多路決策模型做路由、門禁與評判

前言

在 DeepSeek Harness(DSH)裏做智能體,常見做法是選一個對話模型,用提示詞讓模型「判斷該走哪條路」。對話模型會流式輸出自然語言,成本高、格式也不穩定。另一類服務是決策模型(decision model):輸入一段文本 state 和若干帶類型的命名問題,返回概率、標籤或分數,不生成散文、不流式、不拼消息。

dsh-decide 是社區插件,維護者 calmzealA(package.json 中署名「老陳聊AI」),歸類爲模型推理。它在 DSH 裏增加一組 agent 工具和一個 Settings → Decisions 配置頁,而不是在模型選擇器裏掛一個新聊天模型——這與決策模型的語義一致。下面介紹它對接哪些廠商、如何安裝,以及在對話裏如何調用。

這是什麼

dsh-decide(npm 包名 dsh-decide,版本 0.1.0,MIT)爲 DSH 提供統一的決策模型能力,覆蓋 TypeSafe Jev、基元律動 TokenRhythm NeoHorse-Jev、OpenAI Decisions(beta)以及本機 System One 端點。README 明確:決策模型不是聊天模型;插件通過工具與設置頁接入 Harness。

倉庫:https://github.com/calmzealA/dsh-decide
社區目錄頁:https://www.skillhub.cn/plugins/calmzealA/dsh-decide

支持的 Provider

四個內置 provider 可用 defaultProvider 固定默認;也可按方言(System One 或 OpenAI Decisions)添加自定義端點。第一個已啓用且密鑰可用的 provider 會作爲默認,除非你在配置裏指定。

id 服務 默認模型 密鑰環境變量
typesafe TypeSafe Jev(System One 方言) jev-latest TYPESAFE_API_KEY
tokenrhythm 基元律動 NeoHorse-Jev NeoHorse-Jev-4B TOKENRHYTHM_API_KEY
openai OpenAI Decisions(beta) gpt-6-luna OPENAI_API_KEY
local 本機 System One(如 Laya / Unsloth 自託管) laya 可選,可無密鑰

各廠商文檔鏈接見 README 的 Providers 表;provider 卡片上的外鏈會附帶 aichen 推薦標籤。

核心能力:Agent 工具

decide

對 state(字符串,JSON 需先序列化)和 questions 數組發起一次決策請求。問題類型包括 yesno、choice、score 等。每個問題返回答案及 probability / choice / score,在供應商支持時還有 confidence;結合 Behavior 裏配置的閾值會得到 uncertain。設 includeProbabilities: true 可拿到完整分佈;provider 可覆蓋默認供應商。

典型請求結構(摘自 README):

{
  "state": "I was charged twice for my March subscription.",
  "questions": [
    { "name": "billing", "type": "yesno", "instructions": "Is this about billing?" },
    {
      "name": "team",
      "type": "choice",
      "instructions": "Which team should handle this?",
      "choices": [{ "label": "billing" }, { "label": "technical" }]
    },
    {
      "name": "urgency",
      "type": "score",
      "instructions": "How urgent is this?",
      "levels": [{ "label": "not urgent" }, { "label": "this week" }, { "label": "today" }]
    }
  ]
}

decide_gate

默認提出一道 yes/no:該操作是否可能不可逆地刪除、覆蓋或暴露真實數據? 將概率映射爲 allow、review 或 deny。適合在危險 shell 或寫操作前做一層門禁;失敗以錯誤報告,不會誤判爲通過。

decide_rerank(beta)

用查詢對多段 documents 打分並排序,適合 RAG 檢索結果過多、寫入上下文前再篩一輪。

decide_judge(beta)

對候選回答或工具輸出做顯式 yes/no 檢查列表,返回每項概率及總體 PASS / FAIL,可作評審門禁或 LLM-as-a-judge。

實驗:loop triage

在 Behavior → Experimental 開啓後,插件監聽 agent/pre-step,用決策模型判斷新消息更適合 quick、deep 還是 tool,並向本輪追加短提示。默認關閉;每輪多一次決策調用,行爲可能在版本間變化。

設置頁

Settings → Decisions 分四個標籤:

  1. Providers:逐個啓用/禁用、模型、base URL、路徑、密鑰狀態、保存、測試、列舉模型、設默認、自定義 provider 表單。
  2. Examples:可複製提示詞與完整 tool 請求,便於不開文檔先跑通。
  3. Behavior:置信度閾值、請求上限、緩存、審計、可選執行守衛(execution guard)。
  4. Usage:按 provider 統計今日與近 7 日請求/ token/ 費用估算,以及近期決策記錄。

界面語言跟隨 DSH;中英文完整,其他已發貨語言主界面有翻譯,長幫助文本回退英文。API 密鑰經 DSH 憑證服務寫入,頁面只顯示是否已設置及來源。不要把密鑰放進 state,state 會發往所選 provider。

安裝與啓用

包上架 npm 後,官方發佈安裝方式爲:

dsh plugin --profile desktop add dsh-decide

安裝後需重啓 DSH(宿主機插件不支持熱加載)。本地開發可用 link: 指向檢出目錄,README 示例:

dsh plugin --profile desktop add link:F:\path\to\dsh-decide

(將路徑換成你的檢出位置;不要用 git clone 代替上述 dsh plugin 流程。)

運行環境要求 Node 20+(見 package.json 的 engines)。

典型用法

README 建議的五步流程:

  1. 打開 Settings → Decisions → Providers,選一個 provider,點 Test,再 Use as default。
  2. 在對話裏說明要用 decide 做什麼,例如:「Use decide to route this ticket to billing / technical / sales and score its urgency.」無需單獨安裝 skill;智能體按工具描述選用,點名 decide 可讓選擇更確定。
  3. 有風險命令前說明:「call decide_gate first and continue only if it says allow.」
  4. RAG 或評審流程可要求 decide_rerank / decide_judge。
  5. 可選在 Behavior 中開啓 execution guard 或實驗性 loop triage(均默認關;README 提醒勿與 dsh-jev-guard 同時疊 guards)。

更完整的走查、示例與排障表見倉庫 docs/usage.md 與 docs/usage.zh.md。

無 UI 時的配置

可在 profile 裏寫 YAML 片段,優先級:profile config > ~/.dsh/decide/settings.json(設置頁寫入)> 默認值。密鑰不得寫在配置文件中。

- id: decide
  name: dsh-decide
  config:
    defaultProvider: tokenrhythm
    maxQuestions: 8
    timeoutMs: 20000
    maxRetries: 2
    thresholds:
      choice: 0.7
      score: 0.7
      yesnoLow: 0.35
      yesnoHigh: 0.65
    providers:
      tokenrhythm:
        enabled: true
        dialect: systemone
        baseURL: https://tokenrhythm.studio/v1
        path: /systemone
        apiKeyEnv: TOKENRHYTHM_API_KEY
        model: NeoHorse-Jev-4B

各 provider 在本地校驗問題數、選項數、state 體積等上限,超限會給出可操作的錯誤。不同廠商的置信度算法不同,不要跨 provider 複用同一組閾值;支持按 provider 覆蓋閾值。超時與純網絡失敗不重試;429/5xx/529 會重試(API 無文檔化冪等鍵)。

隱私、審計與成本

  • state 發往所選 provider;local 則留在本機。
  • 默認審計寫入 ~/.dsh/decide/decisions.jsonl,僅哈希與字符數;storeState: full 需顯式開啓。
  • 費用估算依賴 usage.input_tokens 與各 provider 單價(README 舉例 TypeSafe 輸入約 $0.042/M,輸出免費;TokenRhythm、OpenAI 單價待配置)。

適用場景與注意

適合需要在 Harness 內做結構化判斷的場景:工單路由、urgency 打分、破壞性操作門禁、檢索重排、輸出合規檢查等。不適合指望它替代主對話模型寫長文。

DSH 生態理念是「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。安裝插件即以其在 當前 dsh 進程權限下運行;上架前請自行查看源碼與 MIT 許可證,確認密鑰與 state 的外發範圍符合你的合規要求。已知項:README 註明 tools/pre-execute guard 已實現但默認關閉,且勿與 dsh-jev-guard 混用。

結尾

dsh-decide 把多家決策 API 收成一套 DSH 工具與配置面,讓智能體用概率和標籤做決定,而不是用聊天補全「假裝在思考」。若你已在用 Jev、NeoHorse-Jev、OpenAI Decisions 或自建 System One,可在桌面 profile 安裝後從 Settings → Decisions 測通再接入對話流程。

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

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

小夜