AtomGit 插件包:内置六个 AtomGit 技能(Issue 规划、Issue 实现、PR 审查、PR 合并、CLI 版本发布、GitHub 镜像),并集成 ag CLI 与平台托管的 MCP 工具(仓库/分支/Issue/PR/搜索)。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:xiongjiamu/dsh-atomgit
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
English | 中文
AtomGit 插件 bundle,让 DeepSeek Harness(dsh)用户开箱即用地通过 AtomGit 托管代码。一个包装齐三层能力:
| 层 | 来源 | 在 dsh 里的形态 |
|---|---|---|
| 流程层 | atomgit-skills | 六个内置技能,进入模型 <available_skills> 目录,可被 skill 工具加载 |
| 执行层 | atomgit-cli(ag) |
模型经内置 bash 工具直接执行 ag 命令 |
| 交互层 | AtomGit 平台托管的 MCP server(https://api.atomgit.com/mcp-server/v1/mcp) |
原生工具 mcp__atomgit__*,经 @deepseek-ai/dsh-mcp-client 以 streamable-http 接入,无需本地起服务 |
内置技能(来自 atomgit-skills 上游,随包 vendored):atomgit-plan-issues、atomgit-implement-issue、atomgit-review-pr、atomgit-merge-pr、atomgit-publish-cli-release、atomgit-mirror-to-github。
安装
前置要求——一步鉴权,三个模块通用:
# 只需装好 ag 并登录一次:
# `ag auth login` 会把 AtomGit PAT 存到 ~/.config/ag-cli/token.json。
npm install -g @hust-open-atom-club/atomgit-cli
ag auth login
仅此而已。MCP 端点与技能都不需要再单独配置令牌。
统一鉴权
三个模块共用同一个 AtomGit PAT——与 ag auth login 获取的 OAuth 令牌是同一个东西:
| 模块 | 鉴权方式 |
|---|---|
ag CLI / 技能 |
直接读取 ~/.config/ag-cli/token.json |
MCP 端点(mcp__atomgit__*) |
插件的 atomgitAuth 服务从同一份 ag 凭据文件解析令牌,并以 Authorization: Bearer <PAT> 发送;无需用户额外设置 |
可选覆盖:想用别的令牌(例如在 AtomGit「个人设置 → 访问令牌」手动创建的 PAT),在 dsh 运行目录的 .env 里设置 ATOMGIT_TOKEN 即可——ag 凭据文件缺失时插件会回退到它。
安装 bundle(在包含本目录的目录下执行):
dsh plugin --profile web add ./dsh-atomgit
# 或从远端:dsh plugin --profile web add github:you/dsh-atomgit#<sha>
dsh web
使用效果
启动后模型侧自动获得:
<available_skills>目录出现六个atomgit-*技能,按需用skill工具加载;技能内的references/(如ag-commands.md)由目录资源指引按需读取。- 原生工具
mcp__atomgit__*(仓库/分支/Issue/PR/搜索),来自 AtomGit 平台托管的 MCP server——无需本地安装、Docker 或 Python。 - bash 里可执行
ag(ag repo view、ag pr list、ag issue create等)。
典型工作流:让模型用 atomgit-plan-issues 规划 Issue → atomgit-implement-issue 实现并开 PR → atomgit-review-pr 审查 → 你显式授权后 atomgit-merge-pr 合并。
配置覆盖
patch 按行整体替换 config,用户在 profile cordis.patch.yml 或 --patch overlay 里按行 id 覆盖:
# 完全禁用 MCP(只用技能 + ag):
- id: mcp-atomgit
disabled: true
# 换一个端点(如自建 MCP server):
- id: mcp-atomgit
inject: [atomgitAuth]
config:
serverName: atomgit
transport: streamable-http
url: https://your-host/mcp
headers:
Authorization: !!js '`Bearer ${ctx.atomgitAuth.token ?? ""}`'
技能同步
技能目录 skills/ 从 atomgit-skills 上游按 tag 同步,保证"插件版本 ↔ 技能版本"可复现:
npm run sync-skills # 同步 main
npm run sync-skills -- v1.2.3 # 同步某个 tag
许可
- 本 bundle 的插件代码与打包结构:MulanPSL-2.0。
- 内置技能来自 atomgit-skills,其许可证(MulanPSL-2.0)随技能复制于
skills/LICENSE。
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-git-graph★ 8121
输入框上方提供 Git 分支选择器,并把分支泳道与提交历史画成图谱,沿着时间线找到任意变更。
Akimiya-z/codex-guard#dsh★ 138
在 DeepSeek Harness 内做提交前的 Pull Request 卫生检查:扫描当前改动中的 TODO 残留、硬编码密钥与非规范提交信息。
Cerbur/clutch-dsh#clutch-dsh-worktree★ 29
为 DSH Web UI 增加按 Git Worktree 组织 Session 的视角,同时继续由 DSH 管理原始 Project 和 Session 数据。
lehhair/dsh-diff-viewer★ 27
PiUI 风格 diff 查看器,替换 write/edit 工具调用的默认 DiffBlock。
DietCokewithSugar/dsh-user-experience★ 20
帮你发现项目中可能存在的用户体验问题:自动走查 React/TypeScript 源码,定位问题并给出具体优化建议。
DamonKoy/dsh-web-ui#dsh-git-graph★ 19
dsh web GUI 会话头部栏的 Git 分支选择器与提交图。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。