dsh-run-button:为 DSH 回复中的 Shell 代码块添加运行按钮

前言

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"] } }
}

使用方法

  1. 在 DSH 回复中找到 Shell 代码块,点击右上角的 ▶ Run 按钮执行命令。
  2. 输出默认显示在右下角的浮动 Dock 卡片中。每条运行结果对应一张卡片,支持停止、折叠或关闭。
  3. 点击 cwd 按钮(位于 Run 按钮旁)可以临时覆盖该代码块的工作目录,该目录会被记住。
  4. 在运行条中切换输出模式:
    • Dock(默认):浮动卡片堆叠在右下角。
    • Panel:每个运行结果生成一个底部工作台标签页(需安装 dsh-better-sidebar)。
    • Off:不显示输出,仅保留状态反馈。
  5. 长时间运行的命令可通过芯片、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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜