前言¶
在 DeepSeek Harness(DSH)裏接本地推理棧,常見做法是單獨配 provider、自己盯模型切換和冷啓動。本地 strata 若再疊一層 strata-hop 路由器(默認 127.0.0.1:8080),選模型、預熱、看加載進度、改 run-config,往往要在終端、hop 配置和 Web 界面之間來回跳。Agent 側若要查狀態或調參,還得自己拼 HTTP。
youshanlian 維護的 dsh-plugin-strata 把「接入 DSH」「控制 hop」「狀態可見」「調參」收進一個 bundle:對推理只讀(不發 prompt、不耗 token),寫操作限於預熱、配置與聊天默認值。下面按安裝前置、能力、配置與用法說明。
這是什麼¶
dsh-plugin-strata 是 DSH 的社區插件(MIT,當前 package 版本 1.2.1),定位是 dsh × 本地 strata 的一體化控制面。裝上後,在 dsh 裏選中 strata 模型時路由器會替你預熱,冷啓動的約 20–30 秒發生在「選中」一刻,而不是第一次提問時;Web GUI 頂部有狀態芯片,輸入區旁有「調參」面板;同時提供 strata_hop、strata_status、strata_params 等工具供 agent 操作本機 hop。
倉庫與目錄:
- GitHub:https://github.com/youshanlian/dsh-plugin-strata
- SkillHub 目錄頁:https://www.skillhub.cn/plugins/youshanlian/dsh-plugin-strata
插件以當前 dsh 進程權限運行;安裝前請自行查看源碼與許可證。
核心功能¶
資料與 README 歸納的能力如下(合併自原先可獨立安裝的若干功能):
1. strata 接入 DSH¶
Bundle 自帶 cordis.patch.yml,默認寫入 provider strata(baseURL: http://127.0.0.1:8080/v1,模型 id 需與 hop 配置鍵一致)。
2. 模型切換路由控制(strata_hop)¶
工具 strata_hop 管理本機 127.0.0.1:8080 的 strata-hop,支持 status / models / warm / logs。路由器參考實現位於插件包內 router/strata-hop.py(含 /warm、/loaded 等端點)與 router/strata-hop.service。
3. 切換狀態監控¶
默認在 127.0.0.1:8756 提供狀態服務(GET /events),Web GUI 頂部狀態芯片展示當前加載模型、切換中/空閒、加載進度(懸停可看詳情);工具 strata_status 讀取實時狀態。開啓 warmOnSelection(默認 true)時,GUI 選中 strata 模型即 POST /warm 預熱。
4. 運行配置調參(run-config)¶
工具 strata_params 與 GUI「調參」面板:編輯當前加載模型在 hop 維護的 profile 中的 strata run-config(如 sampling.temperature / top_p / top_k / min_p、思考預算、顯存預留、MTP、別名表等,與 serve 端可編輯鍵一致,約 16 項)。保存寫入的是下次啓動用的配置;要點「重啓生效」(或 action: restart)約 25 秒重新拉起同一模型,不發 prompt。
5. 聊天設置(全應用共享默認值)¶
同一面板第二塊:strata 各應用共享的採樣與思考檔位默認值(經 monitor 代理 GET/POST /settings)。保存即生效、持久化,無需重啓;請求裏顯式帶的參數優先於共享默認。
對推理的邊界¶
插件從不向模型發 prompt、不消耗 token;真正切模型仍由 dsh 模型選擇器觸發。寫路徑包括:冪等 warm、run-config 調參、聊天設置,以及顯式「重啓生效」(hop 卸載後 force 再 warm)。
前置條件(系統側,一次性)¶
安裝插件前,本機應已部署並運行 strata + strata-hop。README 給出的典型路徑:
strata-hop: ~/.local/share/strata-hop/strata-hop.py (插件 router/ 內有同款源碼)
配置: ~/.config/strata/strata-hop.json (示例見 router/strata-hop.example.json)
密鑰: ~/.config/strata/strata-hop.env (STRATA_API_KEY)
systemd: ~/.config/systemd/user/strata-hop.service(插件 router/ 內有同款 unit)
模型 id 必須與 hop 配置一致;換機器時注意 Linux + systemd 用戶會話對日誌與單元狀態的依賴(README「換到別的機器」一節有進一步說明)。
安裝與啓用¶
實測說明見於 dsh 0.2.1-rc.2;bundle 會註冊進 profile 的 dsh.profile.bundles,並默認啓用 cordis.patch.yml 中的插件行與 provider strata。
已有 dsh CLI 時,對指定 profile(示例爲 web)執行:
dsh plugin --profile web add github:youshanlian/dsh-plugin-strata
裝好後重啓該 profile 的 dsh,即可看到頂部狀態芯片與「調參」面板。
未安裝 dsh CLI,或希望連引導與校驗一起執行,使用倉庫根目錄 install.sh:
bash <(curl -fsSL https://raw.githubusercontent.com/youshanlian/dsh-plugin-strata/main/install.sh)
可指定 profile:install.sh --profile <name>;預覽:--dry-run。
若模型 id 與 hop 不一致,在 profile 補丁層整條替換 llm-pi-ai 的 providers.strata(非內置目錄條目需寫全 api / baseURL / models)。本機改插件源碼即時驗證時,才用 file: 鏈接依賴(見 README「開發模式」)。
社區索引分類爲 model;通過 awesome-dsh-plugin 提 PR 上架後,可在 dsh Web 插件頁搜索安裝——與 DeepSeek / 幻方無官方從屬,屬社區生態。
插件配置項¶
在 profile 的插件行 config 中可覆蓋(未列出者見 README 完整表):
| 鍵 | 默認 | 說明 |
|---|---|---|
hopUrl |
http://127.0.0.1:8080 |
strata-hop 地址 |
hopConfig |
~/.config/strata/strata-hop.json |
hop 配置 |
hopEnvFile |
~/.config/strata/strata-hop.env |
讀密鑰的兜底文件 |
apiKeyEnv |
STRATA_API_KEY |
hop 鑑權環境變量名 |
unit |
strata-hop.service |
journalctl 跟蹤的 systemd user unit |
host / port |
127.0.0.1 / 8756 |
狀態服務綁定(LAN 訪問 GUI 芯片時可設 host: 0.0.0.0) |
followJournal |
true |
跟隨 hop 日誌 |
pollSeconds |
2 |
被動探測間隔 |
warmOnSelection |
true |
選中模型即預熱 |
warmProvider |
strata |
僅預熱該 provider 的選擇 |
典型用法¶
GUI¶
- 在模型列表選擇 strata provider 下的模型 → 自動 warm,頂部芯片顯示進度與當前加載模型。
- 點擊輸入區旁 調參 ▸:編輯 run-config,保存後按需點 重啓生效;第二區改 聊天設置 後點 保存聊天設置(立即生效)。
- 須先有足夠加載中的模型才能保存 run-config;未加載時面板可能只讀(
source: "file")。瀏覽器不能直連 hop 寫配置,GUI 一律經 monitor 代理。
Agent 工具¶
strata_hop:查詢或操作 hop(status / models / warm / logs)。
strata_status:讀取實時切換/加載狀態。
strata_params 示例語義(具體參數以工具 schema 爲準):
action: get— 讀當前 run-config 視圖action: set+set_json: '{"sampling.temperature": 0.6, "mtp": null}'— 只提交改動的鍵action: restart— 重啓生效當前模型配置action: settings_get/settings_set— 讀寫共享聊天默認值(settings_set爲全量替換,應先settings_get再合併)
monitor 側 HTTP(默認 :8756):GET /params、POST /params {"set": {...}}、POST /restart {"model": ...};GET /settings、POST /settings {"defaults": {...}}。
自檢¶
node tools/smoke.js [--port 8757] # 冒煙:監控 + hop 只讀與路由校驗,不動引擎
dsh --profile web --dump-config # 校驗 bundle/補丁裝配
(smoke.js 在插件倉庫內,安裝後路徑以 bundle 解壓位置爲準。)
適用場景與注意¶
適合誰:本機已跑 strata + strata-hop,希望在 DSH Web 與 agent 會話裏統一預熱、看狀態、改 run-config 與共享採樣默認,而不把 hop 管理腳本散落在多處。
務必注意:
- 插件權限等於 dsh 進程權限;
hopEnvFile、systemd 用戶單元、本機 8080/8756 端口均需你本人信任的環境。 - run-config 保存 ≠ 立刻生效,需「重啓生效」纔有約 25 秒級別的引擎重載。
- 聊天設置 POST 爲全量替換,留空在 GUI 中表示清除該項。
- 不要手改 hop 屬主的 profile JSON;調參應走 GUI、工具或 monitor 代理。
- peer 依賴包括
@deepseek-ai/cordis、@deepseek-ai/dsh-tools(README 寫明與 dsh 0.2.1-rc.2 段兼容)、@deepseek-ai/schemastery,版本範圍見package.json。
結尾¶
dsh-plugin-strata 把本地 strata-hop 的控制面收進 DSH:選中即預熱、狀態芯片可見、run-config 與共享聊天設置可編,agent 可用 strata_hop / strata_status / strata_params 協同,且對推理保持只讀。若你已在系統側配好 strata-hop,可按上文命令安裝並重啓 profile 驗證。