前言¶
DeepSeek Harness 的 agent 會在完成一輪工具交互後連續發出下一輪請求。若想中途介入,直接打斷會導致模型“膽小”或停止工作。此插件在請求發出前拉門暫停,保持輸入框可用,允許人類通過回車或按鈕放行。
插件定位¶
這是一個純插件(better-er/dsh-pause),運行在 DSH Web 上。它掛在 agent/pre-step 鉤子上,在模型準備發送下一次請求前停下。暫停期間,輸入框照常可用,用戶可以輸入插話或直接回車繼續。此過程不中斷任何正在進行的 API 調用,模型也察覺不到暫停的存在。
核心功能¶
- 可開關:默認關閉,每個會話可獨立開啓。
- 暫停在請求前:模型完成一輪工具交互、正要發出下一次請求之前停下,不打斷任何在途 API 調用。
- 保持 composer 可用:暫停期間輸入框照常可打字,不遮擋、不切換。
- 回車即放行:在主輸入框按裸 Enter 繼續。草稿爲空爲無感繼續,草稿有字則把文字作爲插話隨本次請求一併發出,隨後清空草稿。
- 按鈕同樣放行:也可直接點「已暫停·回車或點此繼續」按鈕,行爲同上並讀取當前草稿。
- 模型無感知:上下文完整、不插入多餘消息,模型察覺不到暫停存在。
安裝¶
dsh plugin --profile web add github:better-er/dsh-pause
安裝後需重啓 DSH Web 才能生效。
使用方法¶
- 點 composer 工具行右側的「暫停」按鈕,變「暫停開」即該會話已開啓。
- 之後該會話的工具續跑請求會在發出前停下。
- 需要放行時在主輸入框按裸 Enter,空爲無感繼續,有字爲插話。也可點「已暫停·回車或點此繼續」。
- 用完再點「暫停開」關掉。暫停中關掉會放行正掛着的門。
技術細節¶
- 暫停點設在請求真正發出之前,故無在途調用可打斷。
- 續跑判定用同一 turn 內 step 大於 1 近似,首條純文字請求永不暫停。
- 因 DSH 的 composer Enter 由 InputBar 私有 keymap 處理、第三方無 hook 點,暫停態用 DOM capture 攔截裸 Enter 改走放行。
- 主機側不經
ctx.connection.rpc.handle(該 API 自 0.1.2 起即不可用),改爲向 webServer 自注冊/dsh-pause前綴路由。
生態背景¶
DSH 理念是「一切皆插件」。該插件由社區開發者維護,與 DeepSeek / 幻方無官方從屬關係。