dsh-next-hint:回合结束后的下一句幽灵建议

前言

在 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

  1. 打开 DSH Desktop 设置。
  2. 进入 Plugins 页面。
  3. 添加 Git 包,输入:
github:xiaoshenming/dsh-next-hint#main
  1. 重启应用一次,插件随启动加入列表。

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

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

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

Xiaoye