dsh-doctor
asdf17128
Find what your DeepSeek Harness (dsh) patches silently broke — dead patches, config fields dropped by whole-config repla…
PROJECT TOPICS
PROJECT README
English | 简体中文
This is not a GitHub API plugin. It is a skill pack that teaches DeepSeek Harness how to work through GitHub engineering workflows: PR triage, review feedback, CI diagnosis, and safe publish — composing whatever GitHub/Git capabilities are already available and falling back to
gh/gitwhen necessary.
Unofficial community plugin for DeepSeek Harness (DSH). Not affiliated with or endorsed by deepseek-ai, OpenAI, or GitHub.
A skill-first, connector-agnostic workflow layer for GitHub in DSH. It ships four skills that load only when invoked (progressive disclosure) and adapt to whatever GitHub/Git capabilities your session already exposes:
| Skill | What it does |
|---|---|
github |
Umbrella router: resolves repo/PR/issue/branch context, classifies intent, and routes to the right specialist immediately. |
gh-address-comments |
Processes PR review feedback: thread-aware reads (resolved/outdated/anchors), classification, and local fixes with a strict remote-write boundary. |
gh-fix-ci |
Diagnoses or fixes failing GitHub Actions checks from real log evidence; external CI providers are report-only. |
gh-publish |
Safely publishes local changes: scope confirmation, branch, staging (never blind git add -A), commit, verify, push, draft PR. |
Why it exists: DSH already has several GitHub/Git capability providers — what the ecosystem lacked is the workflow layer: routing, policy, safety boundaries, and fallbacks. This pack provides that layer without reimplementing any GitHub API.
Requires a DSH profile (the web profile is the GUI one). Choose one path:
dsh CLIdsh plugin --profile web add dsh-github-skills
dsh web
npx @deepseek-ai/dsh plugin --profile web add dsh-github-skills
npx @deepseek-ai/dsh web
npx needs no global DSH installation.dsh plugin command manages profile dependencies with pnpm,
so pnpm must still be on PATH.engines
(^22.19.0 || >=24.0.0).dsh plugin --profile web add github:Starfie1d1272/dsh-github-skills#<commit>
npx equivalent:
npx @deepseek-ai/dsh plugin --profile web add github:Starfie1d1272/dsh-github-skills#<commit>
#<sha>) so a later push cannot silently change what runs.lib/ output,
no allowBuilds prompt).npm pack
dsh plugin --profile web add ./dsh-github-skills-0.1.0.tgz
Availability: npm installation is available in released versions
starting with v0.1.0. For unreleased commits, use the GitHub commit-pin or
local tarball installation paths.
dsh plugin --profile web remove dsh-github-skills
or with npx:
npx @deepseek-ai/dsh plugin --profile web remove dsh-github-skills
The profile's dsh.profile.bundles list is reconciled automatically by the
official plugin manager; no files are left behind in ~/.dsh.
^22.19.0 || >=24.0.0 (checked by engines).pnpm on PATH (used by the official dsh plugin command).dsh — globally or via npx; the reviewed/tested baseline
is @deepseek-ai/dsh@0.1.0-rc.6.git — required by local workflows (preflight, publish).gh CLI (GitHub CLI) with an authenticated session — required by the
bundled helpers that need GitHub-side reads (gh-address-comments review
threads, gh-fix-ci Actions logs) and by CLI fallback paths.If your DSH session already exposes sufficient structured GitHub capabilities,
not every workflow necessarily depends on gh; the skills prefer existing
capabilities and fall back to gh/git only where needed.
After installation, just say:
"What's the state of PR 482?" → github (triage)
"Address the review comments on this PR" → gh-address-comments
"Why are the GitHub Actions checks failing on this PR?" → gh-fix-ci
"Commit these changes and open a draft PR" → gh-publish
"Fork awesome-foo, update its README, and open a PR" → gh-publish
Mixed requests may load multiple specialists — complete review or CI work before publishing:
"Fix the review comments, then push" → gh-address-comments + gh-publish
"Fix CI, then open a PR" → gh-fix-ci + gh-publish
See references/safety-model.md for the normative rules. Highlights:
gh auth token is
never invoked) and never store credentials; every output path redacts
known credential shapes (GitHub token prefixes, https remote URL userinfo)
with stable placeholders before model-visible output. Untrusted remote
content — comments, CI logs, gh/git stderr — is treated as untrusted and
redacted for credential-shaped material.git add -A; scope ambiguity stops
the publish flow.@deepseek-ai/dsh@0.1.0-rc.6. CI runs the full
unit/safety suite plus a real disposable-profile install smoke on Node
22.19 and Node 24.lib/index.js minimal bundle shim: registers a read-only SkillProvider
skills/<name>/SKILL.md four skills; catalog renders name + description only, bodies load on demand
skills/*/scripts/ zero-dependency Node helpers (thread reads, CI evidence,
publish preflight)
references/ capability matrix, safety model, upstream notes,
conformance record, GitHub MCP reference, routing fixture
The only code is the shim: it registers the four SKILL.md bundles on
ctx.skills (bundled rank, lazy body reload, directory resourceBase). It
registers no GitHub API tools and manages no credentials.
Optional GitHub MCP: GitHub's official MCP server can be wired into DSH as an additional structured capability source. The skills then pick its tools by semantics like any other visible capability. See references/github-mcp.md for the DSH profile configuration; this package does not configure MCP servers or manage credentials.
| Project | Role | Relationship |
|---|---|---|
| kaziii/dsh-github-connector | GitHub provider/auth (Device Flow)/UI | Complementary; its auth/UI surface is what this pack does not do. |
| PerryLink/dsh-github | Approval-gated GitHub model tools | Complementary/competitive; skills prefer its tools when installed, then fall back to gh. |
| ZariaEcho/dsh-github-workflow | Higher-level GitHub toolset | Not a replacement; skills can route to its tools when present. |
| jkrandom-sudo/dsh-ci-doctor | CI diagnosis primitive | Complementary; gh-fix-ci prefers ci_diagnose when visible. |
| lonelymoon87/dsh-gitflow | Local git primitive | Complementary; its tools are the git fallback layer. |
| BrambleXu/dsh-revdiff | Interactive local diff review | Largely disjoint; can feed a publish flow upstream. |
| Lixiaoyiao/deepseek-harness-action | GitHub Action running DSH in CI | Different trigger surface (events vs conversation). |
This project is the workflow brain / routing / safe composition layer; it deliberately does not compete on tool surface with any of the above.
The workflow structure is informed by the official
OpenAI Codex GitHub plugin
(installed locally as version 0.1.8-2841cf9749ae). Adapted/reimplemented
content is attributed in THIRD_PARTY_NOTICES.md and
detailed in references/upstream-notes.md.
Helpers are independent Node reimplementations, not Python translations. This
project is not affiliated with, or endorsed by, OpenAI.
npm test # unit, safety, structure, redaction, package tests
npm run pack:check # npm pack allowlist + isolated install + shim registration
npm run test:smoke # end-to-end disposable-profile install (real dsh + pnpm)
Apache-2.0. See LICENSE and THIRD_PARTY_NOTICES.md.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。