dsh-send-mode:輸入框裏的排隊/引導開關

前言

智能體在跑長任務時,輸入框裏按 Enter 默認是排隊,等當前回覆結束後再發送。有時你想插一句話立刻讓 AI 處理,有時又怕中途插入打斷思路,希望先排隊。DSH 原生只提供了「設置 → 通用 → 繁忙時的發送行爲」這一個入口,切換要離開輸入框,改完再回來。下面介紹的 beisheng2333/dsh-send-mode 把同樣的開關放進輸入框工具欄,運行中也能切。

這是什麼

由 BeiSheng2333 維護的客戶端插件 beisheng2333/dsh-send-mode,在 DSH 輸入框的工具欄提供一個分段開關,用來切換智能體運行時 Enter 鍵和發送按鈕的行爲:排隊(等當前回覆結束後再發送)或引導(指令追加到當前任務,AI 儘快處理,處理前可能繼續輸出)。插件是純客戶端 bundle,不發起網絡請求。

倉庫裏 package.json 的 description 原文爲 “Queue/steer switch in the DeepSeek Harness composer: choose what Enter and Send do while the agent is running.”,當前版本 1.0.0,許可證 MIT。

核心功能

一句話概括:一個工具欄開關,讀寫 DSH Host 的 ui-conversation.busyEnter 設置。

具體行爲:

  • 排隊:運行中按 Enter 或點發送,消息進入隊列,等當前回覆結束後再發送。
  • 引導:運行中按 Enter 或點發送,指令追加到當前任務,AI 儘快處理;AI 在處理前可能繼續輸出。
  • 開關決定 Enter 和發送按鈕的行爲;Cmd/Ctrl+Enter 始終使用另一模式,可以在兩種行爲之間快速往返。
  • 開關寫入的是 Host 側的 ui-conversation.busyEnter,與內置的「設置 → 通用 → 繁忙時的發送行爲」是同一份狀態,兩邊雙向同步,任一處改動另一處跟着變。
  • 設置未加載時開關不渲染;寫入失敗時邊框短暫變紅,並保留原選擇。

安裝與啓用

README 給的安裝方式有兩種,沒有命令行一鍵腳手,按自己的工作流選:

在 DSH 的「插件」管理界面中選擇本倉庫目錄安裝。

或者下載 Releases 中的壓縮包後添加:

從 https://github.com/BeiSheng2333/dsh-send-mode/releases 下載 dsh-send-mode-1.0.0.tgz,
在 DSH 的「插件」管理界面中添加。

安裝後按提示重載或重啓 DSH。插件是純客戶端 bundle,安裝會向當前 profile 的 bundle 列表加入 dsh-send-mode,不需要額外配置。下面這段是 package.json 裏 dsh 字段的原樣內容,說明了 bundle 補丁位置和 client 端的注入依賴:

{
  "dsh": {
    "bundle": {
      "patch": "./cordis.patch.yml"
    },
    "client": {
      "platform": "web",
      "immediately": true,
      "inject": [
        "@deepseek-ai/dsh-client-ui-slots",
        "@deepseek-ai/dsh-client-ui-settings",
        "@deepseek-ai/dsh-client-locale"
      ]
    }
  }
}

實現與兼容性

插件目錄很小,想知道開關怎麼落到工具欄,直接看這幾個文件:

  • client.js — 在 conversation.input.right 註冊分段開關,通過 ctx.configForms.get('ui-conversation') 讀寫 busyEnter。
  • index.js — Host 側空實現,所以這是一個純客戶端插件,Host 端沒有額外邏輯。
  • cordis.patch.yml — 向 profile 插入 dsh-send-mode 條目。
  • locale/ — 插件卡片文案(界面文案在 client.js 中註冊到 send-mode 命名空間)。
  • icon.svg — 插件圖標。

兼容性方面,README 寫明插件在 DSH 0.2.1-rc.3 的 Web 客戶端上開發和驗證。它依賴 DSH 自帶的 ui-conversation(提供槽位和設置命名空間)、ui-settings(提供 ConfigForms)和 ui-locale(提供文案),這幾個依賴默認啓用。engines.node 要求 >=20。

典型用法

安裝並重啓後,操作順序如下:

  1. 在輸入框工具欄找到分段開關(位於 conversation.input.right 槽位)。
  2. 智能體運行時,想先攢後發選排隊,Enter 或點發送的消息進入隊列,等當前回覆結束再發出。
  3. 想立刻追加指令選引導,AI 會盡快處理,處理前可能繼續輸出。
  4. 需要臨時切到另一邊時按 Cmd/Ctrl+Enter,無需手動改設置。
  5. 界面裏切到的開關狀態與「設置 → 通用 → 繁忙時的發送行爲」雙向同步,任一處改動都能在另一處看到。

適用場景與注意

適合的場景:

  • 會在運行中持續追問的智能體對話:排隊模式下先攢後發,引導模式下邊跑邊插話,想切就切。
  • 希望切換入口貼近輸入框,不想來回進出設置頁。
  • 可以接受純客戶端 bundle,不需要 Host 側邏輯。

注意:

  • 插件以當前 DSH 進程的權限運行,安裝前應先檢查源碼,確認它是「讀寫本地 busyEnter、無網絡請求」這兩點。
  • 只在 Web 客戶端生效;其行爲依賴 DSH 自帶的 ui-conversation、ui-settings 和 ui-locale,三者默認啓用。
  • SkillHub 目錄頁與 GitHub 倉庫均爲社區維護,與 DeepSeek / 幻方無官方從屬關係,當前星標爲 0。
  • 使用前確認你的 DSH 版本與 0.2.1-rc.3 兼容,或在當前版本自行驗證。

小結

這個插件不增加模型能力,也不改 Prompt,只解決一件事:把 DSH 原生的 busyEnter 設置從設置頁搬到輸入框工具欄。代價是依賴 ui-conversation 槽位和 ui-settings 的 ConfigForms,收益是運行時可以隨手切換排隊與引導。屬於客戶端分類,當前版本 1.0.0,MIT 許可。

相關鏈接:

  • SkillHub 目錄頁:https://www.skillhub.cn/plugins/BeiSheng2333/dsh-send-mode
  • GitHub:https://github.com/BeiSheng2333/dsh-send-mode
羽毛球分组比赛记分
小程序二维码

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

小夜