前言¶
在 DeepSeek Harness(DSH)里,输入框的操作空间有限。多数时候只需要把一句固定的回复填进草稿并提交,比如「继续」「收尾」「按推荐执行」。如果这些动作每次都要手动输入,就会打断工作流。dsh-button 就是为了解决这个重复动作的问题:在输入框旁提供三个快捷按钮,用最少的点击完成最常用的文本提交。
是什么¶
dsh-button 是 DSH 的客户端插件,维护者为 xinming-chenniang。它只在输入框的 UI 层提供三个快捷动作:
- 继续:把「继续」两个字填进当前会话并提交
- 自定义:把配置好的「标签 + 文字」填进当前会话并提交
- 重发上一条:把最后一条真人用户消息原样再发一次
这三个按钮都是「填字并提交」的动作,不执行宿主命令,也不会覆盖已有草稿。
核心功能¶
三个按钮¶
| 按钮 | 作用 |
|---|---|
| 继续 | 发送「继续」(标签和文字都能在编辑器里改) |
| 自定义 | 发送你配置的「标签 + 文字」 |
| 重发上一条 | 把最后一条本人消息原样再发一次 |
这些按钮共享同一套逻辑:从会话/历史中取文本 → 填入输入框 → 提交。输入框里已有草稿时按钮不会发送,只提示「有草稿,未发送」;繁忙时点击会排队(按钮恒为 queue),空闲时直接发出。
自定义按钮¶
自定义按钮允许你配置「标签 + 要发送的文字」。常见的用法是把常用动作变成一键:
收尾 = 收尾知识库 = 用 knowledge-base 技能查一下我最近的对话健康 = 读 health-assistant 技能再回答
配置文件¶
配置文件位置(按优先级):
- 环境变量
DSH_BUTTON_CONFIG指向的.json $DSH_HOME/dsh-button/buttons.json(默认C:\Users\<你>\.dsh\dsh-button\buttons.json)
文件不存在时,首次安装自带 5 条默认按钮(总结、审查、测试、提交信息、解释报错)。保存过一次配置后以文件为准,清空按钮就是真的清空,不会回退默认。
配置格式示例:
{
"buttons": [
{ "label": "收尾", "text": "收尾" },
{ "label": "知识库", "text": "用 knowledge-base 技能查一下我最近的对话" }
],
"hidden": ["resend"],
"presets": {
"continue": { "label": "继续", "text": "继续" },
"resend": { "label": "重发上一条" }
}
}
hidden 是可删除的预设:continue / resend(分别对应继续、重发上一条)。presets 是可编辑的预设文案:continue 的标签和文字都能改,resend 只能改标签(内容永远是最后一条真人消息)。
界面编辑¶
在界面里点击「+」打开浮层,分为两区:
- 预设按钮:也按「标签+内容」显示。继续是两个输入框(标签 / 要发送的文字);重发是标签输入框 + 只读说明「最后一条我发的消息(动态)」;每条右侧「删除」,删掉变「恢复」。
- 我的按钮:每条一个标签输入框 + 一个文字输入框,底部「+ 添加一条」,每条右侧「×」删除。
保存即落盘。不需要记格式、不用写 =:只填一半的行才会报错并指明第几条;两栏都空的行自动跳过。上限 8 条;标签 ≤ 12 字、文字 ≤ 500 字、标签不能换行(文字可以多行)。
边界行为¶
- 配置只决定「发什么字」和「藏哪个预设」,不执行命令、不读文件;点按钮仍走
setDraft + submit。 - 删预设是真的注销插槽格子(不是画成空),恢复时重新注册,所以删完不会留下空位。
- 读不到配置(宿主路由不通 / 桌面端
dsh-app://转发未验证)时:自定义格只显示「+」,预设全部按默认显示,编辑器里贴出错误;保存也会失败。 - 配置文件是唯一会被本插件写入的文件;不碰凭据、不出外网。
安装与启用¶
npm(web profile)¶
dsh plugin --profile web add dsh-button
装完重启(客户端插件是启动时快照)。
GitHub 源¶
dsh plugin --profile web add github:xinming-chenniang/dsh-button
桌面端¶
桌面 profile 由应用独占管理,CLI 会被拒绝:profile "desktop" is managed exclusively by the Electron application。用 设置 → 插件 → 添加插件,输入 dsh-button(或 GitHub 仓库地址),安装后重启应用。
本地源码¶
设置 → 插件(插件经理)→「安装」→ 选择本机 clone 下来的 dsh-button 目录,或用 link: 安装后重启。
卸载¶
- 插件管理器 → remove → 重启 DSH;
- 或从 profile 的
dependencies与dsh.profile.bundles各删一行、删掉node_modules里的 junction,重启。
适用场景与注意¶
适合需要频繁输入固定回复、希望把常用动作变成一键的开发者。插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。
短结尾¶
dsh-button 通过在输入框旁提供「继续」「自定义」「重发上一条」三个快捷按钮,把常用的文本提交动作变成一键操作,减少重复输入。目录页与 GitHub 仓库见下。