Saltar al contenido principal
M

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-assistant

README

DSH 输入助手

English

在 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
中文设置页English settings

设置页按分组展示;输入框旁只放 ✦ 优化 和 ⚙。保护选中、查看改动、撤销、复制原文、换一条这些一次性动作在输入区就地出现,不塞进设置弹窗。

齿轮弹窗底部有一行「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 通常自带运行时。

桌面端安装

  1. 打开 DSH 侧边栏 →「插件」。
  2. 搜索 dsh-composer-assistant,安装。
  3. 安装完成后完全退出 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.70.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 发布。

本 fork:Mr-Elk/dsh-composer-assistant

Plugins relacionados