前言¶
在 DeepSeek Harness(DSH)的 composer 中,回合結束後的“下一句”往往需要手動敲擊或複製粘貼。常見的做法是依賴通用提示詞模板(如“繼續”),或者依賴其他插件的預測,但它們要麼不夠貼合上下文,要麼會搶奪 Enter 鍵的發送行爲。dsh-next-hint 在 DSH Desktop 和 web profile 上提供了另一種選擇:當回合結束且 composer 草稿爲空時,在輸入框第一行顯示一條灰色幽靈文本,按下 Tab 鍵採納,不觸發發送。
這是什麼¶
dsh-next-hint 是一個 DSH 插件,由維護者 xiaoshenming 開發,分類爲客戶端。它利用一個獨立的輔助請求讀取當前會話的最近幾輪對話上下文,從而生成貼合當前工作的下一句建議。建議以“幽靈文本”的形式呈現,可見、可撤銷,且不會自動發送。
核心功能¶
- 幽靈建議:回合 settle、草稿爲空時,在 composer 第一行顯示灰色幽靈文本,右側顯示 Tab accept。
- 按 Tab 採納:Tab 將幽靈文本插入到草稿末尾,光標隨之移動,不發送。
- 不打字即消失:開始打字時幽靈文本自動消失。
- 切換會話即丟棄:切換到其他會話時幽靈文本被清除。
- 靜默失敗:超時、無路由、模型拒絕等情況下,幽靈文本不出現,日誌最多一條 warn,不向用戶暴露錯誤。
- 不上傳對話原文:瀏覽器只發送 sessionId,對話原文由主機進程讀取並保留在本地,不寫入外部存儲或日誌。
安裝與啓用¶
DSH Desktop¶
- 打開 DSH Desktop 設置。
- 進入 Plugins 頁面。
- 添加 Git 包,輸入:
github:xiaoshenming/dsh-next-hint#main
- 重啓應用一次,插件隨啓動加入列表。
Web profile¶
若使用 self-managed 的 web profile:
dsh plugin --profile web add "github:xiaoshenming/dsh-next-hint#main"
同樣需要重啓應用一次。
更新¶
從插件頁面更新,或在 desktop profile 下:
cd ~/.dsh/profiles/desktop && pnpm update dsh-next-hint
更新後若未生效,再次重啓應用即可。
典型用法¶
- 在 DSH 中完成一輪對話,等待 composer 草稿爲空。
- 若插件啓用,第一行會出現灰色幽靈文本(例如“fix the two failing cases as well”)。
- 將焦點保持在 composer,按下 Tab 鍵。
- 幽靈文本被插入到草稿末尾,光標跟隨其後,此時按 Enter 纔會發送。
- 若開始打字,幽靈文本自動消失。
配置項¶
進入 DSH 設置 → Plugins → dsh-next-hint,每個配置項都有默認值,無需手動填寫。
| 配置項 | 默認值 | 含義 |
|---|---|---|
enabled |
true |
總開關 |
provider / model |
空 | 空時跟隨會話最後一條路由;兩者必須同時設置或不設置 |
locale |
auto |
建議語言 |
maxTurns |
3 |
採樣最近幾輪對話 |
maxInputBytes |
8000 |
輔助請求的輸入預算 |
maxOutputTokens |
128 |
輸出 token 上限 |
maxHintChars |
48 |
幽靈文本長度上限;過長的段落會被丟棄,長句會被截斷 |
timeoutMs |
15000 |
單次請求超時時間 |
perSessionCooldownMs |
0 |
會話冷卻時間,默認每回合都建議 |
技術實現¶
- 職責分離:瀏覽器負責判斷是否顯示幽靈文本(草稿是否爲空、是否正在打字、當前會話 ID),主機負責生成建議。
- 單次請求/響應:瀏覽器向主機的
/api/next-hint發送 sessionId,主機據此讀取最近幾輪對話,調用一次獨立的 LLM,返回建議或靜默失敗。 - 官方插槽:幽靈節點掛載在
conversation.composer.dock,由插件自己渲染與清理。 - 失敗策略:模型返回“無建議”時,插件會用更嚴格的指令再問一次;若仍無建議,則不再顯示幽靈文本。
生態與兼容性¶
- 與其它插件的關係:
- dsh-composer-prediction:同樣是“回合結束 + 幽靈文本 + 瀏覽器決策 + 主機生成”,但使用覆蓋層插槽、獨立設置頁、會話級緩存,並通過 Esc 關閉;本插件使用官方 dock 插槽,切換會話時丟棄建議。從 0.7.7 起,它會檢測本插件並自動暫停,避免重疊。建議只啓用其中一個。
- dsh-input-assist:補全你正在輸入的句子並檢查拼寫,本插件建議回合結束後的下一句。兩者僅在空閒空 composer 時可能同時出現,此時關閉其中一個即可。
- 版本要求:已測版本爲 DSH Desktop
0.2.1-rc.2(Windows)與同一版本的 web profile(macOS)。主機需要ctx.llm、ctx.sessions和ctx.webServer.register;瀏覽器需要conversation.composer.dock插槽與 composer 輸入門面。若上游調整這些接口,幽靈可能失效,但不會報錯。 - 權限與安全:插件以當前 DSH 進程權限運行,請求僅允許來自 loopback,外部請求會被拒絕。對話原文僅保存在本地進程,不寫入日誌或外部存儲。
適用場景與注意¶
- 適合需要連續對話、並在回合間快速推進工作流的場景。
- 安裝前建議閱讀源碼與許可證(MIT),確認其行爲與你的使用習慣一致。
- 若已安裝 dsh-composer-prediction 或 dsh-input-assist,請按文檔提示只啓用其中一個,避免幽靈重疊。
結尾¶
dsh-next-hint 在回合結束時提供貼合上下文的下一句建議,以幽靈文本的形式呈現,Tab 採納,不自動發送,適合作爲 DSH 中連續對話的輔助工具。更多細節與源碼可參考:
- 技能目錄:https://www.skillhub.cn/plugins/xiaoshenming/dsh-next-hint
- GitHub:https://github.com/xiaoshenming/dsh-next-hint