- Startseite
- Plugins
- Sitzungen & Nachrichten
- dsh-prompt-predict
dsh-prompt-predict
ferrisching/dsh-prompt-predict
输入框提示词联想插件:助手回复结束后预测你的下一句话,以灰色 ghost text 浮在输入框里,Tab 采纳、Esc 忽略 | Codex-style composer prompt predictions for DeepSeek Harness: your next message ghosted into the composer, accepted with Tab.
Installation
dsh plugin --profile web add github:ferrisching/dsh-prompt-predictREADME
dsh-prompt-predict
dsh-prompt-predict 是一个 DeepSeek Harness 插件:每轮助手回复结束后,它根据当前会话预测你下一句最可能输入什么,并以灰色 ghost text 的形式浮在输入框里。整条建议不写进编辑器,只有按下 Tab 采纳时才真正插入(可撤销),因此误预测零成本。
📑 目录
✨ 功能一览
- 回复结束即出建议:在输入框首字符处浮出灰色 ghost text,光标位置、字号、行高都对齐当前编辑器
- 三种交互:
Tab采纳 ·Esc忽略 · 开始输入自动消失;采纳前建议不属于会话内容 - 轻量上下文:只取最近若干条 user/assistant 的纯文本,工具结果、附件、系统提示一律不进辅助调用
- 默认跟随当前会话模型:不写死任何提供商,联想调用沿用会话自身选用的模型;也可以在设置页固定到某个更便宜的模型
- 全部可调:开关、提供商 / 模型、响应超时、上下文规模、思考深度,保存后立即生效,无需重启 DSH
- 零运行时依赖:纯 ESM,Host 端与客户端都不引入第三方包
🚀 安装
插件已发布到 npm,安装方式按方便程度排序。
在 DSH 里安装(推荐)
图形界面:打开插件页 →「添加插件」→ 填入包名 dsh-prompt-predict → 安装。
或者用 dsh CLI:
dsh plugin --profile desktop add dsh-prompt-predict
--profile 换成你自己的 profile(桌面端一般是 desktop,Web 端是 web)。两条路都是从 npm 拉取;装完重启 DSH 生效。
装完在 设置 → 提示词联想 里能看到开关与各项参数。若装完没生效,用下面的
scripts/install.sh再跑一次补接线(幂等,可重复执行)。
从源码安装
git clone https://github.com/ferrisching/dsh-prompt-predict.git
cd dsh-prompt-predict
bash scripts/install.sh
脚本会现场打包本仓库、装进 profile 的 node_modules,并把 dsh-prompt-predict 接进 dsh.profile.bundles。默认目标是 ~/.dsh/profiles/desktop,装别的 profile:
bash scripts/install.sh ~/.dsh/profiles/web
装完重启 DSH 生效,然后在 设置 → 提示词联想 里能看到开关与各项参数。
手动安装
cd ~/.dsh/profiles/desktop
pnpm add dsh-prompt-predict # 从 npm 装
# 或装本地源码(符号链接,适合边改边调):
pnpm add /path/to/dsh-prompt-predict
再打开该 profile 的 package.json,把 "dsh-prompt-predict" 加进 dsh.profile.bundles 数组,重启 DSH。
安装要求
- 已在 DSH
0.2.0-rc.2上验证(桌面端) node/pnpm:安装脚本优先使用~/.dsh/dsh-runtimes/*/dependencies下 DSH 自带的运行时,找不到才回退PATH- macOS / Linux;Windows 未验证
⌨️ 使用
- 正常对话,等助手这一轮回复结束,且输入框为空
- 约 350 ms 后,输入框里浮出一条灰色建议
- 想用就按
Tab(建议此刻才插入输入框,可撤销);不想用按Esc,或直接开始打字,建议自动消失
建议只在输入框为空、且当前会话不在运行中时出现;切换会话、中断回复都会清掉旧建议。
⚙️ 设置
设置 → 提示词联想:
| 设置项 | 说明 | 默认 |
|---|---|---|
| 启用联想 | 总开关 | 开 |
| 提供商 / 模型 | 联想调用使用的模型;选「跟随当前会话模型」则沿用会话自身模型 | 跟随当前会话模型 |
| 响应超时(高级) | 1–60 秒 | 12 秒 |
| 上下文规模(高级) | 少 3 条 / 标准 8 条 / 多 12 条 | 标准 8 条 |
| 思考深度(高级) | 选项按所选模型动态生成,模型不支持的档位不会出现 | 关闭(最快最省) |
- 保存后立即生效,无需重启 DSH
- 设置落盘在
~/.dsh/dsh-prompt-predict/config.json(权限 600) - 优先级:用户保存的设置 > cordis patch 部署默认 > 内置默认
🔌 HTTP 接口
插件在 DSH 的 Web 服务上注册同源前缀路由 /dsh-prompt-predict,设置页与输入框联想都走它。所有接口都经 DSH 浏览器 Cookie 认证(connection.requestRejection),非本机浏览器调用会拿到 401/403。
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /dsh-prompt-predict/status | 当前会话模型、有效设置、已保存项、部署默认 |
| GET | /dsh-prompt-predict/catalog | 全部 provider 与模型(供下拉选择) |
| GET | /dsh-prompt-predict/efforts?provider=&model= | 该模型真实支持的思考档位 |
| POST | /dsh-prompt-predict/settings | 保存设置;{ "reset": true } 恢复默认 |
| POST | /dsh-prompt-predict/suggest | { sessionId } → 一条建议 |
🧩 工作原理
Host 端(lib/)
lib/index.js作为插件入口注册同源 HTTP 路由- 收到
suggest后,lib/predict.mjs从会话里裁出最近的 user/assistant 纯文本——按条数上限和字符预算从后往前取 - 裁剪结果被帧化成一条 request-only 的 user 输入再发给辅助模型:DSH 的 Assistant Message 必须带完整
stream/replayState,不能拿裁剪片段伪装成助手消息(与 session-title 的做法一致) - 流式收回的文本经归一化(剥掉代码块包装、
建议:前缀、成对引号,合并换行)后返回给客户端
模型选择上,provider / model 为 auto 表示跟随会话;此时不向辅助调用写死路由,由 predictNextPrompt 继承会话自身选用的模型。
客户端(client/)
- 注入
conversation.composer.dock(输入框旁的生命周期挂载点)与settings.section(设置页分区)两个 slot - ghost text 是一层覆盖层,不写进 Lexical 编辑器;只有采纳时才通过
inputActions.insertText真正插入
🛠️ 开发
git clone https://github.com/ferrisching/dsh-prompt-predict.git
cd dsh-prompt-predict
node test/predict.mjs # 31 项:文本裁剪、建议清洗、路由继承、设置校验、接口端到端
.
├── lib/ Host 端(纯 ESM,无构建步骤)
│ ├── index.js 插件入口,注册 HTTP 路由
│ ├── host-route.mjs 同源接口:状态 / 模型目录 / 思考档位 / 设置 / 建议
│ ├── predict.mjs 会话裁剪、调用辅助模型、建议归一化
│ └── config.mjs 用户设置持久化
├── client/
│ └── client.js 客户端:输入框 ghost text 覆盖层 + 设置页
├── test/
│ └── predict.mjs 31 项用例
├── scripts/
│ └── install.sh 一键安装 / 升级
├── cordis.patch.yml 插件挂载补丁
└── package.json
测试不依赖 DSH 运行时:用假 ctx 与本地 HTTP server 覆盖路由注册、设置校验、路由继承与端到端调用。
🔐 安全与成本
- 每轮助手回复最多产生一次小额辅助调用,默认
maxTokens: 64 - 建议不写入会话日志;只有按
Tab采纳并发送后才成为正式消息 - 只发送裁剪后的 user/assistant 纯文本,工具结果、附件、系统提示都不出本机
- 设置页与联想接口均走 DSH 自身的浏览器 Cookie 认证
⚠️ 已知限制
- 仅在 DSH
0.2.0-rc.2上验证过,其它版本未测 - 依赖宿主的
conversation.composer.dock与settings.section两个 slot 名称,DSH 大版本调整后可能需要适配 - 联想会消耗所选模型的额度;固定到快速小模型比跟随推理模型更省
📄 许可
MIT © ferrisching
可以自由使用、修改、分发,包括闭源商业项目;只需保留版权声明与许可证文本。
Ähnliche Plugins
dsh-web-ui (dsh-chat-recovery)
zhu1090093659/dsh-web-ui
billion-context
ranxianglei/billion-context
dsh-synapse
liangmianya/dsh-synapse
dsh-chat-import
nwflower/dsh-chat-import