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 快速采纳「下一句」建议,减少重复措辞成本。进一步了解与安装入口:

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

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

小夜