DeepSeek Harness (DSH) 作为一个插件化的开发环境,旨在将外部工具能力集成到统一的对话与界面中。在使用 GitHub Actions 时,开发者通常需要在浏览器和终端间频繁切换,以查看构建状态和日志。dsh-github-ci 插件通过在 DSH Web 界面中提供实时的 Pipeline Dashboard,并将 GitHub Actions 的操作能力封装为 Agent 工具,解决了这一割裂问题。
插件定位¶
dsh-github-ci 是一个由 knownasmobin 维护的 GitHub Actions CI 管理插件。它为 DeepSeek Harness Web 界面提供可视化的流水线监控面板,并支持通过 github_ci 代理工具直接在对话中操作工作流。
核心功能¶
- Pipeline Dashboard:在 Web 界面提供浮层或设置页面的仪表盘,展示通过/失败/运行状态的摘要、状态徽章以及每个运行的快捷操作按钮(如取消、重试、打开 GitHub)。
- 认证方式:支持 GitHub OAuth Device Flow(无需客户端密钥)或 Personal Access Token (PAT)。Token 持久化存储在 DSH 凭据存储中,跨会话复用。
- 仓库浏览器:支持列出自己的私有仓库和组织仓库,或搜索公共用户/组织仓库进行浏览。
- 运行操作:支持取消进行中的运行、重试失败的工作以及直接在 GitHub 上打开对应页面。
- 日志与检测:提供运行日志,并具备失败步骤检测能力,将相关日志推送到 Agent。
- Agent 工具:
github_ci工具可用于列出工作流/运行、检查作业、获取日志、触发、取消和重试。 - 修复与恢复:支持“Fix with Agent”功能,一键起草包含运行元数据和失败日志的结构化调试请求;支持凭据失效时的恢复与特定来源的错误提示。
安装与启用¶
通过命令行安装。插件需要挂载到 Web 客户端,因此必须指定 --profile web 参数。
dsh plugin --profile web add dsh-github-ci
典型用法¶
在 DSH 对话中使用 github_ci 工具,需指定 action 参数和相关参数。
- 列出工作流:
github_ci({ action: "list_workflows", owner: "vercel", repo: "next.js" })
- 获取日志:
github_ci({ action: "get_logs", repo: "owner/repo", run_id: 123456789 })
- 触发工作流:
github_ci({ action: "trigger", owner, repo, workflow_id: "deploy.yml", ref: "main" })
适用场景与注意事项¶
- 适用场景:需要在 DSH Web 界面中直接监控 GitHub Actions 状态,或通过 Agent 自动化触发、取消和排查 CI 问题的开发者。
- 注意事项:
- 依赖检查:需要满足
@deepseek-ai/dsh-tools >=0.1.1-rc.1的 peer dependency 要求。 - OAuth 配置:使用 OAuth 登录时,需在 GitHub Developer Settings 中开启 “Device Flow”。
- PAT 权限:使用 Personal Access Token 时,必须包含
repo和workflow权限范围。 - 匿名访问:浏览公共仓库无需登录,匿名读取即可。
- 安全存储:Token 仅存储在 DSH 凭据存储中,不会写入源码树。
- 依赖检查:需要满足
总结¶
dsh-github-ci 将 GitHub Actions 的控制权完整集成到了 DeepSeek Harness 生态中。通过仪表盘和 Agent 工具的结合,开发者可以在本地环境无缝管理 CI 流程。更多细节可参考 catalog 页面或 GitHub 仓库。