前言¶
在 DeepSeek Harness(DSH)里用 Web Composer 和智能体多轮对话时,常见情况是:上一轮刚结束,你脑子里已经有「下一步要说什么」,但还要把那句话完整敲进输入框。Codex、Claude Code 等产品会在空输入框里用灰色幽灵文本猜你下一条可操作消息,按 Tab 即可采纳。DSH 生态里插件可以扩展 Host 与 Client 能力;若你希望 Web 端有同类体验,而不自己改 Composer,可以装社区插件 dsh-prompt-forecast(维护者 littepointR)。下文介绍它做什么、如何安装,以及配置与限制。
这是什么¶
dsh-prompt-forecast 在 DSH Web Composer 中提供「下一条可操作消息」的幽灵文本预测:一轮对话结束后,由会话所用模型推断你最可能发送的下一句指令,经会话投影推到客户端,在空输入框第一行以灰色文字显示。按 Tab 或 → 写入草稿(不会自动发送);按 Esc 忽略。你开始输入后提示会隐藏,已有输入不会被替换。
插件分类为「模型推理」,当前在 SkillHub 目录页 可查;源码与说明见 GitHub。许可证为 MIT(package.json 当前版本 0.2.4)。
核心功能¶
预测目标¶
预测的是下一条可执行的用户消息,而不是对结果的猜测或纯状态汇报。README 举例:运行测试、修复错误、选 A 方案、纠正方向、要求解释超时原因等。纯状态、日志复述、猜测性叙述会被约束拒绝;模型也可回答 NONE。fork 模式在结果不可用时会经后过滤,并在开启 fallback 时退回 digest 路径。
两种预测模式¶
fork(默认):类似 Codex 的上下文分叉。取当前文本 transcript(含 system/developer 与用户/助手文本,去掉 tool、推理与附件块),再追加一条合成用户轮:Suggest my next message.,单次内存内辅助调用,不创建子会话。token 开销较大,通常需要更大的timeoutMs。digest:用紧凑 JSON 摘要(recent_user_messages、latest_assistant_reply、tools_used)加简短 action 导向 system prompt,适合长会话或希望省 token 的场景。
运行方式要点¶
- 使用完成本轮对话时所用的路由模型(可回退到 profile 默认),一般无需单独配置 Provider。
- 在
agent/turn-stopping边界内生成预测,随本轮结束一并到达客户端,无需轮询;超过timeoutMs则丢弃,对话照常结束。 - 跳过 subagent 会话、以及没有人类输入的轮次;预测失败、中止或变慢时静默失败,不在会话里弹错。
环境与 API 面¶
要求 DSH 0.2.1-rc.2 及以上且仍在 0.2.x(engines.dsh: ^0.2.1-rc.2)。安装与 profile 启动会校验版本范围,不满足则拒绝加载。插件基于 0.2.1-rc.2 的 conversation.input.overlay、InputActions.captureInsertion() / insertText(),以及由 agent/turn-stopping 喂入的 session projection。DSH 0.3 需等待匹配的插件发行版。
安装与启用¶
在 web profile 下从 GitHub 安装(包为纯 JavaScript,无额外 build):
dsh plugin --profile web add github:littepointR/dsh-prompt-forecast
dsh web
dsh plugin add 会通过 pnpm 安装并因包声明 dsh.bundle.patch 自动加入 dsh.profile.bundles。重启 profile 后插件才会加载。
固定标签版本示例:
dsh plugin --profile web add github:littepointR/dsh-prompt-forecast#v0.2.4
CLI 不接受 --profile desktop(该 profile 留给 Electron 应用);桌面端请在 Settings → Plugins 中操作,或安装到 CLI 使用的 profile。
本地 checkout 可通过 Plugin Manager 将包目录作为 bundle 目标安装;cordis.patch.yml 会插入 prompt-forecast 行,重启后仍保留。
典型用法¶
- 确保 DSH 版本满足
^0.2.1-rc.2,并按上一节安装到 web profile 并重启。 - 在 Web Composer 中正常与智能体对话;一轮结束且输入框为空时,若预测成功,第一行会出现灰色建议。
- Tab 或 →:将建议插入草稿,自行编辑或发送。Esc:忽略。任意键入:隐藏幽灵文本。
可选:在 profile 的 cordis.patch.yml 里为该插件行的 config 覆盖默认行为(见下表)。
| 字段 | 默认值 | 含义 |
|---|---|---|
enabled |
true |
false 时不注册 Host 半部 |
mode |
fork |
fork 全 transcript + 合成轮;digest 为 JSON 摘要 |
maxTokens |
1024 |
预测请求输出 token 上限 |
temperature |
0.4 |
采样温度 |
timeoutMs |
12000 |
请求硬超时,超时则无建议 |
maxPromptChars |
80 |
预测文本裁剪长度 |
maxForkChars |
12000 |
fork 窗口字符预算(system/developer 始终保留) |
fallback |
true |
fork 无可用文本时重试 digest |
maxInputChars |
6000 |
digest 摘要大小上限 |
skipSubagents |
true |
不对 subagent 会话预测 |
provider |
本轮路由 | 可显式覆盖 |
model |
本轮路由 | 可显式覆盖 |
适用场景与注意¶
适合:经常在 Web Composer 里连续发短指令的 DSH 用户;希望减少「想好了但还要敲一遍」的摩擦,且接受建议只是草稿、质量依赖当前会话模型。
限制(README 明确):
- 仅空输入框显示建议;对已有半行草稿的补全不在本版本范围。
- 采纳只是插入纯文本,不触发发送或工具。
- 小模型可能给出较泛的跟进句。
安全与信任:插件在当前 DSH 进程权限下运行,预测请求会把 transcript 或摘要发给本轮所用模型路由。安装前请阅读 源码 与 MIT 许可证,并只在可信环境使用。SkillHub 为社区目录站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-prompt-forecast 把「下一条可操作消息」做成 Web Composer 里的 Tab 可采纳幽灵提示,默认 fork 模式对齐 Codex 式体验,也可用 digest 控制成本。需要时按官方命令装入 web profile 并重启即可试用。
- 目录页:https://www.skillhub.cn/plugins/littepointR/dsh-prompt-forecast
- GitHub:https://github.com/littepointR/dsh-prompt-forecast