前言¶
在使用 DeepSeek Harness(DSH)进行对话或编写 Prompt 时,除了等待模型回复,还需要自己构思下一条消息或完成草稿的续写。手动输入效率有限,而现有的一些预测插件要么只支持单一模式,要么在切换候选时需要离开键盘。下面介绍一个同时支持「下一条消息建议」和「输入时续写」的客户端插件,它使用 ghost-text 的方式在输入框内展示候选,并通过键盘操作完成选择。
插件定位¶
- 名称:dsh-composer-predictions
- 维护者:Stijnus
- 类型:客户端插件
- 核心价值:在 DSH 的 composer 中提供 Tab 自动补全与输入预测,包括回复后的下一条消息建议、输入停顿时的续写,以及通过键盘切换候选。
核心功能¶
1. 下一条消息建议¶
在 Agent 回复结束后,空输入框会以灰字流式显示下一条消息的建议。Tab 键可以将该建议采纳为可编辑草稿。
2. 输入时续写¶
在输入过程中暂停并让光标停留在草稿末尾时,插件会在光标处显示续写建议。这用于补全句子或段落,不会自动发送。
3. 键盘候选切换¶
Tab:接受当前候选,将其变为可编辑草稿,不发送。Alt + Down/Alt + Up:在最多三个候选之间切换。Escape:关闭建议列表。- 输入任意字符:取消正在进行的请求并隐藏 ghost。
4. 流式渲染¶
建议文本会流式渲染,Tab 提示在最终候选就绪时出现。当前版本使用 Server-Sent Events(/v2)接口。
5. 设置控制¶
在 Settings → General → Composer predictions 中可开关预测功能。设置保存在当前浏览器或桌面窗口的本地存储中,其他来源和设备保持各自的偏好。
安装与启用¶
系统要求¶
- DSH 版本:
>=0.2.1-rc.3 <0.3.0-0 - 支持平台:桌面端与 Web GUI
安装方式¶
方式一:通过插件界面
- 在 DeepSeek Harness 中进入「Plugins → Install」。
- 输入插件名:
dsh-composer-predictions
- 重启 Harness(或刷新 Web UI)。
方式二:通过 CLI(需指定 profile)
dsh plugin --profile web add dsh-composer-predictions
把 web 换成自己的 profile 名称。插件会在下一次启动时生效。
方式三:添加市场索引
在「Plugins → Discover → Index sources」中添加:
https://raw.githubusercontent.com/Stijnus/dsh-composer-predictions/main/market-index.json
使用流程¶
- 发送一条消息并等待 Agent 回复。
- 空输入框中出现下一条消息的 ghost 建议,带
Tab键提示。 - 或者输入草稿并暂停,光标末尾出现续写 ghost。
- 当
Tab出现时:
- 按Tab将候选转为可编辑草稿。
- 按Alt + ↓/Alt + ↑切换候选。
- 按Escape或开始输入以关闭 ghost。 - 编辑草稿后,由你自己按 Enter 发送。插件不会自动提交。
工作原理¶
插件分为 Host 和 Client 两半:
- Host 半:在 Harness Web 服务器上注册两个路由:
POST /composer-prediction:兼容旧客户端的 JSON 接口。POST /composer-prediction/v2:Server-Sent Events 流式接口。
请求携带 { sessionId, mode, draft },其中 mode 为 next 或 continue。Host 读取会话尾部消息,添加最近的工具调用及其结果,构建一个受限的 prompt。模型输出被分割为最多 maxSuggestions 个干净的一行候选。
- Client 半:注册到
conversation.input.overlay,负责: - 对请求进行去抖动(回复结束 600ms、打字暂停 500ms 后发送)。
- 取消被后续请求覆盖的请求。
-
在空 composer 或光标位置渲染 ghost,并跟随编辑器的内边距、行高和滚动位置。
-
缓存:结果按会话序列(
next模式)和草稿(continue模式)缓存,避免重复调用模型。 -
不记录日志:预测请求不会写入会话日志,也不计入对话轮次和 token 统计。
与其他预测插件的差异¶
| 特性 | dsh-composer-predictions | dsh-composer-prediction | dsh-input-prediction | dsh-ghost-prompt |
|---|---|---|---|---|
| 回复后建议下一条消息 | ✅ | ✅ | ✅ | ✅ |
| 输入时续写(光标处) | ✅ | — | ✅ | — |
| 多候选(一行) | ✅ 最多 3 个 | — | ✅ 1–3 个芯片 | — |
| 键盘切换候选 | ✅ Alt+↓ / Alt+↑ | — | —(点击芯片) | — |
| 采纳为可编辑草稿 | ✅ | ✅ | Tab 编辑草稿;芯片点击发送 | ✅ |
| 流式渲染 | ✅ SSE (/v2) |
未文档化 | ✅ | ✅ |
| 缓存 | ✅ 按轮次 + 草稿 | ✅ | ✅ | 未文档化 |
如果只需要回复后的下一条消息建议,dsh-composer-prediction 是更成熟的选择。本插件适合同时需要输入时续写和键盘候选切换的场景。
适用场景与注意¶
- 适用人群:频繁使用 DSH 编写 Prompt 或进行多轮对话的开发者。
- 权限:预测使用与 DSH 应用相同的已认证所有者访问权限。
- 生态说明:DSH 采用「一切皆插件」的理念,本目录页与 GitHub 仓库由社区维护,与 DeepSeek 或幻方无官方从属关系。
安装前建议检查源码与许可证(MIT)。