dsh-next-step:在 Harness 輸入框裏用灰色幽靈文本提示「下一句」

前言

在 DeepSeek Harness(DSH)裏連續和 Composer 對話時,下一條指令往往得自己從頭敲,或者從上一輪記憶裏回憶措辭。社區插件 dsh-next-step(維護者 LmaoAgent)換了一種做法:當你清空輸入草稿後,在輸入區以灰色幽靈文本顯示系統推測的「下一條消息」;按 Tab 接受,刪掉草稿後提示會再出現。推測不會寫入會話歷史,也不改變正式對話記錄。

下面介紹插件定位、工作機制、安裝步驟和配置,便於在本地核對後再啓用。

這是什麼

dsh-next-step 是面向 DSH Web Composer 的客戶端插件(dsh.bundle.patch 包,帶瀏覽器側邏輯)。它在每輪對話之後、輸入爲空時,向本地小服務請求一條短建議,併疊加在 [data-composer-input] 附近顯示。當前 npm 包版本爲 0.2.0,許可證 MIT,運行環境要求 Node.js >= 22(見倉庫 package.json)。

核心功能

已覈實能力如下,均來自項目 README:

  1. 灰色幽靈建議:輸入框爲空時顯示推測的下一條用戶消息;灰色顯示,直到你按 Tab 採納。
  2. 草稿交互:接受後內容進入可編輯輸入;清空草稿後,建議會在輪詢週期內再次出現。
  3. 本地預測服務:瀏覽器側監視 Composer;草稿爲空時約每 15 秒 向本地 HTTP 服務要一次建議。服務根據 sessionId 讀取 ~/.dsh/sessions 下該 Session 的日誌,用最近一條人類消息與助手回覆做上下文(注入類上下文如 AGENTS.md 會被排除)。
  4. 可選模型調用:設置 DEEPSEEK_API_KEY 時,服務發起一次體量很小的模型請求(reasoningEffort: off,輸出最多約 160 token);未配置密鑰時使用零 token 的啓發式續寫(README 舉例爲類似「繼續完成下一步」的通用句式)。
  5. 與 Harness 集成:通過 Plugins 安裝並啓用後,由 Harness 的 MCP 客戶端拉起服務,一般無需手動起進程;也可全局安裝 npm 包後自行 npx dsh-next-step。

工作機制簡述

插件之所以拆成「瀏覽器半部 + 本地服務」,是因爲從 Plugins 面板安裝的 bundle 無法在 Host 側直接 import Harness 包;預測因此放在本機小服務裏完成。流程可以概括爲:

  1. 瀏覽器半部發現 Composer 草稿爲空,按固定間隔(15 秒)攜帶 sessionId 請求本地服務。
  2. 服務讀 Session 日誌,取最近人機文本,排除注入上下文後生成建議字符串。
  3. 有 API Key 時走 deepseek-chat(可通過環境變量改模型);否則走啓發式。
  4. 返回的文本只用於輸入框疊加顯示,不進入對話歷史。

安裝與啓用

安裝命令以倉庫 README 爲準,不要憑插件名拼接未在文檔出現的 dsh plugin add 形式。

1. 可選:全局安裝 npm 包(便於手動跑服務)

npm install -g dsh-next-step   # optional: run the service by hand

2. 在 DSH 裏安裝並啓用插件

在 DeepSeek Harness 中打開 Plugins → Add plugin,輸入 dsh-next-step,安裝、啓用並重啓應用。README 說明:bundle 會通過 Harness MCP 客戶端啓動服務,通常不用手起進程。

若改用手動方式,可執行:

npx dsh-next-step

終端會打印類似 next-step: http://127.0.0.1:61760 的監聽地址(默認端口見下文配置表)。

3. 驗證

新建 Session,發送一條消息後清空輸入框;README 寫明約 15 秒內 應出現灰色建議。

配置項

變量 默認值 含義
NEXT_STEP_HTTP_PORT 61760 瀏覽器半部訪問的本地服務端口
DEEPSEEK_API_KEY 未設置 配置後啓用模型建議;否則僅用啓發式
NEXT_STEP_MODEL deepseek-chat 建議所用模型
NEXT_STEP_LOCAL_ONLY 未設置 設爲 1 時即便有 Key 也強制啓發式

典型用法

README 給出的可復現場景:

  1. 正常與 Composer 完成一輪對話。
  2. 將輸入框內容全部刪掉,保持爲空。
  3. 等待輪詢(最多約 15 秒),閱讀灰色幽靈文本是否爲合理的「下一條指令」。
  4. 若採納,按 Tab 將建議填入輸入框,再按需修改後發送;若暫不採納,直接輸入自己的內容即可覆蓋灰色提示。

示意圖(邏輯與 README 一致):輸入區曾顯示例如「幫我看看當前項目的結構」一類文案,在按 Tab 之前以灰色幽靈形式存在。

適用場景與注意

適合誰

  • 經常在同一 Session 裏做多步任務、下一句指令模式相對固定的 Harness 用戶。
  • 願意在本地跑一個小 HTTP 服務,並可選配置 DeepSeek API Key 以獲得更貼上下文的建議。

已知限制(README)

  • 必須有本地服務:第三方 bundle 暫不能在 Host 側直接調模型,平臺能力缺口見 deepseek-harness discussion #12742。
  • 輪詢而非即時:建議每 15 秒刷新,並不保證嚴格對齊 turn/end 時刻。
  • 疊加位置:幽靈文本依賴測量 [data-composer-input],多行草稿或主題變化可能導致偏移。
  • 無 Key 時較泛化:啓發式模式只能給出較通用的續寫,深度依賴對話語義時需配置 DEEPSEEK_API_KEY。

安全與權限

插件以當前 DSH 進程及你所啓用的本地服務權限運行,會讀取 ~/.dsh/sessions 下對應 Session 日誌;安裝前請在 GitHub 查看源碼與 MIT 許可證,確認是否符合你的環境與合規要求。DSH 生態強調「一切皆插件」;社區目錄站點與 DeepSeek / 幻方無官方從屬關係,本文所述安裝與配置均以 LmaoAgent/dsh-next-step 倉庫文檔爲準。

結尾

經過上面的步驟,你可以在 Composer 空草稿時用 Tab 快速採納「下一句」建議,減少重複措辭成本。進一步瞭解與安裝入口:

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

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

小夜