在本地开发环境中,频繁打开多个终端窗口运行不同的 npm 脚本是常见操作。DeepSeek Harness 提供了一种插件机制来扩展功能,dsh-run 插件正是为此设计:它允许在会话头部直接调用工作区的 npm 脚本,避免切换窗口。
功能说明¶
该插件在会话头部(Open in… 按钮旁边)添加一个复合按钮,用于控制工作区的 npm 脚本。
-
读取与展示
读取工作区的package.json。仅当工作区包含package.json且其中有脚本时,该按钮才会显示。 -
复合按钮交互
- 播放图标(▶):点击运行默认脚本。
- 箭头图标(▾):点击展开列表,显示所有npm run脚本,选择后执行并设为新的默认脚本。 -
默认脚本逻辑
默认脚本按以下优先级选择:
-dev
-start
- 第一个声明的脚本 -
运行时状态
- 运行时,按钮变为停止图标,再次点击可终止进程组(包括npm及其子进程)。
- 脚本失败时,按钮显示为红色,并提示错误信息。 -
持久化
每个项目的默认脚本选择会被保存在浏览器的localStorage中。
安装与启用¶
通过以下命令安装插件:
dsh plugin --profile web add github:albertgranados/dsh-run
安装后需要重启 Harness 并刷新浏览器页面。
注意事项¶
- 依赖条件:仅当工作区包含
package.json且有脚本时显示按钮。 - 权限限制:使用 Harness 的
subprocess服务运行,进程管理受 Host/Origin 限制。 - 并发限制:最多支持 8 个并发执行,内存队列限制为 32 KiB,磁盘溢出限制为 4 MiB。
- 配置简化:插件声明了
dsh.bundle.patch,会自动处理配置,无需手动编辑package.json或cordis.patch.yml。
总结¶
dsh-run 插件通过在会话头部集成 npm 脚本运行能力,简化了开发流程。它提供了直观的按钮交互和基础的进程管理,适合需要频繁运行构建或开发服务的工作流。
GitHub: albertgranados/dsh-run