在 DeepSeek Harness (DSH) 的開發流程中,當代理處於忙碌狀態時,新消息會被自動加入隊列。默認情況下,按 Enter 鍵通常只會將下一條消息加入隊列,或者等待當前回合結束。這種機制導致在調試或快速測試時,開發者對消息執行的順序缺乏即時控制力。dsh-queue-first-enter 插件通過改變空編輯器下 Enter 鍵的行爲,提供了一種直接干預隊列的方式。
插件簡介¶
dsh-queue-first-enter 是一個 DSH Web 插件,由 himeope 維護。它的核心邏輯是:當編輯器爲空(無文本、無待發送圖片)時,按下 Enter 鍵會將隊列中的第一條消息導向當前正在進行的回合。
安裝與啓用¶
安裝該插件需要使用官方提供的命令。該插件僅通過倉庫分發,未發佈到 npm。
dsh plugin --profile web add github:himeope/dsh-queue-first-enter
安裝後需要重啓 dsh web。該插件需要 dsh web 0.1.0-rc.6 或更新版本。在設置界面(Settings → General)中,可以找到“Enter sends the first queued message”或“回車立即發送隊列首條”的開關來控制此功能。
核心功能¶
功能僅在滿足以下所有條件時生效:
* 編輯器爲空(無文本且無待發送圖片);
* 代理正在運行(有進行中的回合);
* 隊列中至少有一條狀態爲 queued 的消息;
* 當前會話爲普通會話(非子代理會話)。
在上述條件下,按下 Enter 鍵會將隊列中的第一條消息導向當前回合。其餘隊列消息保持原有順序。如果回合瞬間結束或消息已被佔用,操作會靜默失敗,消息留在隊列中。此外,Ctrl/Cmd+Enter 鍵仍保留原有功能(導向所有隊列消息)。
典型用法¶
該插件主要用於在代理忙碌時調整消息執行的優先級。
-
場景一:強制插入隊列首條
當代理正在處理消息,且隊列中已有內容時,清空編輯器並按 Enter。此時隊列的第一條消息會在下一個回合邊界被導向當前回合,而不是等待隊列填滿。 -
場景二:調整隊列順序
假設代理忙碌,先發送消息 A(入隊),再發送消息 B(入隊)。此時清空編輯器並按 Enter,消息 A 將優先被導向當前回合。
注意事項¶
- 該功能僅影響普通會話,不影響子代理會話。
- 必須確保編輯器爲空且沒有待發送圖片。
- 注意版本兼容性:需要 dsh web 0.1.0-rc.6 或更新版本。
通過這個插件,開發者可以在不中斷當前回合的情況下,靈活控制隊列中消息的導向順序,從而優化調試和測試流程。