dsh-next-message:DeepSeek Harness 下一句預測插件

前言

在 DSH(DeepSeek Harness)裏寫對話時,聊着聊着常常已經知道下一句要追問什麼,只是懶得再敲一遍。這個插件幫你省掉這一遍。

插件會在助手回完一輪、輸入框爲空時,在輸入框裏放一行灰字,是它猜你接下來要說的話。想用就按 Tab,不想用就按 Esc,或者直接打你自己的。消息永遠由你自己發送。

它是什麼

dsh-next-message 是 DeepSeek Harness 的下一句預測插件,由維護者 746445568 開發,分類爲模型推理。

灰字只是顯示在輸入框上的一層,不是草稿的內容,也不會被髮出去。讀屏軟件能從輸入框的描述裏讀到建議和按鍵提示。輸入框裏有草稿、附件、引用,或者有消息在排隊時不會出建議。

核心功能

灰字出現在空輸入框裏,有三種處理方式:

  1. Tab:把整句填進輸入框,變成一份普通草稿。你可以接着改,也可以按一次撤銷回到空輸入框。
  2. Esc:忽略這條建議。同一輪裏改了草稿再清空,它也不會再冒出來。
  3. 直接打字:灰字立刻消失。

它是怎麼猜的

猜之前先挑上下文。只看當前會話裏真正的用戶消息和助手回覆的文字,工具輸出、模型的推理過程、DSH 自己注入的消息都不算用戶的意思。

具體挑選規則:

  • 最近一條用戶消息和最近一條助手回覆一定保留,分別占上下文預算的 48% 和 32% 左右。
  • 再從最近 8 條用戶消息裏找帶約束的句子(”不要”“必須”“只做”“保持”,或者 must、don’t、only、keep 這類),最多留 8 句,作爲 user_constraints 一起交給模型。
  • 剩下的預算先給更早的、帶約束的用戶消息,再按時間從近到遠補助手和用戶的消息,總共最多 12 條。
  • 太長的消息保留頭尾,中間用一個標記表示被裁剪。整個過程沒有額外的摘要請求。

模型返回之後還有一道檢查,沒通過的整條丟棄,不會裁剪成半句再顯示:

  • 必須是 {"suggestion": 字符串} 形式的 JSON,空字符串、null、非字符串都不要。
  • 長度不超過上限(默認 80 個字符),不含控制字符和雙向文本控制符。
  • 不能是助手口吻的開頭(”我來”“讓我”“以下是”“Sure”“Here is”這類),也不能是”繼續”“好的”“thanks”這種空話。
  • 建議裏的鏈接、文件路徑,以及”端口”“預算”“金額”後面的數字,必須在對話裏出現過。
  • 對話是中文的話,建議裏必須有中文。

模型如果去調工具、沒有正常結束、或者輸出過長,這一輪同樣跳過。

安裝

  1. 下載 dsh-next-message-0.1.0.tgz,保持 .tgz 格式,不用解壓。這個包的 SHA-256 是 0b430ffa25a23f4ce7121515141c5458b27f0daaeba4a7dbc7f54e0d102443aa。
  2. 在 DSH 裏打開”插件 → 添加插件”,填入安裝包的完整本地路徑,安裝並啓用,然後完全退出 DSH 再重新打開。
  3. 到”設置 → 下一句預測”確認開關是開着的。聊完一輪,保持輸入框爲空,等灰字出現。

也可以用 dsh 命令。以 PowerShell 和 desktop profile 爲例:

dsh plugin --profile desktop add "C:\Downloads\dsh-next-message-0.1.0.tgz"

網頁版把 profile 換成 web。如果同時裝了別的灰字預測插件,本插件發現它的灰字顯示在輸入框裏時會主動讓出,狀態裏會寫”檢測到另一個灰字插件,已讓出輸入框”。

兼容性

package.json 裏聲明的範圍是 DSH >=0.2.1-rc.1 <0.3.0-0,Node.js ^22.19 || >=24。實際只在 0.2.1-rc.2 的 Linux + Chromium 網頁界面上驗證過。Windows 和 macOS 的原生桌面殼、0.2.1-rc.1 都還沒實測。

設置

“設置 → 下一句預測”裏可以調下面這些項,改完點”保存設置”才生效,保存後會立刻取消正在進行的預測。

設置頁裏的名字 默認 範圍 說明
啓用預測 開 關掉之後不再發任何預測請求
模型來源 / 預測模型 跟隨當前會話 可以單獨選一個 DSH 裏已配好的快速模型,不需要給插件填 API Key。服務商和模型必須成對選
建議語言 跟隨最近一條用戶消息 中文 / English 自動模式看最近一條用戶消息裏有沒有中文
等待上限(毫秒) 3000 1000–10000 超時就跳過這一輪,不會自動重試
建議最長字符數 80 24–160 超出的整條丟棄
上下文字數預算 12000 3000–24000 發給模型的上下文上限,連 JSON 外殼和轉義都算在內

設置保存在 $DSH_HOME/next-message.json,沒設置 DSH_HOME 時是 ~/.dsh/next-message.json。寫入是先寫臨時文件再改名,文件權限是僅自己可讀寫,裏面沒有對話內容,也沒有密鑰。

數據去向

預測走的是 DSH 自帶的模型服務。插件會把當前會話裏挑出來的近期文本發給你選的模型服務,費用或額度按那邊的正常規則算。插件自己沒有單獨的第三方 API 地址。

  • 只處理當前會話,不讀別的會話,不調用工具,不訪問新網站,也不會替你發消息。
  • 發出去之前會先遮蔽幾種常見的密鑰:sk- 和 sk-proj- 開頭的 key、GitHub 的 ghp_ 這類 token、Bearer 令牌、PEM 私鑰。這只是兜底,認不出所有敏感信息,會話內容還是要按你所選服務商的規矩對待。
  • 請求數、緩存命中、顯示數、接受和忽略數、耗時,以及服務商返回的 token 統計,只放在宿主內存裏,重啓就清空。

沒出現灰字怎麼辦

  1. 到設置頁看一下插件是否啓用、能不能連上、模型來源是否可用。
  2. 讓助手正常回完一輪,再清空輸入框。回合還在跑、被取消或者出錯時不會預測。
  3. 看設置頁的”當前狀態”。如果是超時,就調大等待上限或換個更快的模型;如果是模型請求失敗,先確認 DSH 本身能正常用這個模型。
  4. 完全退出並重啓 DSH,查看有沒有插件加載錯誤,順便確認沒有別的灰字插件在跑。

生態背景

DSH 理念是「一切皆插件」,社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。

適用場景與注意

適合需要頻繁追問、連續對話的開發者。使用前應檢查源碼與許可證,插件以當前 dsh 進程權限運行。

短結尾

這個插件通過智能預測下一句對話,讓連續對話更流暢。完整文檔在 GitHub:https://github.com/746445568/dsh-next-message

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

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

小夜