dsh-ci-runner
触发 GitHub Actions 工作流与本地测试管道的插件,支持日志回传及失败原因诊断。
AI 分析
核心用途是让 Agent 能够触发 CI 流程、监控状态,并在失败时自动提取日志交由 DeepSeek 进行根因分析。适合需要自动化运维、持续集成的开发场景。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:JohnXu22786/ci-runner说明文档
阅读完整 README ↗Configuration
| Field | Default | Meaning |
|---|---|---|
github.tokenEnv | GITHUB_TOKEN | Env var holding the GitHub token (read at call time, never logged) |
github.defaultRepo | '' | Default owner/repo for GitHub calls |
github.defaultBranch | main | Ref used when a trigger doesn't specify one |
github.apiBase | https://api.github.com | REST base (GitHub Enterprise override) |
github.pollIntervalMs | 5000 | Poll interval for status tracking |
github.pollTimeoutMs | 600000 | Hard cap for waiting on a run |
github.dispatchWindowMs | 20000 | How long a dispatch may take to surface a run id |
github.requestTimeoutMs | 30000 | Per-request HTTP timeout |
github.readLogChars | 30000 | Default tail cap for ci_logs |
local.cwd | . | Working directory for command runs |
local.timeoutMs | 120000 | Hard timeout per command |
local.maxOutputChars | 40000 | Per-stream output cap |
local.templates | [{name: 'npm test', command: 'npm test'}, {name: 'pytest', command: 'pytest'}] | Named command templates |
diagnosis.llm | null | OpenAI-compatible endpoint override {baseUrl, apiKey, model} |
diagnosis.provider | '' | ctx.llm provider route ('' = auto) |
diagnosis.model | '' | ctx.llm model ('' = auto) |
diagnosis.maxTailChars | 12000 | Chars of the log tail sent to the model |
diagnosis.timeoutMs | 120000 | Hard budget for the analysis call |
diagnosis.temperature | 0.2 | Sampling temperature |
diagnosis.providerLabel | OpenAI-compatible | Label recorded in reports when the endpoint override is used |
Templates let the model and the CLI reference pipelines by name
(ci_trigger {source: local, command: 'npm test'}). Any value that doesn't
match a template name is treated as a raw shell command line.