MashedPotato817/dsh-git-plugin ↗★ 2
dsh-git-plugin
Git workflow plugin for DeepSeek Harness: slash commands and read-only git tools
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗dsh-git-plugin
给 DeepSeek Harness(DSH)的 Git 工作流插件:补齐 DSH 相比 Claude Code / Codex 缺失的「程序员手感」——diff 感知、自动分支、规范提交、可恢复撤销。全部通过 ctx.subprocess seam 以纯 argv 调用 git,不经过 shell 层,每次运行都受字节与超时上限约束。
能力
命令(面向人 / 斜杠命令)
| 命令 | 作用 |
|---|---|
/status | 显示当前分支与工作区状态(porcelain v1) |
/diff | 摘要显示已暂存 / 未暂存的改动 |
/branch [] | 不带参数列出分支;带参数则 git switch -c 新建并切换 |
/commit [] | 带参数则 git add -A + 提交;不带参数显示提交规范与当前改动 |
/undo [list|pop] | 默认 git stash push -u 做可恢复快照;list 查看、pop 恢复 |
工具(面向模型 / 只读)
| 工具 | 作用 |
|---|---|
git-status | 分支 + 工作区状态 |
git-diff | 未暂存(默认)或已暂存(staged=true)的 diff |
git-log | 最近提交历史(count 控制条数,path 过滤文件) |
git-show | 查看某个提交(默认 HEAD)的 message / author / diff |
插件还会注入一段 system-prompt 指引,让模型主动用 git 工具查看状态、并遵循仓库的提交与分支规范。
仓库发现
当会话工作目录不是 git 仓库时,插件会:若其直接子目录里只有一个 git 仓库,自动使用它;有多个则列出让用户选择;一个都没有才报 not a git repository。这让它能在「项目集合」式的工作区根目录下正常工作。
安装
已发布到 npm(dsh-git-plugin@0.1.0),一条命令安装:
dsh plugin --profile add dsh-git-plugin
本地 / 源码开发时也可用路径安装:
dsh plugin --profile add /path/to/dsh-git-plugin
安装后,在 profile 的 cordis.patch.yml 里用 声明启用: