DeepSeek Harness 插件

xxiaoxiong/dsh-ci

Star 数 ★ 1 分类 工作流与自动化 收录于 2026-08-16 npm dsh-ci-plugin

面向 DeepSeek Harness 的通用 CI/CD 能力,支持 GitHub Actions、有限失败证据提取、源码定位诊断,以及带审批控制的重跑与取消操作。

安装

# npm 包(预构建)

dsh plugin --profile web add dsh-ci-plugin

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:xxiaoxiong/dsh-ci

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

dsh-ci 是为 DeepSeek Harness (DSH) 设计的跨平台、Provider 无关的 CI/CD 辅助插件。它能让智能代理(Agent)高效查看 CI 状态、快速定位失败源头、提取限制大小的日志,并在用户授权后安全地重跑或取消 CI 流程。

当前版本已实现 GitHub Actions Provider。在设计上,它的架构完全中立,便于后续无缝扩展接入 GitLab CI、Jenkins、CircleCI 等其他平台。

目标架构

DSH Agent
   ↓
Generic CI Tools (ci_status, ci_failure 等通用工具)
   ↓
ctx.ci (CIService 服务接口)
   ↓
GitHubActionsProvider (实现类)
   ↓
GitHub Actions REST API

核心特性

  • 跨平台中立工具:内置 9 个通用的 Agent 工具。
  • 自动工作区识别:解析本地 Git 信息(origin 远端、分支、HEAD 提交),无需用户手动输入 owner/repo 即可自动匹配对应的存储库。
  • 失败证据提取:提取故障日志片段(默认上限 8KB),仅包含错误行周边的少量上下文,防范上下文空间爆满。
  • 内置错误解析器注册表 (FailureParser Registry):支持通过匹配日志错误行定位源文件、代码行及对应函数。第一版已适配:
    • TypeScript 编译错误 (tsc)
    • Jest / Vitest 测试框架失败
    • pytest 测试报错
    • Maven / Gradle 构建故障
    • Go 测试异常
    • Cargo (Rust) 编译错误
    • ESLint 检查错误
    • Docker 构建异常
    • npm 依赖安装失败
    • 通用进程 Exit Code 异常
  • 敏感数据脱敏:智能脱敏日志中可能泄漏的各类 Token、私钥、密码和 AWS Access Key 等。
  • 写操作安全防护:写操作(ci_rerunci_cancel)默认处于关闭状态(writeEnabled: false),触发需经过 DSH Approval 审批流显式授权。

安装

您可以使用 DeepSeek Harness CLI 直接加载本插件:

dsh plugin add dsh-ci

插件配置

在 DSH 配置文件 settings.jsonsettings.local.json 中配置如下参数:

{
  "plugins": {
    "dsh-ci": {
      "writeEnabled": false,
      "maxLogSize": 8192,
      "maxEvidenceItems": 50,
      "apiBase": "https://api.github.com"
    }
  }
}

身份凭证配置

本插件自动接入 DSH 凭证通道,寻找 Token 优先级为:

  1. GH_TOKEN 环境变量
  2. GITHUB_TOKEN 环境变量
  3. GitHub CLI 工具 (gh 命令行工具) 的本地登录授权凭证

工具接口参考

本插件提供 9 个标准 Agent 工具:

  • ci_status:查询当前分支/提交的整体 CI 状态。
  • ci_runs:列表展示历史工作流运行记录。
  • ci_run:查询单次工作流运行的详情信息。
  • ci_jobs:展示工作流内的 Job 以及 Step 运行情况。
  • ci_failure:分析错误运行(Failed Run),精准匹配错误段落,提取代码错误位置(文件路径、行号、测试用例名称)及日志片段。
  • ci_log:提取并脱敏指定 Job/Step 的部分日志。
  • ci_artifacts:查看构建产物元数据。
  • ci_rerun:重跑失败的 CI 流程。需具备写入授权。
  • ci_cancel:终止正在运行的工作流。始终需要用户审批。

安全机制

  1. 不可信数据过滤:日志视为不可信输入,通过内置正则表达式,避免潜在的 Prompt 注入。
  2. 凭证隔离:绝不会在 Tool Result 或日志输出中包含任何明文 token。
  3. 确认防重防错:支持 dryRun 参数,写操作强依赖 Harness 交互确认,严控未经授权的写入请求。

开源协议

MIT 协议。

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →