xiongjiamu/dsh-atomgit
AtomGit 插件包,用于 DeepSeek Harness(dsh):包含 atomgit-skills 工作流、ag CLI 以及平台托管的 AtomGit/GitCode MCP 工具。
项目介绍Project Overview
dsh-atomgit 是面向 DeepSeek Harness 的 AtomGit 插件包,统一封装工作流、执行与交互三层能力。核心能力是提供六个 atomgit 内置技能、原生 mcp__atomgit__* 工具及 ag CLI,让模型可在 dsh 内直接托管和管理 AtomGit 代码。适用于在 dsh 中进行 issue 规划、PR 实现、评审、合并及发布等编码协作场景。需注意:所有模块依赖 ag auth login 产出的同一 PAT,若自行改用 ATOMGIT_TOKEN 需放在 dsh 工作目录的 .env 中。
dsh-atomgit is an AtomGit plugin bundle for DeepSeek Harness that unifies workflow, execution, and interaction layers. It provides six atomgit skills, native mcp__atomgit__* tools, and the ag CLI, letting models host and manage code on AtomGit directly inside dsh. Use it for issue planning, PR implementation, review, merge, and release workflows. Note that all three modules rely on the same PAT produced by ag auth login; a custom ATOMGIT_TOKEN override must be set in the dsh working directory's .env.
请帮我了解并安装插件:【dsh-atomgit】【https://github.com/xiongjiamu/dsh-atomgit】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add github:xiongjiamu/dsh-atomgit
把 xiongjiamu/dsh-atomgit 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-atomgit
English | 中文
AtomGit plugin bundle for DeepSeek Harness (dsh): lets dsh users host and manage code on AtomGit out of the box. One package delivers all three AtomGit services:
| Layer | Source | Shape in dsh |
|---|---|---|
| Workflow | atomgit-skills | Six built-in skills in the model's <available_skills> catalog, loaded on demand via the skill tool |
| Execution | atomgit-cli (ag) |
The model runs ag commands directly through the built-in bash tool |
| Interaction | AtomGit platform-hosted MCP server (https://api.atomgit.com/mcp-server/v1/mcp) |
Native tools mcp__atomgit__* bridged by @deepseek-ai/dsh-mcp-client over streamable-http; no local server to run |
Built-in skills (vendored from the atomgit-skills upstream): atomgit-plan-issues, atomgit-implement-issue, atomgit-review-pr, atomgit-merge-pr, atomgit-publish-cli-release, atomgit-mirror-to-github.
Installation
Prerequisites — one authentication step covers all three modules:
# The only setup needed: install ag and log in once.
# `ag auth login` stores the AtomGit PAT at ~/.config/ag-cli/token.json.
npm install -g @hust-open-atom-club/atomgit-cli
ag auth login
That's it. No separate token setup for the MCP endpoint or the skills.
Authentication (unified)
All three modules share one AtomGit PAT — the same credential ag auth login obtains (its OAuth token is a PAT):
| Module | How it authenticates |
|---|---|
ag CLI / skills |
Read ~/.config/ag-cli/token.json directly |
MCP endpoint (mcp__atomgit__*) |
The plugin's atomgitAuth service resolves the token from the same ag credential file and sends it as Authorization: Bearer <PAT>; no user setup |
Optional override: to use a different token (e.g. a manually created PAT from AtomGit → Settings → Access tokens), set ATOMGIT_TOKEN in the .env of the dsh working directory — the plugin falls back to it when the ag credential file is absent.
Install the bundle (run from the directory containing this package):
dsh plugin --profile web add ./dsh-atomgit
# or from a remote: dsh plugin --profile web add github:you/dsh-atomgit#<sha>
dsh web
What the model gets
After startup the model side automatically gains:
- Six
atomgit-*skills in the<available_skills>catalog, loaded on demand via theskilltool;references/files (e.g.ag-commands.md) are read on demand through the directory resource hint. - Native
mcp__atomgit__*tools (repos / branches / issues / PRs / search) from the AtomGit platform-hosted MCP server — no local server, Docker, or Python install needed. agin bash (ag repo view,ag pr list,ag issue create, …).
Typical workflow: atomgit-plan-issues to plan issues → atomgit-implement-issue to implement and open a PR → atomgit-review-pr to review → atomgit-merge-pr to merge after your explicit authorization.
Configuration overrides
A patch replaces a row's whole config; users override by row id in their profile cordis.patch.yml or a --patch overlay:
# Disable the MCP server entirely (skills + ag only):
- id: mcp-atomgit
disabled: true
# Point at a different endpoint (e.g. a self-hosted 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 ?? ""}`'
Syncing skills
skills/ is vendored from the atomgit-skills upstream pinned to a tag, keeping "plugin version ↔ skill version" reproducible:
npm run sync-skills # sync main
npm run sync-skills -- v1.2.3 # sync a specific tag
License
- Plugin code and packaging of this bundle: MulanPSL-2.0.
- Built-in skills come from atomgit-skills; their license (MulanPSL-2.0) is copied with the skills at
skills/LICENSE.
nexu-io/open-design
ruvnet/ruflo
amruthpillai/reactive-resume
esengine/DeepSeek-Reasonix
volcengine/OpenViking
Molunerfinn/PicGo
titanwings/colleague-skill
nocobase/nocobase