前言¶
DeepSeek Harness(DSH)的插件生態允許開發者在不修改核心代碼的情況下擴展功能。在開發涉及子代理(Subagent)的複雜工作流時,開發者通常在配置界面設定模型,但實際運行中,路由重試、故障轉移或中間代理邏輯可能會改變最終調用的模型。這種差異導致在原生的工具調用行中缺少對實際運行狀態的直觀反饋。
dsh-subagent-model-visibility 是一個小型的 DSH 插件,它的作用是直接在現有的原生子代理工具調用行中,顯示子代理實際使用的提供者和模型,幫助開發者觀察真實的路由情況。
插件簡介¶
- 插件名:
dsh-subagent-model-visibility - 維護者:AGSQ11
- 類別:模型推理
- 許可證:MIT
- 核心價值:不猜測配置的模型,而是通過觀察子會話的
llm/stream路由,在 UI 中展示實際接收請求的模型。
安裝與啓用¶
安裝前,請確保插件文件已解壓到本地目錄。執行以下命令進行安裝和啓動:
dsh plugin --profile web add .\dsh-subagent-model-visibility
dsh web
使用方式¶
安裝後,插件會自動增強原生子代理的下拉菜單和工具調用行。
- 在原生子代理下拉菜單中:
在 DSH 自身標題/摘要的下方,每個可見的子代理行會顯示一行新的信息,標明該子會話當前正在服務的實際模型。例如:
Implement ATR position sizing & risk limits
…existing DSH summary…
Slave: claude-opus-5
- 在原生子代理工具調用行中:
插件會直接在現有的工具調用行中添加模型信息。例如:
Tool call · subagent · Implement ATR position sizing & risk limits
MODEL brainz / claude-opus-4.7 · 2 model requests · subagent: spawn
OUT
started subagent 616c26ce-...
- 查看路由歷史:
如果子代理在恢復過程中更改了路由,行內顯示會更新。將鼠標懸停在模型行上,可以查看路由歷史和請求計數。
工作原理¶
插件通過以下幾個步驟實現數據的採集與展示:
- 使用 Node
AsyncLocalStorage包裝tools/execute,確保能安全地將原生的 DSH 工具調用與它創建的subagent/start事件關聯起來,即使存在併發調用。 - 在
subagent/start階段,記錄子會話 ID 和 DSH 子代理傳輸方式(如 spawn、fork、ACP 等)。 - 監聽
llm/stream,根據sessionId觀察子代理的實際請求,並記錄最終派發給 LLM 運行時的提供者和模型。 - 在
subagent/end階段記錄終端狀態。 - Web 客戶端利用 DSH 穩定的
[data-chat-call-id]行身份,在現有行內注入緊湊的模型信息行,並在路由變化時實時更新。
配置說明¶
插件提供基礎的配置項來控制數據的保留和 UI 刷新:
- id: subagent-model-visibility
name: dsh-subagent-model-visibility
config:
retentionMs: 86400000
maxEntries: 1000
uiRefreshMs: 1000
retentionMs:已完成的觀察數據保留給 UI 使用的時間長度。maxEntries:觀察到的子代理會話的內存上限。uiRefreshMs:瀏覽器刷新模型/故障轉移變化的頻率。
注意事項¶
- 不猜測,只觀察:插件不基於配置猜測模型,而是直接觀察子會話的
llm/stream路由。 - 不修改行爲:插件不會修改提示詞、模型路由邏輯、工具參數、工具結果或子代理的生命週期。
- 初始狀態:新啓動的後臺子代理在首次模型請求開始前,會短暫顯示 “Resolving actual model…”。
- 遠程傳輸限制:未通過父級 DSH
ctx.llm發起模型請求的遠程子代理傳輸,將保持 “Resolving actual model…” 狀態,因爲無法獲取權威的底層模型信息。 - 歷史行重建:在此插件啓動前創建的歷史行無法可靠重建,因此這些行保持原樣。
- 隱私安全:瀏覽器 API 僅包含工具/子代理 ID、傳輸名稱、提供者/模型路由名稱、時間戳、請求計數和終端狀態。提示詞、模型輸出、憑據、標頭、文件系統路徑和工具參數均不包含在內。
結語¶
dsh-subagent-model-visibility 專注於提供對子代理實際模型調用的可視化能力。它通過非侵入式的方式,幫助開發者確認模型路由的實際走向,而不干擾核心業務邏輯。