前言¶
在 DeepSeek Harness(DSH)生態中,插件化是其核心架構。當你在主 Agent 環境中運行長週期的任務時,隨時插入一個簡單的背景查詢(例如確認端口號、定義差異)會打斷當前的執行流,或污染上下文窗口。dsh-btw-plugin 爲此場景提供了一個非阻塞的解決方案,允許你以獨立窗口的形式並行處理側邊問題。
這是什麼¶
dsh-btw-plugin 是一個由 WLV-ZEDD 維護的 DSH 側邊助手插件,提供 Instant Non-Blocking /btw Command。它的核心價值在於將背景查詢與主 Agent 流程物理隔離,通過懸浮面板實時反饋結果,而無需中斷當前進程。
核心功能¶
該插件提供以下已覈實能力:
- 非阻塞執行:輸入
/btw後,輸入框會立即清空(0ms 延遲),查詢在後臺執行,不干擾主 Agent 的運行狀態。 - 懸浮面板:結果以 Docked Floating Banner 形式顯示在消息輸入框上方。
- 量子均衡器可視化:生成過程中,五個藥丸狀的進度條以主題藍色脈衝跳動。遇到自動重試時,進度條和狀態徽章會變爲琥珀色。
- 智能自動重試:針對瞬時模型錯誤,插件支持最多 5 步自動重試,間隔呈指數級增長(1s → 1.5s → 2s → 2.5s → 3s,總計約 10s)。
- 會話與上下文感知:自動繼承當前活躍會話的模型,並提取最近的對話歷史(
session.deriveMessages())和活躍工作區,確保側邊回答與主對話上下文一致。 - 準確性優先的 Prompt:內置一套系統提示詞,旨在引導模型忠實還原名詞、綜合歷史信息並直接回答,避免防禦性約束導致的幻覺。
- 富文本渲染:支持 Markdown(粗體、斜體、行內代碼、有序列表、無序列表)。
- 隔離存儲:歷史記錄以 JSON 格式持久化存儲在
~/.dsh/storages/btw-history,不影響其他插件。
安裝與啓用¶
推薦使用官方命令安裝:
pnpm dsh plugin add @wlv-zedd/dsh-btw-plugin
若需手動配置,請先安裝依賴:
pnpm add @wlv-zedd/dsh-btw-plugin
然後在 cordis.yml 中啓用插件(或通過 cordis.patch.yml 補丁配置):
# cordis.yml
plugins:
@wlv-zedd/dsh-btw-plugin:
# 可選:指定專用模型,留空則自動繼承當前會話模型
# model: deepseek:deepseek-chat
典型用法¶
在 Web 聊天界面中,直接輸入 /btw 後跟問題即可。系統會在輸入框上方彈出懸浮面板。
/btw What is the port number of PostgreSQL?
/btw What is the difference between TCP and UDP?
面板交互:
* 翻頁:使用 < 和 > 鍵切換當前會話中的歷史側邊問題(顯示爲 < 1/5 >)。
* 操作:支持複製答案、刪除記錄、摺疊/展開內容以及關閉面板。
適用場景與注意¶
- 適用場景:需要在長對話流中快速查詢技術細節、定義或事實性信息,且不希望打斷主 Agent 思考的情況。
- 環境要求:
- Node.js:
>= 22.19.0 - DSH:
>= 0.2.0 - 依賴項:
@deepseek-ai/cordis,@deepseek-ai/schemastery
- Node.js:
- 權限注意:插件以當前 DSH 進程權限運行。安裝前建議檢查源碼與許可證(MIT)。
結語¶
dsh-btw-plugin 通過將背景查詢工具化、可視化,優化了 DSH 的工作流。對於需要頻繁進行“主任務 + 側邊查證”的開發者,這是一個實用的輔助工具。