DeepSHPlugins
dsh-ci 项目预览
GITHUB / COMMUNITY PROJECT

dsh-ci

Agent 与自动化

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

1 Starsxxiaoxiong
访问 GitHub 仓库
dsh-ci 项目预览

项目介绍

中文

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

English

Provider-neutral CI/CD capability for DeepSeek Harness with GitHub Actions support, bounded failure evidence, source-aware diagnostics, and approval-gated rerun/cancel controls.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
xxiaoxiong
仓库
xxiaoxiong/dsh-ci
GitHub Stars
1
Forks
未记录
开发语言
未记录
许可证
未记录
最近推送
未记录
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

30/ 100
维护活跃
10
文档与实用信息
85
生态关注度
9
安装便捷信号
100
项目声明信号
65

README 含完整安装与使用说明;关注度尚低(1);标准命令一键安装。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

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

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

dsh-ci - Continuous Integration (CI) plugin for DeepSeek Harness (DSH)

dsh-ci is a generic, provider-neutral CI/CD plugin for DeepSeek Harness (DSH). It enables agents to inspect CI runs, extract bounded failure evidence, locate source errors, and safely rerun or cancel pipelines.

The current version supports GitHub Actions as the primary CI provider. Its architecture is explicitly designed to be provider-neutral, allowing future implementations for GitLab CI, Jenkins, CircleCI, etc. without modifying the generic CI tool layer.

Architecture

DSH Agent
   ↓
Generic CI Tools (ci_status, ci_failure, etc.)
   ↓
ctx.ci (CIService Context interface)
   ↓
GitHubActionsProvider (implements CIService)
   ↓
GitHub Actions REST API

Key Features

  • Generic CI Tools: A stable set of 9 tools exposed to the agent loop.
  • Ecosystem-neutral Service Layer: Abstract CIService and AbstractCIProvider core contracts.
  • Automatic Workspace Detection: Parses local git repository (origins, remotes, branches, HEAD) to automatically map owner and repository without user input.
  • Failure evidence extraction: Bounded logs (default 8KB), error-focused extraction (only lines around errors), and de-duplication.
  • Failure Parser Registry: Specialized regex parser patterns to map compile errors, test suite failures, docker fails, and generic exit codes to exact source files, lines, and functions. Supports:
  • TypeScript compilation errors (tsc)
  • Jest / Vitest test runner failures
  • pytest (Python) failures
  • Maven / Gradle (Java) build failures
  • Go test failures
  • Cargo (Rust) compile errors
  • ESLint errors
  • Docker build errors
  • npm install/dependency errors
  • Generic command exit codes
  • Secret Redaction: Automatic scrubbing of sensitive tokens, private keys, passwords, and AWS keys from all log output returned to the LLM.
  • Write Approval Gates: Write operations (ci_rerun, ci_cancel) are approval-gated and disabled by default (writeEnabled: false). Cancel operation always requires approval.

Installation

Add this plugin directly via DeepSeek Harness CLI:

dsh plugin add dsh-ci

Configuration

Add the following block to your settings.json or settings.local.json configuration file:

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

Credentials

The plugin integrates with the standard DSH credential manager. It will automatically check for credentials in the following order:

  1. GH_TOKEN environment variable
  2. GITHUB_TOKEN environment variable
  3. Local gh auth credentials (via GitHub CLI helper)

Tool Reference

The plugin registers 9 provider-neutral tools inside DSH:

ci_status

Gets the overall CI status of the repository, current branch, or commit.

  • Parameters: repository?, branch?, commit?

ci_runs

Lists recent workflow runs in the repository.

  • Parameters: repository?, branch?, status?, limit?

ci_run

Retrieves a detailed description of a single run.

  • Parameters: runId (required), repository?

ci_jobs

Lists all jobs and their execution steps inside a workflow run.

  • Parameters: runId (required), repository?

ci_failure

Looks up a failed run, identifies the failing jobs/steps, parses their logs, and compiles a structured failure evidence block containing exact file paths, line numbers, test names, and a bounded log excerpt.

  • Parameters: runId (required), jobId?, repository?, maxExcerpts?

ci_log

Fetches log excerpts for a given job or step. Excerpts are bounded in size and redact all secrets automatically.

  • Parameters: jobId (required), stepId?, repository?, maxBytes?

ci_artifacts

Lists metadata about build artifacts.

  • Parameters: runId (required), repository?

ci_rerun

Triggers a rerun of a workflow run. Requires write authorization.

  • Parameters: runId (required), dryRun?, repository?

ci_cancel

Cancels an in-progress workflow run. Always requires approval.

  • Parameters: runId (required), repository?

Security Model

  1. Untrusted Input: All log outputs are treated as untrusted data. We filter and redact strings matching high-risk signatures (e.g., token prefixes, private keys) to prevent prompt injection and credential leaking.
  2. Context Preservation: Full logs are never returned to the model. We slice logs to focus on errors, avoiding context window explosion.
  3. Approval Flow: Triggering runs or cancels will prompt the user with DSH Approval seam for explicit consent before issuing the REST requests.

License

MIT License.

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目