🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

下一句补全 msun1999/dsh-next-suggestion

DeepSeek Harness
msun199913 天前有提交已提供中文文档扫描:未发现敏感能力

在输入框内预测你的下一句回复,按 Tab 一键填入草稿

29.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add msun1999/dsh-next-suggestion
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 13 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 2 处,展示前 2 条)
  • 发起网络请求
    client.js:89
    const response = await fetch(`${ENDPOINT}/get?sessionId=${encodeURIComponent(sid)}`, {
  • 发起网络请求
    client.js:169
    fetch(`${ENDPOINT}/consume`, {
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 输入框的行内下一条回复建议:预测你最可能发的下一条消息,按 Tab 填入。

README

由 DeepSeek 最新模型翻译生成
dsh-next-suggestion DeepSeek Harness 插件 · 在对话输入框里内联提示「下一句回复」。 在对话输入框里用灰字预言你接下来最可能说的那句话,按 Tab 一键填入草稿——像 GitHub Copilot,但补全的是你自己的下一句话。 它长什么样 输入框里的下一步建议 助手这一轮回复刚结束,输入框里就会浮现一行灰色文字(上图为界面示意,样式取自真实界面):那是模型根据最近几轮对话猜的你下一句。按 Tab 接受,它变成可编辑的正常草稿(Ctrl+Z 可撤销);不理它、开始打字,它自动消失;直接点这行灰字也能接受。 特性 - 理解上下文:读当前会话最近 5 条消息,模仿你的语言和口吻(中文/英文都会跟着对话走) - 零打扰:只在草稿为空时显示;有内容就自动隐藏;不弹窗、不抢焦点 - 一键接受:Tab 插入,走编辑器原生的插入接口,可撤销;也可以直接点那行灰字 - 快:Host 侧订阅 turn/end 事件,回复一结束立刻开始预测(不等轮询、不等静默计时),通常 2–3 秒出现 - 省钱:按「会话 + 日志序号」缓存,每个轮次最多生成一次,重复轮询不产生额外请求;单次输出上限 700 tokens - 纯 JS,无需构建:Host 半是 ESM 模块,Client 半是浏览器直接加载的单文件 安装 方式一:本地目录
展开完整文档(README 剩余 1 节)
dsh-next-suggestion

DeepSeek Harness 插件 · 在对话输入框里内联提示「下一句回复」。

在对话输入框里用灰字预言你接下来最可能说的那句话,按 Tab 一键填入草稿——像 GitHub Copilot,但补全的是你自己的下一句话。

它长什么样

输入框里的下一步建议

助手这一轮回复刚结束,输入框里就会浮现一行灰色文字(上图为界面示意,样式取自真实界面):那是模型根据最近几轮对话猜的你下一句。按 Tab 接受,它变成可编辑的正常草稿(Ctrl+Z 可撤销);不理它、开始打字,它自动消失;直接点这行灰字也能接受。

特性

- 理解上下文:读当前会话最近 5 条消息,模仿你的语言和口吻(中文/英文都会跟着对话走)
- 零打扰:只在草稿为空时显示;有内容就自动隐藏;不弹窗、不抢焦点
- 一键接受:Tab 插入,走编辑器原生的插入接口,可撤销;也可以直接点那行灰字
- 快:Host 侧订阅 turn/end 事件,回复一结束立刻开始预测(不等轮询、不等静默计时),通常 2–3 秒出现
- 省钱:按「会话 + 日志序号」缓存,每个轮次最多生成一次,重复轮询不产生额外请求;单次输出上限 700 tokens
- 纯 JS,无需构建:Host 半是 ESM 模块,Client 半是浏览器直接加载的单文件

安装

方式一:本地目录

把仓库克隆到任意位置
git clone https://github.com/msun1999/dsh-next-suggestion.git

然后在 DeepSeek Harness 里让它作为 bundle 安装(plugin_manager 的 install_bundle,target 指向该目录的绝对路径)。
安装后插件会以 include:next-suggestion 出现在 profile 里,重启 GUI 依然生效。

方式二:直接从 GitHub 装

在 profile 目录里
pnpm add github:msun1999/dsh-next-suggestion

见方式三的 cordis.patch.yml 片段。

方式三:手动接入 profile

1. 把包加入 profile 的依赖(pnpm add <路径或包名>)
2. 在 profile 的 cordis.patch.yml 里加:

- insert:
- id: next-suggestion
name: 'dsh-next-suggestion'

3. 刷新 Web UI 页面

需要 Web 形态的 GUI(dsh.client.platform = "web")与内置的 @deepseek-ai/dsh-client-ui-conversation(对话界面)插件。

使用

| 操作 | 结果 |
| 什么都不做 | 灰字在输入框里徘徊,随时可接受 |
| Tab | 接受建议,写入草稿(可 Ctrl+Z 撤销) |
| 点击灰字 | 同上 |
| 直接开始打字 | 灰字消失,正常输入 |
| 发出去 / 换会话 | 该位置的建议被消费,不再重复出现 |

工作原理

一轮回复结束 │ Host 订阅 session/event.turn/end ▼ 生成预测(llm.stream,最近 5 条消息 + 指令,reasoningEffort=low) │ 结果按 (sessionId, seq) 缓存 ▼ Client 每 800ms 轮询 GET /dsh-next-suggestion/get?sessionId=…
│
▼
在 conversation.input.overlay 插槽里绘制 ghost text(盖住 placeholder) │ Tab ▼
inputActions.captureInsertion() + insertText(text, span) → POST /consume

文件结构

| 文件 | 作用 |
| index.js | Host 半:注册 HTTP 路由、读取会话日志、调用 llm 服务生成预测、缓存与预热 |
| client.js | Client 半:注册到 conversation.input.overlay 插槽,测量输入框位置、绘制 ghost text、处理 Tab |
| cordis.patch.yml | 把插件插入 profile 的 Loader 配置 |
| locale/*.json | 插件在「插件」面板里的标题与描述(中/英) |

Host 路由

| 路由 | 说明 |
| GET /dsh-next-suggestion/get?sessionId= | 返回 { text }。&refresh=1 丢弃缓存重新生成;&debug=1 只读返回诊断字段(不触发生成) |
| POST /dsh-next-suggestion/consume | { sessionId },标记该位置的建议已被接受/丢弃,不再重复出现 |

数据来源与模型选择都跟随当前会话:

ctx.get('sessions').get(id).deriveMessages() // 会话上下文
ctx.get('agentDefaultModel').currentSelection() // 用户当前选的模型
ctx.get('llm').stream({ provider, model, system, messages, … }) // 生成预测

可调参数

index.js:

| 常量 | 默认值 | 含义 |
| KEEP_MESSAGES | 5 | 喂给模型的最近消息条数 |
| MAX_MESSAGE_CHARS | 300 | 单条消息截断(助手侧) |
| MAX_USER_CHARS | 400 | 单条消息截断(用户侧) |
| MAX_TRANSCRIPT_CHARS | 3200 | 整段对话总长度上限 |
| MAX_SUGGESTION_CHARS | 120 | 建议句最大长度 |
| CACHE_LIMIT | 200 | 缓存会话数上限 |
| TIMEOUT_MS | 25000 | 单次生成超时 |
| STABLE_MS | 1200 | 没有状态事件时的静默判定阈值 |
| maxTokens / reasoningEffort | 700 / 'low' | 生成预算与思考强度 |

maxTokens 别压太低:思考内容会先吃掉预算,压到 300 左右会出现“思考写完但正文为空”的空建议。

client.js:

| 常量 | 默认值 | 含义 |
| POLL_MS | 800 | 轮询建议的间隔 |
| PROBE_MS | 300 | 测量输入框位置与空状态的间隔 |

已知限制

- 只在草稿为空时提示;已有内容不显示
- 同一轮里反复改草稿不会重算,要等下一轮回复结束才更新
- 依赖输入框实现为 contenteditable="true",且 placeholder 写在属性上;若对话界面大改,需要重新校准 pickEditor() 与背景取色
- 预测走当前会话所用的模型;若该模型思考很长,出现时间会相应变慢
- 建议可能不准——它只是一句话级的猜测,接受前请自己过一眼

开发与调试

改完 index.js / client.js 后,把配置档里的 include:next-suggestion 关掉再打开即可重载(ESM 缓存会被重置、Client bundle 版本号会更新);不行就再刷新一次浏览器页面。

诊断接口:

curl "http://127.0.0.1:<gui-port>/dsh-next-suggestion/get?sessionId=session-xxxx&debug=1"

返回 sessionFound / seq / tailRole / ready / busy / inflight / cachedSeq / lastMs / lastRaw / lastError / target / text,可用来确认是否命中会话、是否在生成、上一次生成花了多久、原始输出有没有被清理。

License

MIT
预览分享卡片长什么样 ↓msun1999/dsh-next-suggestion
分享 · DeepSeek Harness Hub
msun1999/dsh-next-suggestion

在输入框内预测你的下一句回复,按 Tab 一键填入草稿

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部