dsh-local-delegate:把機械文本工作交給本地小模型

前言

在 DSH 裏用主模型做翻譯、摘要、長文檔字段抽取時,常見做法是先把整篇正文讀進上下文,再讓主模型輸出結果。文檔一大,主模型 token 消耗會線性上去,而這類任務往往不需要強模型的推理能力。若仍由主模型逐字處理,成本和延遲都會偏高。

下面介紹的插件把翻譯、摘要、抽取、分類、改寫、commit message、命名等機械性文本工作委派給本地或廉價的 OpenAI 兼容端點;插件自行讀文件、分塊、調用本地模型並寫回,正文不進入主模型上下文。資料中的對比是:一篇約 10KB 文檔的翻譯,主模型約 150 token(一次調用),而不是約 5,000 token(讀原文 + 寫譯文)。

這是什麼

dsh-local-delegate 由社區維護者 MythGreenLand 發佈,在 DSH 插件目錄中歸類爲「模型推理」。當前版本爲 0.5.1(以倉庫 README 與 package.json 爲準)。

協議支持 Ollama 原生 /api/chat(可關思考、保活、控上下文),或任意 OpenAI 兼容端點。配置可通過 DSH GUI(Plugins → Configure 或 Settings → 本地模型),也可用 profile 中的 cordis.patch.yml 覆蓋。

核心功能

本地委派工具鏈

插件提供面向文件的本地變換能力(如 local_transform、local_batch 等,具體工具名以 bundle 爲準),由 Host 側調用配置的端點完成機械文本處理,主 agent 主要保留判斷與工具調用。

本地 AI 介入程度(0.4.0 起)

按項目工作區設置等級:無 / 輕度 / 默認 / 更高 / 最高。默認等級與 v0.3.0 行爲一致;「更高」可註冊 local_worker 子 agent;「最高」讓 root agent 側重規劃,實現與命令交給本地 worker(需先註冊 llm-pi-ai 的 local-delegate 路由)。會話內可用 /localpolicy 查看解析等級與 scoped 策略摘要。

0.4.1 起可在輸入框工具欄顯示 「本地 AI:默認 ▾」 快捷選擇器(composerLevelPicker,默認顯示),與設置頁共用保存鏈路。

SlaveAgentTeams(0.4.0 起,0.5.0 增強)

可選模式:root/Team Lead 並行啓動多個 slave 子 agent,各自跑在本地廉價模型或雲端路由上,再由 master 彙總;與原生 Agent Teams 共存。0.5.0 起支持單開關自動模式:打開後 spawn 時自動發現已掛載的 LLM 路由/模型(本地優先),單節點失敗自動換下一個;保存配置時會把主端點 + 備用端點按 host 分組註冊爲 llm-pi-ai 路由。顯式 slaveNodes 仍可手動覆蓋。

GUI 與統計

安裝後在 Plugins → dsh-local-delegate → Configure 或 Settings → 本地模型 配置端點、備用端點、Subagent 路由、介入程度與 SlaveAgentTeams。頁面提供測試連接(默認僅允許迴環/內網;公網需 probeAllowPublic)和節省統計(委派次數、本地處理字符/token、估算節省的主模型 token 等,部分計數在插件重載後清零)。

保存寫入 cordis.patch.yml 中 - id: local-delegate 覆蓋行,數秒內熱生效,無需重啓 DSH。

安裝與啓用

官方 README 未給出 dsh plugin add github:... 形式的單行命令,推薦按 DEPLOY.md / INSTALL.md 的一鍵部署說明操作。在 DSH 會話中可直接粘貼以下交給智能體的步驟(其他用戶無需手工改 profile):

請幫我在這臺機器上安裝(或升級)DSH 插件 dsh-local-delegate(GitHub: MythGreenLand/dsh-local-delegate,最新 Release)。
1) 下載 Release 資產 dsh-local-delegate-v<版本>.zip(或 git clone --depth 1 --branch <tag> https://github.com/MythGreenLand/dsh-local-delegate);
2) 解壓到 %USERPROFILE%\.dsh\local-plugins\dsh-local-delegate-<版本>(macOS/Linux:~/.dsh/local-plugins/...);
3) 已安裝舊版本時先 plugin_manager action=remove_bundle target=dsh-local-delegate,再 plugin_manager action=install_bundle target=<解壓後的插件目錄>;
4) 刷新 GUI 後確認 Settings → 本地模型 出現「本地 AI 介入程度」「SlaveAgentTeams」卡片、輸入框出現「本地 AI:默認 ▾」,並讓 local_health 返回 v<版本>。

Windows 可先執行:

pwsh -NoProfile -File scripts\install-from-github.ps1 -Version latest

macOS/Linux 可先執行:

bash scripts/install-from-github.sh latest

準備版本目錄後,再讓智能體執行 plugin_manager install_bundle。升級舊版時先 plugin_manager action=remove_bundle target=dsh-local-delegate,再安裝新 bundle。

package.json 標明與 DSH 0.2.1-rc.5 兼容;安裝前請對照你使用的 DSH 版本。

典型用法

  1. 安裝並刷新 GUI,在 Settings → 本地模型 填寫 Ollama 或 OpenAI 兼容的 base URL、模型名,必要時配置 API Key 或 apiKeyEnv。
  2. 點擊 測試連接 確認端點可達;若要讓 subagent 或 high/max 等級使用本地路由,點擊 作爲 Subagent / 模型選擇器路由(或依賴 0.5.0 自動註冊),然後新開會話(Subagent 策略在新建會話時採樣)。
  3. 在主 agent 對話中,對長文檔翻譯、批量摘要等任務調用插件提供的本地工具(走 path 而非大段內聯 text;「輕度」等級對內聯 text 會拒絕)。
  4. 需要按倉庫切換策略時,在工作區列表或輸入框等級選擇器設置覆蓋;診斷時執行 /localpolicy。
  5. 驗證安裝:調用 local_health,應返回當前插件版本(如 v0.5.1)。

端點表示例(字段以 GUI 爲準,高級項見 README):

  • 協議:Ollama 原生 或 OpenAI 兼容
  • 服務器地址、模型、timeoutMs、maxOutputTokens、numCtx、temperature 等可在表單或 YAML 中配置

適用場景與注意

適合:本機或內網已有 Ollama/廉價推理網關;希望主模型少讀長文、專注架構與工具編排;需要可選的多從節點並行(SlaveAgentTeams)或與工作區綁定的介入等級。

注意:

  • 插件以當前 DSH 進程權限運行,會讀寫在配置允許範圍內的文件並調用你填寫的端點;安裝前應閱讀 GitHub 倉庫 源碼與許可證,勿向不可信端點泄露 API Key。更推薦 apiKeyEnv 而非明文寫入 patch。
  • apiKey 保存時會寫入 profile patch;allowOutsideCwd / allowRoots / denyGlobs 等安全策略 intentionally 僅 YAML 可寫,GUI 只讀展示。
  • 「最高」等級是 scoped 提示詞 + tools.restrict 的強約束近似,不能 100% 阻止模型直接作答;嚴格隔離需配合 plannerAllowRead、plannerDenyExtra 等高級項。
  • DSH 社區插件目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;本文事實來自倉庫 README 與 package 元數據。

結尾

dsh-local-delegate 的價值在於正文走本地端點、主模型只留決策,並在此基礎上提供按工作區的介入等級與可選的 SlaveAgentTeams。若你在 DSH 裏頻繁做長文機械處理,可先配好本地模型端點,再用 GUI 或 /localpolicy 確認行爲是否符合預期。

  • 插件目錄頁:https://www.skillhub.cn/plugins/MythGreenLand/dsh-local-delegate
  • GitHub:https://github.com/MythGreenLand/dsh-local-delegate
羽毛球分组比赛记分
小程序二维码

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

小夜