dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DSH 输入框旁的可编辑快捷按钮:发送预设文字,或只填入草稿;可排序、换位置、调大小。纯文字动作,不执行宿主命令;有草稿时不覆盖。
在输入框下面加一排自定义按钮:预设快捷输入——把反复重打的常用语、提示词存成按钮,点一下填入草稿,或者直接发送。
按钮可调位置(左 / 右)、可调外观(浅底 / 主色 / 描边 / 警示),每侧超过 6 条自动收进可搜索的「⋯ 全部动作」。
官方默认 · 浅色 · 官方默认 · 深色 · 示例皮肤 · 浅色 · 示例皮肤 · 深色 ·
同一套按钮在官方默认和示例皮肤、浅色和深色下位置和行为都不变。
默认:左侧放「填入」类(描边),右侧放「发送」类(浅底实底);位置和外观都能在设置里单独改。
桌面端:设置 → 插件 → 添加插件,输入 dsh-button,装完重启 DSH。
或者用 CLI:
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 这类路径里会被误伤。
点 ⋮ 打开「设置」:
⠿ 拖动把手、标签、文字、外观下拉、方式(发送 / 填入)、×(删除);⠿ 拖动排序,拖到另一侧的分区就换区(插到目标行前、或该区末尾);拖动面板:按住标题栏可以拖到任意位置(位置记在浏览器 localStorage),双击标题栏复位;拖过之后会出现 ⟲ 复位按钮,关掉面板再打开位置还在。
每条按钮有一个外观(只影响长相,不影响点一下做什么):
外观 · 样子 · 适合 浅底(默认) · 主色浅底 + 主色淡边 · 发送类 主色 · 主色实底白字 · 最常用的那一条 描边(默认) · 透明 + 中性细边、字略淡 · 填入类 警示 · 红色系 · 「别点错」的动作
外观只取宿主主题变量,深浅色和示例皮肤下自动适配。省略外观时按方式派生(发送 → 浅底、填入 → 描边)。1.3 的填入按钮是虚线,1.4 改成中性描边——虚线在规范里表示「占位 / 未完成」,用在动作按钮上容易被读成没做完。
设置里的「位置」有三项,切换立即生效(会关闭编辑器,未保存的修改会丢):
位置 · 样子 控制行(默认) · 在输入框那一行,左右两格分别放左组/右组 卡片下方 · 在输入框卡片下面、统计行上面,整行 卡片底部 · 在输入框卡片内部底边
控制行模式会跟模型选择器抢位置,窄的时候模型会收成图标;这是这个位置本身的代价。
设置里的「按钮大小」有三档(高度按 Primer / Fluent 的控件阶梯 24 / 28 / 32 校准):
只影响动作条按钮;设置面板里的控件保持标准尺寸。选择记在浏览器 localStorage 里,不写配置文件。
设置里有一个「模型只显示图标(实验)」开关,默认开启:打开后强制模型选择器收起成图标;关掉则交还给宿主自动判断(窄的时候仍可能自动收起)。
它依赖宿主的内部 CSS 变量,DSH 升级后可能失效。失效的表现是模型文字重新出现,不影响按钮功能。
Esc 或点面板外关闭;按钮存在这里:
$DSH_HOME/dsh-button/buttons.jsonWindows 默认是:
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 会被忽略。「重发上一条」已经移除。大多数情况可被继续代替。
insertText 时退回「追加到草稿末尾」,状态会显示「已填入末尾」。setDraft,光标会落在草稿末尾。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 adds a row of text actions to the DSH composer. Each button either sends a preset message or inserts it at the caret without sending; Ctrl/Cmd-click an insert button to send it instead. Buttons can sit on the left or right side, use one of four semantic looks (tint / solid / outline / alert), and up to 40 are supported — beyond 6 per side the rest go into a searchable "⋯ All actions" panel. Order, placement, size, and panel position are editable from the ⋮ settings panel; nothing else runs.