dsh-plugin-skill-autoroute

DeepSeek Harness (DSH) 的插件生態強調“一切皆插件”。在現有的架構中,skill 工具通常是被動觸發:模型需要自己意識到去查詢目錄,或者依賴用戶明確點名。這導致路由決策往往不可靠。

dsh-plugin-skill-autoroute 插件解決這一問題。它在每條用戶指令到達時,執行一次確定性的路由掃描,不依賴 LLM 進行決策。它從 Host 的實時技能目錄中檢索候選,並注入恰好一條路由提示,供模型執行。

核心能力

該插件實現了一套確定性的路由邏輯,主要包含以下特性:

  • 零 LLM 調用:路由算法基於本地字典和策略,不消耗額外的模型調用。
  • 實時掃描:掃描 Host 的 skills 服務目錄,獲取當前可見的技能列表。
  • 單次注入:每次用戶指令只注入一條路由消息,避免上下文污染。
  • 三種模式:
    • brief(默認):注入 Top-N 候選技能的簡報。
    • load:自動注入冠軍技能的 SKILL.md 正文。
    • router:強制調用指定的 router-skill。

安裝

推薦使用 plugin_manager 安裝:

plugin_manager install_bundle → target: link:<path-to-this-repo>

配置與使用

配置文件位於 <DSH_PROFILE_DIR>/cordis.patch.yml。修改後需要通過 plugin_manager 切換插件狀態以生效。

- id: dsh-plugin-skill-autoroute
  config:
    mode: brief          # off | brief | load | router
    routerSkills: ['skill-selector', 'skill-router']
    candidates: 3        # 簡報中展示的候選數量
    minScore: 0.28       # 候選入選門檻
    loadMinScore: 0.55   # load 模式下加載正文的門檻
    debug: true          # 開啓日誌

關鍵配置項

字段 作用
mode 決定注入的內容形式。brief 輸出列表,load 輸出正文,router 輸出調用指令。
candidates 簡報模式下的 Top-N 數量。
routerSkills router 模式下強制調用的技能列表,取第一個已安裝的技能。
lexicon 中英橋接詞典,解決中文指令與英文技能名不匹配的問題。
rulesEnabled 是否啓用本地策略層(同域優先、元技能降權等)。

工作原理

插件掛載在 agent/pre-step 掛載點。當收到用戶指令時,流程如下:

  1. 讀取 agent/pre-step 中即將進入模型的消息。
  2. 調用 Host 的 skills 服務(list())獲取技能目錄。
  3. 根據配置的詞典、策略和評分算法,對技能進行打分排序。
  4. 根據模式注入合成消息:
    • brief:注入 notice 類型的消息,包含候選列表。
    • load:若冠軍分數達標,注入 instructions 類型的消息,包含技能正文。
    • router:注入 instructions 類型的消息,強制調用 skill(name="...")。

已知限制

  • 只讀全局技能層:插件僅讀取 Host 的全局技能層,不包含 agent preset 私有層註冊的技能。
  • 維護成本:路由邏輯是確定性的,依賴人工維護中英橋接詞典和本地策略層。新增技能或新說法時需手動更新。
  • 顯式優先:用戶明確點名技能時優先級最高,會覆蓋意圖判斷。
羽毛球分组比赛记分
小程序二维码

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

小夜