把常用提示词存成按钮,一键填入或发送
29.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/28 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/xinming-chenniang/dsh-button.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 5 处,展示前 5 条)
- 读取本地文件lib/buttons.js:263
if (!existsSync(file)) return { ok: true, buttons: DEFAULT_BUTTONS.map(normalizeButton), hidden: [], presets: DEFAULT_PRESETS, exists: false, path: fi - 读取本地文件lib/buttons.js:266
text = readFileSync(file, 'utf8') - 写入本地文件lib/buttons.js:284
mkdirSync(dirname(file), { recursive: true }) - 写入本地文件lib/buttons.js:287
writeFileSync(tmp, payload, 'utf8') - 写入本地文件lib/buttons.js:288
renameSync(tmp, file)
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
给 DeepSeek Harness(dsh)输入框加预设快捷按钮:把反复重敲的提示词和短语存下来,一键发送或插入。可排序、移动、调大小;只支持文本,不执行宿主命令。
README
由 DeepSeek 最新模型翻译生成dsh-button
在输入框下面加一排自定义按钮:预设快捷输入——把反复重打的常用语、提示词存成按钮,点一下填入草稿,或者直接发送。
按钮可调位置(左 / 右)、可调外观(浅底 / 主色 / 描边 / 警示),每侧超过 6 条自动收进可搜索的「⋯ 全部动作」。
官方默认浅色主题下的动作行:⋮ 设置、讨论/说明(描边,填入)、总结/继续(实底,发送)
| 官方默认 · 浅色 | 官方默认 · 深色 |
| 官方默认浅色主题下的动作行:⋮、讨论/说明、总结/继续 | 官方默认深色主题下的动作行 |
| 示例皮肤 · 浅色 | 示例皮肤 · 深色 |
| 示例皮肤浅色主题下的动作行 | 示例皮肤深色主题下的动作行 |
同一套按钮在官方默认和示例皮肤、浅色和深色下位置和行为都不变。
默认:左侧放「填入」类(描边),右侧放「发送」类(浅底实底);位置和外观都能在设置里单独改。
安装
桌面端:设置 → 插件 → 添加插件,输入 dsh-button,装完重启 DSH。
展开完整文档(README 剩余 1 节)
dsh-button
在输入框下面加一排自定义按钮:预设快捷输入——把反复重打的常用语、提示词存成按钮,点一下填入草稿,或者直接发送。
按钮可调位置(左 / 右)、可调外观(浅底 / 主色 / 描边 / 警示),每侧超过 6 条自动收进可搜索的「⋯ 全部动作」。
官方默认浅色主题下的动作行:⋮ 设置、讨论/说明(描边,填入)、总结/继续(实底,发送)
| 官方默认 · 浅色 | 官方默认 · 深色 |
| 官方默认浅色主题下的动作行:⋮、讨论/说明、总结/继续 | 官方默认深色主题下的动作行 |
| 示例皮肤 · 浅色 | 示例皮肤 · 深色 |
| 示例皮肤浅色主题下的动作行 | 示例皮肤深色主题下的动作行 |
同一套按钮在官方默认和示例皮肤、浅色和深色下位置和行为都不变。
默认:左侧放「填入」类(描边),右侧放「发送」类(浅底实底);位置和外观都能在设置里单独改。
安装
桌面端:设置 → 插件 → 添加插件,输入 dsh-button,装完重启 DSH。
或者用命令行:
dsh plugin --profile <你的profile> add dsh-button
从 GitHub 装也可以(钉在已发布的 v1.4.0):
dsh plugin --profile <你的profile> add github:xinming-chenniang/dsh-button#v1.4.0
#v1.4.0 不要省:不钉版本会取仓库的 main,那是下一次发版前的代码——版本号仍写 1.4.0,行为和已发布版本不一致。
装完要重启 DSH。客户端插件是启动时加载的,刷新页面不会生效。
默认有什么
首次安装、还没有配置文件时,自带 4 个按钮:
| 标签 | 预设文字 | 方式 | 位置 | 外观 |
| 总结 | 总结刚才这一轮:做了什么、改了哪些文件、还剩什么 | 发送 | 右 | 浅底 |
| 继续 | 继续 | 发送 | 右 | 浅底 |
| 讨论 | 只讨论,不要进行改动:(并换行) | 填入 | 左 | 描边 |
| 说明 | 详细说明: | 填入 | 左 | 描边 |
最左边的 ⋮ 打开设置面板。
怎么用
发送:把文字放进输入框并提交。输入框里已经有草稿时不会发送,只提示「有草稿,未发送」,避免覆盖你写了一半的东西。
填入:只把文字插到光标处,不提交;有选区就替换选区,没有就插在光标处。多行文字也支持。
Ctrl + 点击(macOS 上 Cmd + 点击)填入类按钮 = 直接发送,不用先去设置里把它改成发送类。草稿保护照旧:有草稿就只提示,不会覆盖。
发送恒为排队(宿主 submit() 的行为);手打 Enter 才受「繁忙时的发送行为」设置影响。
换行和转义
在按钮文字里写:
| 写法 | 结果 |
| \n 或 /n | 换行 |
| \t 或 /t | 制表符 |
| \\ | 一个反斜杠 |
只在执行时解码,编辑框里仍然显示 \n 这样的可读写法。建议用反斜杠形式:/n、/t 是全局替换,写在 /tmp、/node_modules 这类路径里会被误伤。
设置面板
点 ⋮ 打开「设置」:
设置面板:可拖动标题栏、左侧/右侧两个区、外观与方式,以及位置/模型/大小
改按钮
- 按钮分 左侧 / 右侧 两个区;行的顺序就是动作条上的顺序;
- 每行从左到右:⠿ 拖动把手、标签、文字、外观下拉、方式(发送 / 填入)、×(删除);
- 按住 ⠿ 拖动排序,拖到另一侧的分区就换区(插到目标行前、或该区末尾);
- 改「发送 / 填入」不会换区——位置和动作是两件事;
- 每个区行列表的下方有「+ 新按钮」(左对齐文字按钮,hover 才出浅底);
- 改完点「保存」,或者点面板外面直接关掉(不保存);保存失败的原因显示在底部常驻页脚,不会被滚动藏掉。
拖动面板:按住标题栏可以拖到任意位置(位置记在浏览器 localStorage),双击标题栏复位;拖过之后会出现 ⟲ 复位按钮,关掉面板再打开位置还在。
外观
每条按钮有一个外观(只影响长相,不影响点一下做什么):
| 外观 | 样子 | 适合 |
| 浅底(默认) | 主色浅底 + 主色淡边 | 发送类 |
| 主色 | 主色实底白字 | 最常用的那一条 |
| 描边(默认) | 透明 + 中性细边、字略淡 | 填入类 |
| 警示 | 红色系 | 「别点错」的动作 |
外观只取宿主主题变量,深浅色和示例皮肤下自动适配。省略外观时按方式派生(发送 → 浅底、填入 → 描边)。1.3 的填入按钮是虚线,1.4 改成中性描边——虚线在规范里表示「占位 / 未完成」,用在动作按钮上容易被读成没做完。
换位置
设置里的「位置」有三项,切换立即生效(会关闭编辑器,未保存的修改会丢):
| 位置 | 样子 |
| 控制行(默认) | 在输入框那一行,左右两格分别放左组/右组 |
| 卡片下方 | 在输入框卡片下面、统计行上面,整行 |
| 卡片底部 | 在输入框卡片内部底边 |
控制行模式会跟模型选择器抢位置,窄的时候模型会收成图标;这是这个位置本身的代价。
调大小
设置里的「按钮大小」有三档(高度按 Primer / Fluent 的控件阶梯 24 / 28 / 32 校准):
- 紧凑 24px(左右内边距 8px、字号 12px)
- 标准 28px(默认;左右内边距 10px、字号 12px)
- 大 32px(左右内边距 12px、字号 13px、圆角 8px)
只影响动作条按钮;设置面板里的控件保持标准尺寸。选择记在浏览器 localStorage 里,不写配置文件。
模型只显示图标
设置里有一个「模型只显示图标(实验)」开关,默认开启:打开后强制模型选择器收起成图标;关掉则交还给宿主自动判断(窄的时候仍可能自动收起)。
它依赖宿主的内部 CSS 变量,DSH 升级后可能失效。失效的表现是模型文字重新出现,不影响按钮功能。
容量与搜索
- 上限 40 条(标签最多 12 字,不能换行;文字最多 500 字);
- 动作条每侧最多显示 6 条,超出的收进「⋯ N」入口(N = 两侧合计溢出的条数,入口在左侧末尾);
- 点「⋯」打开全部动作面板:搜索框按标签和文字过滤(不区分大小写),列出全部动作(包括已经显示在条上的),每条右边标着「发送 / 填入」;
- 点一条直接执行(Ctrl/Cmd 语义与条上按钮一致),执行后面板关闭;Esc 或点面板外关闭;
- 6 条以内不出现「⋯」,和 1.3 的行为完全一样。
配置
按钮存在这里:
$DSH_HOME/dsh-button/buttons.json
Windows 默认是:
C:\Users\<你>\.dsh\dsh-button\buttons.json
文件不存在时用默认 4 条;保存过一次后以文件为准。手动改完要重启 DSH。
{
"buttons": [
{ "label": "总结", "text": "总结刚才这一轮:做了什么、改了哪些文件、还剩什么", "mode": "send", "style": "secondary", "side": "right" }, { "label": "继续", "text": "继续", "mode": "send", "style": "secondary", "side": "right" }, { "label": "讨论", "text": "只讨论,不要进行改动:\\n", "mode": "insert", "style": "ghost", "side": "left" }, { "label": "说明", "text": "详细说明:", "mode": "insert", "style": "ghost", "side": "left" } ] }
字段:
| 字段 | 取值 | 省略时 |
| label | 1–12 字,不能换行 | 必填 |
| text | 1–500 字,可用 \n | 必填 |
| mode | send / insert | send |
| style | secondary / primary / ghost / danger | 按 mode 派生 |
| side | left / right | 按 mode 派生(insert 左、send 右) |
- 在设置里删空并保存,就是真的没有按钮,不会回退默认。
- 路径可以用环境变量 DSH_BUTTON_CONFIG 改。
- 旧的 icon 字段(只存在于未发布的开发分支)读入时会并进标签,保存后不再写回。
从旧版本升级
从 1.3.0 升级:配置零改动。style / side 缺省时按 mode 派生,外观和位置与 1.3 一模一样。
从 1.2.x 升级,旧配置还能直接读:
- presets.continue 会并成第一条普通按钮;
- hidden: ["continue"] 仍然表示「这条已经迁移或删掉」,不会再补;
- presets.resend 会被忽略。
「重发上一条」已经移除。大多数情况可被继续代替。
限制
- 只处理文字:不执行命令、不读文件、不改 git,也不碰凭据。
- 发送有草稿保护;填入没有,它会按你的光标位置改草稿。
- 填入会替换当前选区;宿主太旧、没有 insertText 时退回「追加到草稿末尾」,状态会显示「已填入末尾」。
- 多行填入走宿主 setDraft,光标会落在草稿末尾。
- 控制行用的是公开插槽,最稳;卡片下方/底部依赖宿主 DOM,DSH 改结构后可能要重新适配。
- 动作条每侧只显示 6 条,「⋯」入口挂在左侧末尾;右侧溢出时也只能从这里打开全部动作。
- 面板位置、按钮大小、模型开关存在 localStorage,不跨浏览器/设备同步,也不进配置文件。
- 当前在 DSH 0.2.1-rc.2 上测过。package.json 声明 engines.dsh >= 0.2.0-rc.2;更旧的宿主会缺填入 API,按上面的方式降级。
开发
npm test
62/62
主要文件:
- lib/client.js:按钮条、设置面板、外观、容量面板、发送/填入;
- lib/buttons.js:配置读写、校验、默认按钮;
- lib/index.js:宿主路由 /api/dsh-button/buttons;
- test/:离线用例,不依赖桌面端。
没有构建步骤,Node >= 20。
卸载
插件管理器里移除,然后重启 DSH。
配置文件不会自动删;不需要就手动删掉 $DSH_HOME/dsh-button/buttons.json,删了会回到默认 4 条。
变更
看 CHANGELOG.md。当前版本 1.4.0。
问题反馈:GitHub Issues。MIT License。
dsh-button 给 DSH 输入框加一排文字操作按钮。每个按钮要么直接发送预设消息,要么把消息插入光标处而不发送;按住 Ctrl/Cmd 点击插入类按钮,则改为发送。按钮可以放在左侧或右侧,外观有四种语义样式可选(tint / solid / outline / alert),最多支持 40 个——每侧超过 6 个后,其余按钮收进可搜索的「⋯ All actions」面板。顺序、位置、尺寸和面板位置都能在 ⋮ 设置面板里改;除此之外不运行任何东西。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
xinming-chenniang/dsh-button
把常用提示词存成按钮,一键填入或发送
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,344已汉化DSH
71.5
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,045已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,202已汉化DSH
71.1
这是你的仓库?认领条目