deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
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.
DSH Agent
↓
Generic CI Tools (ci_status, ci_failure, etc.)
↓
ctx.ci (CIService Context interface)
↓
GitHubActionsProvider (implements CIService)
↓
GitHub Actions REST API
CIService and AbstractCIProvider core contracts.tsc)ci_rerun, ci_cancel) are approval-gated and disabled by default (writeEnabled: false). Cancel operation always requires approval.Add this plugin directly via DeepSeek Harness CLI:
dsh plugin add dsh-ci
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"
}
}
}
The plugin integrates with the standard DSH credential manager. It will automatically check for credentials in the following order:
GH_TOKEN environment variableGITHUB_TOKEN environment variablegh auth credentials (via GitHub CLI helper)The plugin registers 9 provider-neutral tools inside DSH:
ci_statusGets the overall CI status of the repository, current branch, or commit.
repository?, branch?, commit?ci_runsLists recent workflow runs in the repository.
repository?, branch?, status?, limit?ci_runRetrieves a detailed description of a single run.
runId (required), repository?ci_jobsLists all jobs and their execution steps inside a workflow run.
runId (required), repository?ci_failureLooks 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.
runId (required), jobId?, repository?, maxExcerpts?ci_logFetches log excerpts for a given job or step. Excerpts are bounded in size and redact all secrets automatically.
jobId (required), stepId?, repository?, maxBytes?ci_artifactsLists metadata about build artifacts.
runId (required), repository?ci_rerunTriggers a rerun of a workflow run. Requires write authorization.
runId (required), dryRun?, repository?ci_cancelCancels an in-progress workflow run. Always requires approval.
runId (required), repository?MIT License.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。