在 DSH 的 Standard preset 中,模型在輸出第一個單詞前需要處理包含 26 個工具模式的系統提示,導致 prefill tokens 達到 6,559 個。這消耗了大量上下文預算,並增加了首字延遲。Laya Tool Router 通過隱藏所有工具模式,僅在需要時通過 Laya decision endpoint 揭示一個工具來解決這個問題。
核心功能¶
該插件實現了 lazy tool discovery,將 prefill tokens 從 6,559 減少到 283。它採用 3 階段決策過程:
- 詞彙排序:過濾停用詞,選出 ≤ 8 個候選。
- 決策請求:向 Laya endpoint 發送 POST 請求,獲取
bestTool和usablenoul 問題。 - 置信度檢查:僅當
confidence >= 0.30且p(noul) <= 0.30時接受選擇。
對於精確的工具名稱請求,插件會跳過 Laya 並立即揭示工具。
安裝與啓用¶
使用 CLI 安裝:
dsh plugin --profile <profile> add git+https://github.com/residenthiago2011/DSH-Laya-Tool-Router.git
安裝後,在 Plugins 頁面選擇該 bundle,並使用 no-prefill preset。
配置¶
需要一個運行在 http://127.0.0.1:8081/v1/systemone 的 Laya endpoint。在 index.js 中配置 LAYA_BASE 以更改地址。
文件¶
index.js:註冊find_tool,隱藏其他工具,運行 3 階段決策。cordis.patch.yml:preset 聲明和 host tool enablement。tool-registry.json:Stage-0 標籤和 Stage-1 標準。
注意事項¶
- 需要 DSH 0.2.0-rc.2。
- 需要主機上的
pnpm。 find_tool註冊標準 JSON Schema;必須始終編譯。- 存在空請求目錄提示和精確名稱快速路徑,適用於小模型。