dsh-run: Running an npm Script in the DeepSeek Harness Session Header

在本地开发环境中,频繁打开多个终端窗口运行不同的 npm 脚本是常见操作。DeepSeek Harness 提供了一种插件机制来扩展功能,dsh-run 插件正是为此设计:它允许在会话头部直接调用工作区的 npm 脚本,避免切换窗口。

功能说明

该插件在会话头部(Open in… 按钮旁边)添加一个复合按钮,用于控制工作区的 npm 脚本。

  1. 读取与展示
    读取工作区的 package.json。仅当工作区包含 package.json 且其中有脚本时,该按钮才会显示。

  2. 复合按钮交互
    - 播放图标(▶):点击运行默认脚本。
    - 箭头图标(▾):点击展开列表,显示所有 npm run 脚本,选择后执行并设为新的默认脚本。

  3. 默认脚本逻辑
    默认脚本按以下优先级选择:
    - dev
    - start
    - 第一个声明的脚本

  4. 运行时状态
    - 运行时,按钮变为停止图标,再次点击可终止进程组(包括 npm 及其子进程)。
    - 脚本失败时,按钮显示为红色,并提示错误信息。

  5. 持久化
    每个项目的默认脚本选择会被保存在浏览器的 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

羽毛球分组比赛记分
小程序二维码

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

Xiaoye