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

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

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

小夜