@perrylink/dsh-github
Official-grade GitHub CI for DeepSeek Harness: composite action (review PRs / fix CI / report), polling PR review bot with idempotent inline comments, a status-check gate, and approval-gated PR/issue/repo/file tools
AI Analysis
适合需要在CI流程中自动审查PR、修复问题和管理仓库的团队。
Install
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:PerryLink/dsh-githubREADME
Read the full README ↗Configuration
All tunables are Schemastery Config fields (changeable from cordis.yml). An id-targeted override replaces the whole row — restate every key you need. cordis.patch.yml documents each key inline.
| Key | Default | Meaning |
|---|---|---|
tokenSource | auto | auto (credentials → env → gh) or one of credentials / env / gh |
tokenRef | GITHUB_TOKEN | Credential-seam reference / environment-variable name |
defaultOwnerRepo | — | Fallback owner/repo when a call names none and git has no origin |
autoCommit | false | Whether /pr create may instruct the model to commit+push first |
maxDiffChars | 8000 | Character cap for PR diffs read into reviews |
renderExcerptChars | 2000 | Character cap for the diff excerpt rendered into tool output |
maxComments | 20 | Cap for PR comments listed by gh_review |
reviewJobTimeoutMs | 600000 | Deadline for one background review job (fails with timeout) |
maxReviewRecords | 50 | Cap for in-memory review-job records; oldest settled records evict first |
maxFileChars | 12000 | Character cap for file contents read by gh_file |
maxFindings | 50 | Cap for analyzer findings per review |
maxLineLength | 300 | Line length beyond which the analyzer flags a long-line finding |
reviewMode | static | Review engine: static (deterministic analyzer) or model (one-shot subagent through the host's subagents seam; fails loud when the seam is absent) |
modelReviewProvider | — | Subagent provider name for reviewMode: "model"; defaults to the first registered provider |
maxRetries | 3 | 429 retry attempts per request |
retryBaseMs | 500 | Retry backoff base (doubles per attempt) |
retryMaxWaitMs | 60000 | Retry backoff ceiling |
requestTimeoutMs | 30000 | Hard per-request timeout; aborts the fetch when exceeded |
apiBaseUrl | https://api.github.com | GitHub REST base URL (GitHub Enterprise) |
allowedActions | ['pr.create','pr.merge','pr.update','review.post','issue.create','issue.comment','issue.close','ci.run'] | Write-action whitelist; anything else is denied before approval |
workspaceDir | process cwd | Working directory for read-only git inspection |
ci | { enabled: false, … } | CI integration section: polling review bot, status-check gate, and the one-shot ci_run tool (all ci.* keys live inside it) |