在输入框内预测下一句提示,按 Tab 采纳
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add GoldenLoaf24h/dsh-prompt-suggestion该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 14 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 5 处,展示前 5 条)
- 读取本地文件lib/index.js:375
return JSON.parse(await readFile(file, 'utf8')); - 写入本地文件lib/index.js:383
await mkdir(dirname(file), { recursive: true, mode: 0o700 }); - 写入本地文件lib/index.js:387
await writeFile(temp, JSON.stringify(value), { mode: 0o600 }); - 写入本地文件lib/index.js:388
await rename(temp, file); - 发起网络请求lib/client.js:74
var response = await fetch(BASE + path, init);
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH 输入框支持 Claude Code 风格的下一句提示词预测:每轮对话后给出幽灵建议,按 Tab、Alt+Right 或 Enter 采纳,带历史补全,还有设置页可调模型和推理强度。
README
由 DeepSeek 最新模型翻译生成dsh-prompt-suggestion
Claude Code 风格的「下一步提示预测」:每轮结束后,输入框内以灰色 ghost text 显示模型预测的下一句用户提示。
输入框里的灰色预测
插件页里的设置项
行为
| 操作 | 结果 |
| Tab | 把整条预测填入输入框(可继续编辑,不发送) |
| Alt + → | 按词逐步填入预测,剩下的仍显示为灰字 |
| Enter | 把预测填入并立即发送(可在设置里关掉) |
| Esc | 忽略本次预测,并标记该轮不再提示 |
| 直接打字 | 预测自动消失;擦回原样后又会出现 |
| Alt + R | 换一条预测(旧的那条作为「不要重复」传给模型) |
| ↑ | 空输入框时填入本会话上一条已发送的提示(不是忽略预测,清空后灰字会回来) |
另有一条独立的历史前缀补全:输入几个字后,若本会话发过以它开头的提示,剩余部分会以灰字补出来(同样 Tab 采纳)。它和预测互不干扰——预测不再匹配当前输入时会自动让位给补全,不会把补全挡掉。
预测只在一轮任务结束、输入框为空、没有命令 chip、且会话不在运行时出现。同一轮重复请求命中磁盘缓存,不会重复调用模型;打开一个会话只读缓存、零模型调用,缓存缺失(会话早于插件安装,或条目过期)才补一次真实调用。
展开完整文档(README 剩余 1 节)
dsh-prompt-suggestion
Claude Code 风格的「下一步提示预测」:每轮结束后,输入框内以灰色 ghost text 显示模型预测的下一句用户提示。
输入框里的灰色预测
插件页里的设置项
行为
| 操作 | 结果 |
| Tab | 把整条预测填入输入框(可继续编辑,不发送) |
| Alt + → | 按词逐步填入预测,剩下的仍显示为灰字 |
| Enter | 把预测填入并立即发送(可在设置里关掉) |
| Esc | 忽略本次预测,并标记该轮不再提示 |
| 直接打字 | 预测自动消失;擦回原样后又会出现 |
| Alt + R | 换一条预测(旧的那条作为「不要重复」传给模型) |
| ↑ | 空输入框时填入本会话上一条已发送的提示(不是忽略预测,清空后灰字会回来) |
另有一条独立的历史前缀补全:输入几个字后,若本会话发过以它开头的提示,剩余部分会以灰字补出来(同样 Tab 采纳)。它和预测互不干扰——预测不再匹配当前输入时会自动让位给补全,不会把补全挡掉。
预测只在一轮任务结束、输入框为空、没有命令 chip、且会话不在运行时出现。同一轮重复请求命中磁盘缓存,不会重复调用模型;打开一个会话只读缓存、零模型调用,缓存缺失(会话早于插件安装,或条目过期)才补一次真实调用。若那次补调用失败,一分钟后再自动重试一次——不会因为一次超时就让输入框一直空着。Tab 采纳只影响当前这一屏,刷新页面仍会看到同一条;只有 Esc 才会把该轮标记为「不再提示」并落盘。
设置
「插件 → 提示预测」页面里可改,全部持久化到 ~/.dsh/plugin-data/dsh-prompt-suggestion/settings.json:
- 启用下一步预测 — 总开关
- 模型服务商 / 模型 — 留空则跟随当前会话实际使用的 route;选了服务商后模型变成下拉,选项来自该 adapter 真实发布的目录
- 思考强度 — 自动(最省) 问 route 要它最便宜的档位;也可显式指定 off/low/high/max
- Alt + → 逐词采纳 / Enter 采纳并发送 / 历史前缀补全 / ↑ 回填上一条 — 四个独立开关
- 生成参数 — 预测最长字数、超时、输出上限、携带最近消息条数、上下文字符上限
- 上下文脱敏 — 发模型前抹掉密钥、令牌、密码等敏感串
- 最近预测 — 最近若干条的原文、耗时、所用模型
实现
host(lib/index.js,零第三方依赖)
- 路由:/suggest(取预测)、/session(上一条提示 + 历史)、/dismiss(标记忽略)、/catalog(服务商/模型/思考档位)、/settings(GET/POST)
- 用 ctx.llm.prepareCall + call.stream 发一次辅助调用;purpose 不设(该字段只接受 compaction/session-title)
- 思考强度阶梯:auto 取 route 声明的最便宜档位;显式档位被 adapter 拒绝(UNSUPPORTED_REASONING_EFFORT)时自动降级重试;''(不传该字段,会继承会话的 max)永远排在最后
- 空返回加宽重试:输出被思考 token 吃光时翻倍 maxTokens 再试一次
- transcript 来自 session.deriveMessages(),只取真人/助手文本,尾部按消息条数与字符数双预算裁剪
- 结果按「最后一个 turn/end 的 seq」缓存;失败(超时、模型空返回)只在内存里压一分钟、绝不写盘,所以一次模型抖动不会把这一轮永久钉死成「无预测」,重启即重试
- 自定义路由不经过宿主的 cookie 鉴权,因此自带一道 Origin/Sec-Fetch-Site 同源 fence
client(lib/client.js)
- 注册两个槽位:conversation.input.overlay(输入框里的灰字与按键)和 plugins.bundle.config(插件页的设置表单)
- 灰字挂在编辑器末段落的 ::after 上,文本经继承的 CSS 自定义属性 --dsh-ps-ghost 传入。不能用 content: attr(...):Lexical 每次编辑都重建那个 ,属性会随之丢失;自定义属性设在编辑器上则一直继承下去。空编辑器(Lexical 一个 都不渲染)走 :not(:has(> p, > div))::after 兜底
- 按键在卡片上以捕获阶段监听,早于 Lexical 自己的 keymap;采纳走 inputActions.captureInsertion() + insertText()(带版本校验、可撤销),失败才退回 setDraft()
安装
本目录是一个标准 DSH bundle(dsh.bundle.patch 指向 cordis.patch.yml):
1. 桌面端插件面板(desktop profile 唯一可用的方式,它被 Electron 独占):插件 → 添加插件 → 填本目录绝对路径,或 github:GoldenLoaf24h/dsh-prompt-suggestion
2. CLI(非 desktop profile):dsh plugin --profile <profile> add github:GoldenLoaf24h/dsh-prompt-suggestion
3. Agent 会话内:plugin_manager({action:'install_bundle', target:'github:GoldenLoaf24h/dsh-prompt-suggestion'})
纯 JS、无构建步骤、零第三方运行时依赖,源码装即可用。装完后 package.json 的 dsh.profile.bundles 会自动登记。改 lib/index.js 需要在插件面板关掉再打开(host 半不热更新),改 lib/client.js 刷新页面即可。
配置
- id: prompt-suggestion
name: dsh-prompt-suggestion
config:
enabled: true # 与设置页里的开关等价,设置页优先预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
GoldenLoaf24h/dsh-prompt-suggestion
在输入框内预测下一句提示,按 Tab 采纳
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目