packages/dsh-git-graph
zhu1090093659/dsh-web输入框上方提供 Git 分支选择器,并把分支泳道与提交历史画成图谱,沿着时间线找到任意变更。
简体中文 | English
把 OpenAI Codex 官方 GitHub 工作流带到 DeepSeek Harness。
dsh-github-skills以 OpenAI 官方 Codex GitHub plugin 的工作流语义为上游基线,针对 DSH 的多 provider、审批机制、Skill 按需加载和gh/git回退环境进行适配与加固。
它不是另一个 GitHub API 插件。GitHub provider 负责让 DSH“有能力”,本项目负责让 Agent“正确、安全地组织这些能力”。
*DeepSeek Harness(DSH)的非官方社区项目。与 deepseek-ai、OpenAI、GitHub 无隶属关系,也未获其背书。*
DSH 已经出现了不少 GitHub / Git 能力插件:有人负责认证,有人提供 PR / Issue / Review / CI 工具,有人负责本地 Git,有人提供 GitHub MCP 或专项 CI 诊断。
这些项目解决的是:
Agent 能调用什么?
dsh-github-skills 解决的是另一层问题:
面对一个真实的软件工程任务,Agent 应该在什么时候使用什么能力、按什么顺序使用、需要什么证据、什么时候不能继续,以及能力不足时如何安全回退?
因此,本项目刻意不重新实现 GitHub API,而是作为 DSH GitHub 生态之上的工作流语义 / 路由 / 证据要求 / 安全组合层。
完整设计与生态定位见:《dsh-github-skills 的定位:从 Codex GitHub Skill 到 DSH 工作流层》。
本项目不是从零发明四套 GitHub 工作流。核心结构来自 OpenAI 官方 Codex GitHub plugin:
Codex GitHub plugin · dsh-github-skills · 作用 github · github · GitHub 总入口、上下文解析与路由 gh-address-comments · gh-address-comments · 处理 PR Review 反馈 gh-fix-ci · gh-fix-ci · 基于真实 CI 证据诊断 / 修复 GitHub Actions yeet · gh-publish · 安全提交、推送并创建 PR
目标不是逐字复制,而是保持工作流语义一致,并针对 DSH 做必要适配。
项目维护了一份固定上游版本的逐项一致性记录:references/codex-conformance.md。其中明确区分:
目前已有的 DSH 适配包括多 provider 能力选择、DSH approval、按需加载、Fork PR 目标仓库修正、mixed worktree 防护、partially staged 处理、已有 PR 检测、非 origin 远程处理和凭据脱敏等。
Skill · 负责什么 github · GitHub 总入口:解析 repo / PR / Issue / branch 上下文,判断意图,并尽早路由到对应专家 Skill。 gh-address-comments · 处理 PR Review 反馈:保留 Review Thread 的 resolved / outdated / 锚点语义,分类反馈并进行可追溯的本地修复。 gh-fix-ci · 基于真实 check / log 证据诊断或修复 GitHub Actions;没有日志就不猜根因,外部 CI 默认只报告。 gh-publish · 安全发布本地改动:确认范围、分支、选择性暂存、提交、验证、推送,并在需要时创建 Draft PR。
这四个 Skill 只在需要时加载,避免把整套 GitHub 工作流长期塞进上下文。
GitHub / GitHub Actions / 本地 Git
│
▼
┌──────────────────────────────────────────────┐
│ 能力提供层 │
│ kaziii · PerryLink · ZariaEcho · GitHub MCP │
│ dsh-ci-doctor · dsh-gitflow · gh / git │
└──────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────┐
│ dsh-github-skills │
│ 工作流语义 · 路由 · 证据要求 · 安全组合 · 回退 │
└──────────────────────────────────────────────┘
│
▼
DSH Coding Agent典型关系:
kaziii/dsh-github-connector:提供 GitHub 认证、UI 和结构化能力;本项目负责工作流组织;PerryLink/dsh-github:提供丰富的 GitHub 模型工具和审批门控;本项目可优先使用其可见能力;ZariaEcho/dsh-github-workflow:提供更高层 GitHub 工具;本项目不复制它们,而按语义组合;jkrandom-sudo/dsh-ci-doctor:可作为 gh-fix-ci 的专项 CI 证据来源;lonelymoon87/dsh-gitflow:可作为本地 Git 能力来源;gh / git:当结构化能力不足时的最终回退层。高质量 provider 越多,本项目越应该少依赖 CLI,而不是变得越没有价值。
dshdsh plugin --profile web add dsh-github-skills
dsh webnpx @deepseek-ai/dsh plugin --profile web add dsh-github-skills
npx @deepseek-ai/dsh web要求:
^22.19.0 || >=24.0.0;pnpm 在 PATH 中;dsh;git;gh CLI。dsh plugin --profile web add github:Starfie1d1272/dsh-github-skills#<commit>适合未发布版本或需要固定可审计快照的场景。常规使用优先 npm 包。
npm pack
dsh plugin --profile web add ./dsh-github-skills-<version>.tgzdsh plugin --profile web remove dsh-github-skills安装后直接用自然语言描述任务:
“这个 PR 现在什么状态?”
→ github
“处理这个 PR 的 Review 意见”
→ gh-address-comments
“为什么这个 PR 的 GitHub Actions 挂了?”
→ gh-fix-ci
“提交这些改动并开一个 Draft PR”
→ gh-publish混合任务会按顺序组合多个 Skill:
“修完 Review 意见然后 push”
→ gh-address-comments → gh-publish
“修好 CI 再开 PR”
→ gh-fix-ci → gh-publish以上是工作流示意,用于解释路由与职责边界,不代表一次真实模型 benchmark。
本项目把“本地修改”和“GitHub 远程写”分开处理:
git add -A;gh auth token,也不会存储 GitHub 凭据;完整规范见 references/safety-model.md。
本项目不把持续运行昂贵的真实 Coding Agent 任务当成日常测试前提。
优先采用:
路由规格见 references/routing-fixture.md。
@deepseek-ai/dsh@0.1.0-rc.6;lib/index.js 极薄的 bundle shim,只负责注册 SkillProvider
skills/<name>/SKILL.md 四个 Skill,正文按需加载
skills/*/scripts/ 零依赖 Node 辅助脚本
references/ 一致性、安全、能力矩阵、生态调研、路由规格
docs/ 面向用户和维护者的定位与说明文档本包不注册自己的 GitHub API 工具,也不管理 OAuth / token。
它不是:
Provider 负责能力,`dsh-github-skills` 负责工作流。
工作流语义参考 OpenAI 官方 Codex GitHub plugin。固定审计基线、行为差异和 DSH 适配见 references/codex-conformance.md;改编 / 重实现声明见 THIRD_PARTY_NOTICES.md。辅助脚本是独立 Node 重实现,不是 Python 逐行翻译。
本项目采用 Apache-2.0 License。见 LICENSE。