DeepSeek Harness (DSH) 插件:dsh-pr-checks 侧边栏显示 PR 检查状态

前言

DeepSeek Harness (DSH) 采用“一切皆插件”的理念。在智能体开发与调试过程中,频繁切换页面查看 GitHub PR 的构建状态会打断工作流。pauloapoloni/dsh-pr-checks 插件将这一状态信息下沉到侧边栏底部,使开发者无需离开 DSH 界面即可掌握 PR 的构建进度。

插件简介

dsh-pr-checks 是一个 DSH 插件,包含宿主端(Host)和 Web 客户端。它利用 gh CLI 查询 GitHub Actions 检查状态,并将结果按 Workspace -> Project -> PR 的层级结构展示在侧边栏底部。

核心功能

该插件主要提供以下能力:

  1. 状态可视化:在侧边栏底部显示 PR 的 GitHub Actions 检查状态和进度。
  2. 层级分组:按 Workspace(工作区)、Project(项目)、PR 进行分组展示。
  3. 进度反馈:显示进度条(已完成/总数),并通过彩色圆点展示具体检查项的状态(带有 Tooltip 说明)。
  4. 自动过滤与隐藏:仅显示运行中的检查(IN_PROGRESS/QUEUED/PENDING)。当所有检查完成时,整个组件自动隐藏;折叠侧边栏时也会隐藏该组件。
  5. 持久化与兼容:作为完整的 Profile 插件,无需修改 DSH 运行时文件,支持 DSH 版本更新。

安装与启用

安装前请确保已安装 gh CLI 并完成认证,且拥有 repo 或 workflow 权限。

  1. 通过命令行安装:
    使用插件管理命令添加该包。包名在 npm 上为 dsh-pr-checks。
    dsh plugin --profile <name> add dsh-pr-checks
或者直接从 Git 仓库安装:
    dsh plugin --profile <name> add github:pauloapoloni/dsh-pr-checks
  1. 重启与加载:
    安装完成后,必须重启 dsh web 并在 GUI 中重新加载。

  2. 手动安装(可选):
    如果需要手动安装(例如跳过 bundle 层),需执行以下步骤:

    cd ~/.dsh/profiles/web
    npm install github:pauloapoloni/dsh-pr-checks
并在 `cordis.patch.yml` 中注册条目:
    - insert:
        - id: dsh-pr-checks
          name: dsh-pr-checks
          config:
            cacheMs: 10000            # 响应缓存时间
            includeAllAuthors: false  # true 为显示所有 PR,否则仅显示当前用户

配置说明

安装后,可通过配置项调整插件行为:

配置项 默认值 说明
cacheMs 10000 接口响应缓存时间(毫秒)。
includeAllAuthors false 是否显示所有 open PR,而非仅当前认证用户的 PR。
authors — 指定登录用户名进行过滤(默认为认证用户)。
repos — 额外需要检查的仓库列表(例如 ["org/repo"])。

工作原理

该插件通过以下机制运作:

  1. Host 端 (lib/index.js):

    • 扫描 DSH 工作区(~/.dsh/storages/workspace.json)。
    • 调用 gh pr list 查询 Open PR。
    • 暴露 GET /api/pr-checks 接口,返回包含工作区、项目和 PR 详情的数据结构。
  2. Client 端 (lib/client.js):

    • 将组件注册到 DSH 的 sidebar.footer.action 插槽中。
    • 每 30 秒轮询一次 /api/pr-checks 接口获取最新状态。

注意事项

  • 依赖 gh CLI:插件运行依赖 gh CLI 的认证状态。
  • 重启要求:安装后必须重启 dsh web,代码层面的修改(如 lib/*.js)同样需要重启进程才能生效(Loader 缓存机制)。
  • 生态说明:该插件属于 DSH 生态的第三方插件,由社区维护,与 DeepSeek 官方无从属关系。

总结

dsh-pr-checks 通过将 GitHub Actions 状态集成到侧边栏,简化了开发者对 PR 构建进度的监控流程。其自动过滤运行中任务、支持配置过滤以及无侵入式的安装方式,使其适合需要频繁管理多项目 PR 状态的 DSH 用户。

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

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

小夜