- Inicio
- Plugins
- Mejoras de UI
- dsh-composer-assistant
dsh-composer-assistant
mr-elk/dsh-composer-assistant
Adds next-message prediction, inline draft completion, and prompt optimization to the DSH composer, with a call budget, request stats, and glossary protection in Settings. A fork of Somnus678/dsh-input-assistant; both put their controls on the same composer, so do not install the two together.
Instalar
dsh plugin --profile web add github:mr-elk/dsh-composer-assistantREADME
DSH 输入助手
在 DeepSeek Harness(DSH)的输入框里,帮你预测下一句、续写草稿或优化提示词。它只提供可编辑的文字建议:Tab 采纳,Esc 忽略,不会替你发送消息。
当前 npm 公开版本:0.4.1(仅文档修正,代码与 0.4.0 相同);上一版为 0.3.0。
0.4.0 的变化
- 新安装默认不自动调用:回复后预测和输入续写默认关闭,手动优化保留;需要时可在设置里主动开启。自动建议默认每小时上限 10 次,已有用户保存过的开关和额度不变。
- 重启后保留额度:合入远端的预算存储修复,自动请求先保存额度再调用模型;存储失败时不会继续自动调用。
- 流式建议(实验):灰字边生成边出现;这是实验能力,不作为 0.4.0 发布验收门槛,后续根据真实延迟数据决定是否保留或默认开启。
- 本次请求统计:齿轮弹窗底部显示生成请求次数和平均请求耗时,点开可看采纳率、采纳后修改,并一键复制。请求次数不是实际模型调用数或账单。
- 术语保护:在设置里列出必须原样保留的词,优化时不会被改写或翻译。
- 保留 0.3.0 的能力:中英文切换、重做的设置页、错误码文案和草稿恢复都不变。
三个功能
| 功能 | 它会做什么 |
|---|---|
| 下一句预测 | 助手回复结束后,在空输入框里给出你下一句最可能说的话 |
| 输入续写 | 根据当前草稿和光标位置继续写;长建议放不下时改用浮动候选卡 |
| 提示词优化 | 把草稿或选中文字改写成可发送的表达;可看 diff、一次性撤销、复制原文 |
不满意可以「换一条」;不新增对话轮次,但每次仍会额外调用模型,可能产生费用。
界面
| 中文设置页 | English |
|---|---|
![]() | ![]() |
设置页按分组展示;输入框旁只放 ✦ 优化 和 ⚙。保护选中、查看改动、撤销、复制原文、换一条这些一次性动作在输入区就地出现,不塞进设置弹窗。
齿轮弹窗底部有一行「N 次请求 · 1.4 s」,点开可看生成请求次数、平均请求耗时、建议展示、采纳、采纳率、采纳后修改。计数包含失败、取消或被额度拦截的请求,不代表实际模型调用或费用。只统计当前会话;复制统计时会附上这项说明,不包含草稿或建议正文。
安装
适用 DSH 版本范围:>=0.2.1-rc.2 <0.3.0-0。0.2.0-rc.2 及更早版本不支持:插件依赖的 dsh-client-store、dsh-client-ui-slots 等 SDK 包在 0.2.0 中不存在。Node.js 要求 >=22.19;DSH Desktop 通常自带运行时。
桌面端安装
- 打开 DSH 侧边栏 →「插件」。
- 搜索
dsh-composer-assistant,安装。 - 安装完成后完全退出 DSH,再重新打开。
不要对 desktop profile 执行 dsh plugin --profile desktop add ...。DSH CLI 会直接返回 profile "desktop" is managed exclusively by the Electron application;这是桌面端的设计,不是包损坏。
本地构建包
pnpm install --frozen-lockfile
pnpm build
pnpm pack --pack-destination dist
构建后,在 DSH 插件页使用本地/文件安装入口(如果当前 DSH 版本提供)。没有该入口时,不要把 .tgz 路径交给 --profile desktop CLI;需要在 web 环境验证时可用:
dsh plugin --profile web add ./dist/dsh-composer-assistant-0.4.0.tgz
这条命令只影响 web profile,不代表桌面端已安装。
升级与回滚
升级:DSH 侧边栏 →「插件」→ 找到 dsh-composer-assistant → 更新到目标版本,完成后完全退出并重新打开 DSH。DSH 不会自动升级第三方插件。
回滚:在插件页安装已知可用的版本或本地包(如果当前 DSH 版本提供本地安装入口)。升级前保留已知可用的 .tgz。上一版 0.3.0 仍可从 npm 安装,用于回滚。
安装排查
profile "desktop" is managed exclusively by the Electron application:正常拦截,改用侧边栏「插件」,不要用 CLI 指向 desktop。incompatible with dsh、缺少dsh-client-store或dsh-client-ui-slots:DSH 低于 0.2.1-rc.2,先升级 DSH。这不是 Windows 特有问题。0.0.0-stage是占位包,不要安装。
使用
| 动作 | 按键 |
|---|---|
| 采纳建议 | Tab |
| 忽略建议 | Esc |
| 停止当前轮次 | 连按两次 Esc(DSH 原有行为,不受影响) |
/ 命令菜单或 @ 引用菜单打开时,Tab 归菜单所有,插件不会抢键。中文输入法组字期间不发请求。
第一次打开输入框会出现一次入门提示,说明自动建议默认关闭、手动优化也可能收费;点“知道了”、Esc 或点外面关闭,之后不再出现。
设置
| 分组 | 项 | 默认 | 说明 |
|---|---|---|---|
| 通用 | 语言 | 跟随 DSH | 跟随 DSH / 中文 / English |
| 功能 | 提示词优化 | 开 | 点击按钮才调用模型 |
| 功能 | 回复后预测 / 输入续写 | 关 | 新安装不自动调用;可分别主动开启 |
| 建议 | 建议长度 | 标准 | 短 / 标准 / 长,内部映射为字符上限 |
| 优化 | 优化强度 | 标准 | 轻度润色 / 标准优化 / 深度梳理 |
| 优化 | 术语保护 | 空 | 每行一个或用逗号分隔;优化时原样保留,最多 20 个 |
| 辅助模型 | 模型 | 跟随输入框 | 从 DSH 模型列表选;辅助调用单独计费 |
| 高级 | 上下文上限 | 16000 | 参与建议的对话上下文字数 |
| 高级 | 建议超时 | 15 秒 | 5–60 秒,慢模型可放宽 |
| 高级 | 每小时调用上限 | 10 | 跨重启的滚动 60 分钟额度,只计自动建议;0 不限制 |
| 高级 | 温度 | 0.7 | 0.3 稳定 / 0.7 平衡 / 1.0 发散 |
| 高级 | 额外指令 | 空 | 追加到系统提示词,≤500 字 |
固定参数不暴露:续写防抖 600ms、最小请求间隔 2s、草稿上限 8000 字、改写增长上限 3×。
上述默认值用于新安装和“恢复默认”。升级时保留已有用户保存的开关及额度,包括自行设定的 0(不限);缺失或无效的字段才回落到新默认值。
未保存的设置会保留。 设置界面卸载时,如果表单有改动,插件会将设置表单写入当前浏览器标签页的 sessionStorage。在同一标签页重新打开设置时,会恢复仍未保存的修改并提示。成功保存或显式重新加载设置后,这份暂存会被清除。“恢复默认”只修改表单,仍需点“保存”才会写入 DSH。
例如设为 20:同一 DSH 配置下的所有会话合计,在最近 60 分钟内最多预留 20 次自动预测或续写。重启不会重置额度;每笔记录满 60 分钟后才释放位置。手动“优化”和“换一条”不计入,也不受这个上限限制。
自动请求先保存额度,再调用模型。保存后即使取消、超时或模型失败,这次仍计入;保存失败则停止这次自动请求,不扣额度。预算读取失败或损坏时也停止自动建议,不把它当成新额度;存储恢复后可重试。手动操作仍可用,但仍需正常的设置存储和模型连接。0 只表示不限制次数,自动请求仍记录预算。
预算依赖本机保存的数据和系统时间。首次升级到持久化版本无法补记旧版本的调用;删除数据、更换配置目录或退回旧版本会失去这项保护。不保证多个独立 DSH 进程同时写同一存储时的总额度,也不是整个模型账户的费用上限。本次已验证真实插件、官方文件存储和独立 Node 进程重开,尚未完成 DSH 桌面端完整退出再启动的模型调用实测。
保存行为:
- 设置页和齿轮弹窗共用同一份草稿,只提交改动字段。
- 没有改动时保存置灰;关闭设置不会写入 DSH。
- 点“恢复默认”只重置表单,再点“保存”才写入。
- 保存成功显示设置弹窗顶部居中的 toast,并尽量避开输入控件;错误显示在保存条上方。
- 关掉设置再打开,未保存的修改会恢复并提示。
费用和隐私
- 预测、续写和优化使用 DSH 已配置的模型。生成所需的草稿、选区和当前会话上下文会经 DSH 发送给所选模型服务;历史上下文默认最多 16000 字。模型服务如何处理数据,取决于你配置的服务。
- 跟随输入框和固定辅助模型都会发起额外模型调用,费用按所选服务计算;不是只有固定模型才可能收费。
- 自动建议的新安装默认值为关闭;手动优化和“换一条”由你触发,仍可能收费,不受自动建议的每小时上限限制。这个上限不是账户费用上限。
- 插件不自动发送对话消息,不直接读取你的凭据,也不修改 DSH 模型配置;没有独立于 DSH 模型调用的草稿上传接口。
- 提示词要求把粘贴材料当作数据,并要求保留原意和约束。这些要求不能保证模型永不犯错,请在发送前检查结果。代码、路径、URL 和术语等已识别片段另有占位符校验,校验失败会保留原稿。
- 流式只让浏览器多取几次本地半成品,不额外调用模型。
- 自动化检查不配置付费模型;测试编辑器和真实宿主验收分别记录。
已知限制
- 灰字只能画在输入框可见区域内;更长的建议走候选卡。
- 逐字出现只对灰字生效,且属于实验能力;候选卡和长建议仍是一次出现。
- 流式建议不参与 0.4.0 发布验收;额度重启、请求统计和术语保护已在 DSH Desktop 通过。
- 请求统计只统计当前会话,刷新页面或换窗口会清零;请求次数包含失败、取消或被额度拦截的请求,不是模型调用数或账单。
- 自动调用额度保存在本机插件存储,并依赖系统时间。已在 DSH Desktop 上限 1 下做重启对比:重启后同草稿不再自动建议,手动优化仍可用。它无法补记持久化版本之前的调用;删除插件数据或更换配置目录会失去历史。它不协调多个独立 DSH 进程,也不是账户级费用上限。
- 已保存的自动调用预留不会因为取消、超时或失败而退还;手动优化和“换一条”既不计入也不受该上限拦截。
Tab在/、@菜单打开时归 DSH 菜单所有。- 中文输入法组字期间不发请求;真实 IME 行为依赖系统和输入法。
- 真实 Edge 窗口、真实
@菜单和真实候选卡仍属于验收缺口;当前以 Chrome 和 DSH 桌面端验证为主。 - 仓库若在 exFAT 卷上遇到 pnpm 报错,可用
./scripts/local-dev.sh同步到 APFS 临时目录构建。
开发
要求 Node.js >=22.19,仓库锁定 pnpm 11.28.5。常用检查:
pnpm install --frozen-lockfile
pnpm typecheck
pnpm test
pnpm build
pnpm pack:release
pnpm test:web
pnpm publish:check
检查结果和未验证项见 验收记录。 英文更新日志见 CHANGELOG.en.md。不要把编辑器测试或安装包检查当作真实模型质量验收。
许可
MIT。本项目基于 dsh-input-assistant(作者 Somnus678 与贡献者)修改,保留原 MIT 许可与版权声明;新增部分同样以 MIT 发布。
Plugins relacionados
dsh-web (dsh-task-board)
zhu1090093659/dsh-web
dsh-web (dsh-web-all)
zhu1090093659/dsh-web
dsh-TUI
ccch1mneyyy/dsh-tui
dsh-web-ui (dsh-task-board)
zhu1090093659/dsh-web-ui

