在 DeepSeek Harness 的 Web 界面中,會話壓縮通常需要手動輸入命令。dsh-plugin-compact-button 在模型選擇器左側添加了一個按鈕,直接調用部署自帶的 /compact 命令,將壓縮操作轉化爲一次點擊。
插件定位¶
名稱:dsh-plugin-compact-button
作者:liutian11451-png
許可證:MIT
核心功能¶
該插件向 Web UI 提供了一個壓縮手勢。它通過 Session 的命令通道提交裸 /compact 行,確保了所有相關記錄(持久化嘗試、壓縮鎖、摘要路由、渲染的流程節點)均由 /compact 擁有。
- 空白會話處理:會話爲空時不渲染任何內容,因爲沒有歷史記錄可供壓縮。
- 代理運行狀態:當代理正在運行時,按鈕變灰且不可點擊,保持其普通標籤。手動壓縮需要一個空閒的代理。
- 壓縮狀態反饋:壓縮期間顯示“Compacting…”標籤,直到壓縮回合結束。
- 拒絕原因展示:在 Composer 行上方顯示內聯拒絕原因。傳輸失敗顯示主機的消息;未安裝
/compact命令則報告爲缺少能力。 - 包聲明:插件聲明瞭
dsh.bundle。
安裝與啓用¶
使用官方插件管理命令安裝。由於插件聲明瞭 dsh.bundle,dsh plugin 會自動在配置文件中註冊其補丁層。
dsh plugin --profile web add dsh-plugin-compact-button
請將 web 替換爲您實際使用的配置文件名稱。首次安裝後,需要重啓 dsh web 並重新加載頁面;構建負載是在啓動時組合的,因此初次安裝時僅重新加載頁面是不夠的。
開發與測試¶
如果需要從源碼開發或測試:
pnpm install
pnpm build # 生成 lib/index.js 和 lib/client.js
pnpm typecheck
node smoke.mjs # 在模擬 shell 上測試加載器契約
限制與注意事項¶
- 前置要求:部署必須掛載壓縮能力 —— 即
dsh-command-compact加上壓縮後端。如果沒有該命令,按鈕仍會渲染並因缺少能力而拒絕點擊。 - 運行時限制:
- Web Profile Only:插件僅聲明
platform: web,無終端界面等效物。 - Idle Agents Only:當代理運行時禁用,與
compactNow的要求一致。 - No Region Selection:控制始終提交無參數的表單,因此它壓縮後端的整個有用範圍。
- Web Profile Only:插件僅聲明
- 行爲細節:
- 預約 ≠ 完成:命令 RPC 在主機預約該行時解析,因此“Compacting…”標籤覆蓋從手勢到壓縮回合結束的窗口。由自動策略或其他回合開始的壓縮不會更改標籤;控制僅在該回合運行時變灰。
- 忙碌標籤是有限的,不是精確的:如果已預約的嘗試從未產生可觀察的運行,則在 8 秒寬限期後釋放。之後開始的壓縮看起來像控制提前空閒。
- 源碼審查:此代碼由 AI 代理(deepseek-flash)於 2026-09-12 生成。在使用前,尤其是允許其
prepare腳本在您的機器上運行之前,請審查源碼。
結語¶
該插件爲 DSH Web 界面提供了一個標準化的壓縮入口點,無需手動輸入。更多細節與源碼,請訪問 GitHub 倉庫。