前言¶
DeepSeek Harness (DSH) 在渲染助手回复时使用 Markdown,代码块通常只有一个操作入口:复制。当回复中包含想要执行的命令(如 git 序列、pnpm 脚本、诊断脚本)时,用户需要复制、切换终端、粘贴并运行,流程割裂。
dsh-run-button 为这类代码块增加了缺失的操作入口。这是一个由 EdwardXiao-bit 维护的客户端插件(MIT 许可证),它为 DSH 回复中的 Shell 代码块添加了运行按钮。点击后,命令将在宿主机上执行,输出实时流式传输至右下角的浮动 Dock(默认模式)或底部工作台面板。
插件简介¶
插件的核心功能是将 Shell 代码块从“静态文本”变为“可执行命令”。它支持 bash、sh、zsh、powershell、cmd 等多种命令行语言。执行时,命令会继承当前会话的工作区目录和沙盒策略,安全性基于用户发起的请求和回环 RPC 通道。目前该插件在 GitHub 上有 1 个 Star。
安装方式¶
插件已发布在 npm 并收录于 DSH 社区目录。
1. 使用 DSH CLI 安装(推荐)
dsh plugin --profile web add dsh-run-button
此命令会从 npm 注册表解析依赖,写入配置并挂载插件。卸载时使用 dsh plugin --profile web remove dsh-run-button。
2. 从源码安装
若需从源码安装,需手动编辑 profile 配置,因为单纯的 npm install 无法让 DSH 加载插件:
{
"dependencies": { "dsh-run-button": "^0.1.0" },
"dsh": { "profile": { "bundles": ["dsh-run-button"] } }
}
使用方法¶
- 在 DSH 回复中找到 Shell 代码块,点击右上角的
▶ Run按钮执行命令。 - 输出默认显示在右下角的浮动 Dock 卡片中。每条运行结果对应一张卡片,支持停止、折叠或关闭。
- 点击
cwd按钮(位于 Run 按钮旁)可以临时覆盖该代码块的工作目录,该目录会被记住。 - 在运行条中切换输出模式:
- Dock(默认):浮动卡片堆叠在右下角。
- Panel:每个运行结果生成一个底部工作台标签页(需安装
dsh-better-sidebar)。 - Off:不显示输出,仅保留状态反馈。
- 长时间运行的命令可通过芯片、Dock 卡片或工作台标签页上的停止按钮终止。
技术细节与限制¶
- 输出限制:每个流输出被限制在 256 KB,防止大文件阻塞。
- 安全性:命令完全按照编写内容执行,不进行任何插值。RPC 通道为回环地址,且需经过连接层认证。
- 依赖关系:Panel 模式依赖可选的
dsh-better-sidebar插件。若该插件未安装,Panel 模式将自动禁用,默认回退到 Dock 模式。
总结¶
dsh-run-button 将 Shell 代码块从“静态文本”变为“可执行命令”,显著提升了在 DSH 对话流中快速验证命令、执行诊断脚本的效率。
- 插件目录:https://www.skillhub.cn/plugins/EdwardXiao-bit/dsh-run-button
- GitHub 地址:https://github.com/EdwardXiao-bit/dsh-run-button