dsh-esc-enter:DeepSeek Harness Web UI 的 Esc 取消與追加/停止按鈕插件

前言

DeepSeek Harness (DSH) 採用插件化架構。在 Web UI 端,開發者有時需要更精細的交互控制,比如在生成過程中快速取消當前回合,或者在不打斷當前生成流的情況下追加指令。dsh-esc-enter 插件針對這些需求,提供了 opencode 風格的 UX 支持。

插件簡介

該插件由 Liangebra 維護,歸類爲客戶端插件,採用 MIT 許可證。它不包含宿主邏輯,純客戶端實現,主要解決兩個問題:一是通過 Esc 鍵取消運行中的任務,二是在輸入框 dock 槽中提供直觀的“追加”與“停止”按鈕。

核心功能

  1. Esc 取消當前任務
    在 agent 運行時按下 Esc 鍵,會立即取消當前回合。該機制與“停止”按鈕完全一致,均調用 Session.cancel(),且隊列中未執行的工作會保留到下一回合。
  2. Dock 槽追加與停止按鈕
    插件掛載於 conversation.composer.dock 槽位。當 ConversationSnapshot.running 爲 true 時,會在輸入框旁渲染“追加”和“停止”兩個按鈕。
    - 追加按鈕:調用 inputActions.submit(),將當前輸入框草稿提交爲隊列指令。若草稿爲空,按鈕自動禁用。
    - 停止按鈕:調用 sessions.binding(sessionId).session.cancel(),用於中斷當前任務。
    兩按鈕僅在運行中顯示,空閒時自動隱藏以保持界面整潔。
  3. Enter 行爲不重複實現
    插件不會覆蓋 DSH 內置的“運行中按 Enter”的行爲。該行爲由 DSH 內置設置決定,可能是“追加指令”也可能是“打斷”。
  4. 空閒時不攔截 Esc
    在 agent 空閒時,Esc 鍵不會觸發插件邏輯,命令菜單或彈層可以正常關閉。

安裝與啓用

在終端中執行以下命令安裝插件:

dsh plugin --profile web add github:Liangebra/dsh-esc-enter

安裝完成後,重啓 dsh web 服務,並在瀏覽器中執行硬刷新(Ctrl / Cmd + Shift + R)以加載更新。

典型用法

  • 取消任務:當智能體正在生成回覆時,直接按下鍵盤上的 Esc 鍵,即可取消當前回合。
  • 追加指令:在輸入框旁的 dock 槽中,點擊“追加”按鈕將當前草稿加入待發隊列;點擊“停止”按鈕則中斷當前回合。
  • Enter 交互:運行中按下 Enter 鍵,具體行爲(追加或打斷)取決於 DSH 內置的設置。

適用場景與注意

該插件適合需要在 Web UI 中獲得更清晰任務控制反饋的開發者。

注意事項:
- 插件完全基於客戶端邏輯運行,無宿主後端邏輯。
- Esc 取消機制與停止按鈕共享同一底層路徑。
- 下載使用前,建議檢查源碼與許可證(MIT)。

結語

dsh-esc-enter 通過鍵盤快捷鍵和 UI 按鈕的結合,優化了 DeepSeek Harness Web UI 的交互體驗。更多細節可查閱社區目錄或 GitHub 倉庫。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜