前言¶
在 DSH(DeepSeek Harness)的開發與調試中,經常遇到模型卡住、跑偏或需要即時干預的情況。傳統做法通常是等待當前回合結束,或者完全中斷對話。dsh-steer 插件解決了這個問題,它允許在模型思考過程中,實時向會話注入糾偏信息或直接打斷當前回合。
這是什麼¶
dsh-steer 是一個 DSH bundle 插件,由 CAI-MH 維護。它通過宿主的 sessionController 編排層,提供實時引導和中斷能力,讓開發者能精細控制大模型的運行狀態,而無需等待整個任務跑完。
核心功能¶
發送引導:不打斷當前回合,將糾偏信息注入正在運行的會話。模型在下一步邊界讀取這些信息,保留已完成的工作。
打斷:停止當前回合,但保留排隊中的消息。
可視化控制:界面左下角懸浮球帶狀態指示點:綠點表示有會話正在思考,灰點表示空閒。插件支持自動列出並選中正在思考的會話,在多個會話並行時,用戶可手動切換目標。
接口控制:提供同源 HTTP 接口進行操作。
安裝與啓用¶
根據覈實的事實,官方安裝命令爲 plugin_forge_install。具體操作步驟如下:
- 將插件目錄拷貝到 web profile 的
node_modules/dsh-steer/。 - 在 profile 的
package.json中註冊dependencies和dsh.profile.bundles。 - 重啓 DSH Desktop 以加載 bundle(bundle 需重啓才被加載器掃入)。
典型用法¶
插件通過代碼或 HTTP 接口與宿主交互。
代碼調用示例:
* 注入引導:調用 prompt({ requestId, sessionId, mode: 'steer', content }),消息以 steering 節點進入實時收件箱。
* 排隊消息:調用 prompt(..., mode: 'queue')。
* 打斷會話:調用 cancel({ sessionId })。
HTTP 接口調用示例:
* 獲取會話列表:
GET /api/steer/sessions
- 發送消息:
POST /api/steer/message
Body: { sessionId, text, mode? }
參數 `mode` 默認爲 `steer`,失敗時退化爲 `queue`。
- 打斷會話:
POST /api/steer/cancel
Body: { sessionId }
適用場景與注意¶
生效粒度:引導信息的生效粒度是「下一步邊界」,不會打斷正在流式輸出的 token。若模型卡在長時間工具調用裏,引導需等該步自然結束才被讀取。若需立即全停,請使用「打斷」功能。
權限與安全:接口爲同源 HTTP,僅限本機迴環 + 同源校驗。插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。