DeepSeek Harness 对话框自动补全
dsh-composer-autocomplete 给 DeepSeek Harness Web 聊天输入框增加灰字续写和下一句预测:Tab 采纳、Esc 关闭、Alt+↓ / Alt+↑ 切换候选。采纳只写入可编辑草稿,不会发送消息。
这是基于 Stijnus/dsh-composer-predictions 的 MIT 社区增强版本,保留上游署名,并增加更早的候选采纳、上下文缓存、输入法事件隔离和后台取消。来源详见 第三方说明。

截图来自真实 Harness 界面,演示使用本地确定性测试模型。
安装
已验证环境:Node.js ≥ 24.9、DeepSeek Harness 0.2.1-rc.2 Web。安装 GitHub Release 中的预构建包:
dsh plugin --profile web add https://github.com/liangzhiyu/dsh-composer-autocomplete/releases/download/v0.2.0/dsh-composer-autocomplete-0.2.0.tgz
dsh web
安装后重启已运行的 Harness。官方桌面端请使用其「插件 → 安装」入口选择本地安装包,或使用该桌面安装附带的 dsh 命令管理 desktop profile。桌面载体未实机验证;Web 侧的代码共用原生输入框插槽。
使用
- 空输入框:一轮回复完成后显示下一句建议。
- 输入草稿:光标停在末尾,默认停顿 300 毫秒后请求续写。
- Tab:首条完整候选生成后即可采纳,无需等待其他候选;仍需自己按 Enter 发送。
- Alt+↓ / Alt+↑:切换最多三条候选。
- Esc:隐藏本次建议;继续输入后可重新预测。
- 设置 → 通用设置 → 输入预测:总开关、下一句预测、输入续写和停顿时间(200–5000 毫秒)分别可调。
设置保存在当前浏览器/设备中。支持中文输入法;拼音组合期间不抢占 Tab。不在 Agent 运行期间预测,不干扰 /命令 和 @引用 菜单;修改草稿、切换会话、关闭功能会取消旧请求。草稿始终通过 Harness 的插入 API 更新,拒绝插入时保留原文。
页面切到后台时也会取消请求。新版本保留原有的停顿设置;默认 300 ms 只适用于尚未保存设置的浏览器。
延迟与优化
在相同的本地测试模型下,从输入停止开始计时,每组 6 次取中位数:
| 版本/设置 | 首次灰字 | 可按 Tab |
|---|---|---|
| 0.1.0,停顿 600 ms | 702 ms | 862 ms |
| 0.2.0,停顿 600 ms | 705 ms | 727 ms |
| 0.2.0,默认停顿 300 ms | 404 ms | 425 ms |
这是本地确定性模型的 UI/SSE 链路测量,不代表真实 DeepSeek API 的速度或质量。实际延迟还取决于网络、模型首 token 时间、输出格式与生成速度。原始数据及方法见 优化说明。更短的停顿也可能增加请求次数,可在设置中调回更长间隔。
模型和用量
预测复用会话的模型路由和宿主认证,不另存 API key。它会把近期对话、近期工具结果和当前草稿发送给已配置的模型,并消耗 token;这类辅助请求不会加入对话记录或计入会话的 token 显示。要运行真实预测,请先在 Harness 中配置可用模型。
可在 profile 的 cordis.patch.yml 中覆盖宿主参数:
- id: composer-autocomplete
config:
maxOutputTokens: 220
timeoutMs: 20000
maxMessages: 10
maxChars: 8000
maxSuggestions: 3
maxToolNotes: 6
cacheTtlMs: 60000
maxCacheEntries: 200
# 同时指定以下两项可固定辅助模型,否则跟随会话。
# provider: your-provider
# model: your-model
# reasoningEffort: off
开发与验证
插件是原生 ESM/Harness 浏览器模块,无需编译或生产依赖。
node --test test/*.test.mjs
node tools/check-package.mjs
pnpm pack --pack-destination artifacts
真实浏览器验证使用 Playwright 驱动 Chromium,在安装了插件的 Harness Web 上检查键盘交互、输入法、设置与草稿行为。运行前安装 Playwright,并提供隔离测试实例地址:
pnpm install
DSH_URL=http://127.0.0.1:3087 node tools/browser-smoke.mjs
验证范围和结果见 docs/verification.md。开源来源与修改说明见 THIRD_PARTY_NOTICES.md。
发布文案在 docs/promotion.md,版本变更见 CHANGELOG.md。
卸载
dsh plugin --profile web remove dsh-composer-autocomplete
重启对应实例。浏览器设置会保留,可在开发者工具中删除 dsh-composer-autocomplete.* 存储键。
No comments yet. Be the first to write one.