面向 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 异常
- TypeScript 编译错误 (
- 敏感数据脱敏:智能脱敏日志中可能泄漏的各类 Token、私钥、密码和 AWS Access Key 等。
- 写操作安全防护:写操作(
ci_rerun、ci_cancel)默认处于关闭状态(writeEnabled: false),触发需经过 DSH Approval 审批流显式授权。
安装
您可以使用 DeepSeek Harness CLI 直接加载本插件:
dsh plugin add dsh-ci
插件配置
在 DSH 配置文件 settings.json 或 settings.local.json 中配置如下参数:
{
"plugins": {
"dsh-ci": {
"writeEnabled": false,
"maxLogSize": 8192,
"maxEvidenceItems": 50,
"apiBase": "https://api.github.com"
}
}
}
身份凭证配置
本插件自动接入 DSH 凭证通道,寻找 Token 优先级为:
GH_TOKEN环境变量GITHUB_TOKEN环境变量- 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:终止正在运行的工作流。始终需要用户审批。
安全机制
- 不可信数据过滤:日志视为不可信输入,通过内置正则表达式,避免潜在的 Prompt 注入。
- 凭证隔离:绝不会在 Tool Result 或日志输出中包含任何明文 token。
- 确认防重防错:支持
dryRun参数,写操作强依赖 Harness 交互确认,严控未经授权的写入请求。
开源协议
MIT 协议。
链接
同类插件
NanmiCoder/dsh-agent-teams★ 348
AgentTeams 多智能体团队。
icetomoyo/dsh_workflow★ 60
把 UltraCode 式多 Agent 调度带给 DSH:可生成、可保存、可治理、可观察、可恢复的 Workflow 层。
btspoony/mstar-harness★ 45
技能驱动的 harness/loop 工程化工作流插件。
titanwings/dsh-automation★ 42
定时任务:让 Coding 任务按计划在全新 Agent Session 中运行,保留可审计历史。
whyihaveyou/dsh-suite#plugin-team-board★ 31
多 agent 共享任务板:经 Cordis service key 创建/认领/流转/查询任务。
omdsh-dev/dsh-deep-research★ 12
自适应深度研究编排器(基于官方 workflow 引擎)。