增加需要审批的 Git 状态、diff、日志、提交、分支和可选检查点工具。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:lonelymoon87/dsh-gitflow
GitHub 来源的插件在安装时会在你的机器上执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
面向 DeepSeek Harness 的 Git 状态、diff、日志、提交、分支和可选恢复点工具集。
可安装的 v0.1.2 面向 DSH 0.1.0-rc.6。本项目当前通过 GitHub Release 分发预构建包,尚未发布 npm 包。
MVP
git_status读取当前分支和工作树状态计数;git_diff读取未暂存或已暂存 diff,不改动 index;git_log返回有上限的结构化提交记录,并处理空仓库;git_commit只提交已经暂存的改动,并经过 DSH 审批;git_branch列出本地分支,创建和切换需要审批;/commit先加载暂存改动审查技能,再调用git_commit;checkpoint_list和两阶段checkpoint_restore委托给可选的 Change Ledger 服务;- 可选的
autoCheckpoint在配置的写工具执行前创建 Change Ledger 恢复点。
PR 创建、push、worktree 管理和分支删除不在 MVP 范围内。
安全约束
GitFlow 不会隐式暂存文件,也不会执行 git add、git reset、git stash、git push、跳过 hook 的参数或破坏性分支命令。Git 参数经过 shell 引用,提交信息通过 stdin 传给 Git。所有 Git 进程都经过 DSH shell service,因此沿用其超时、沙箱、取消和执行环境。
会修改状态的工具调用经过 DSH 审批。/commit 只负责排入用户显式调用的技能,最终的 git_commit 工具调用仍会触发审批。
与 Change Ledger 的关系
dsh-turn-rewind 负责工作区快照、恢复计划、救援点、过期计划检查和恢复后验证。GitFlow 不另外实现 stash 或 commit-tree 恢复引擎。
没有挂载兼容的 ctx.changeLedger 服务时,普通 Git 工具照常工作,检查点工具会明确提示配置缺失。恢复点本身已经是持久事实源,因此插件不另用必需的自定义会话事件复制状态。
安装
当前代码面向 DSH 0.1.0-rc.6 插件 API,要求 Node.js ^22.19 || >=24。
dsh plugin --profile web add https://github.com/lonelymoon87/dsh-gitflow/releases/download/v0.1.2/dsh-gitflow-0.1.2.tgz
Release tarball 已预构建,不需要构建权限。也可以固定版本从源码安装。
dsh plugin --profile web add github:lonelymoon87/dsh-gitflow#v0.1.2
源码安装会运行本包的 prepare 构建。pnpm 10 及以上版本默认拒绝执行,第一次安装失败时请按 DSH 输出的提示,将准确的包键加入 profile 的构建白名单,然后重新执行同一条命令。需要装进一次性 Agent profile 时,把命令中的 web 换成 headless。
升级时用新版本的 Release URL 再执行一次 dsh plugin add。卸载时执行
dsh plugin --profile web remove dsh-gitflow
配置
- id: gitflow
name: dsh-gitflow
config:
timeoutMs: 30000
maxOutputBytes: 2097152
maxLogEntries: 100
conventionalCommits: true
autoCheckpoint: false
checkpointTools:
- write
- edit
- str_replace_editor
- git_commit
- git_branch
autoCheckpoint 默认关闭。即使开启但没有 Change Ledger,工具调用也会照常执行,插件不会假装已经具备恢复能力。
发布验证
测试使用真实临时 Git 仓库,覆盖状态、暂存与未暂存 diff、提交、分支、空仓库、审批、自动检查点和两阶段恢复委托。
- v0.1.2 tarball 已从 HTTPS Release URL 直接安装进全新 DSH profile;
- pack 产物与固定版本 GitHub 源码安装均通过
dsh --dump-config检查; - CI 覆盖 Node 22.19 与 Node 24,定时任务会用
@deepseek-ai/dsh@latest重跑真实安装; - bug 与兼容性问题统一进入 GitHub Issues。
许可证
链接
同类插件
hust-open-atom-club/oh-dsh★ 161
社区发行版:TUI、桌面端与 Web UI 统一体验,分层安装、一步到位。
Jayden-X-L/forkprobe★ 65
同一任务并行试跑多个技能,对比结果选出最优。
vlln/plugin-registry★ 33
插件生态基建:浏览器面板管理官方 repository 插件(0 patch)+ make-dsh-plugin 插件开发引导技能。
forrestchang/dsh-multica-runtime★ 28
让 dsh 运行时跑在 Multica 上。
DietCokewithSugar/dsh-user-experience★ 18
帮你发现项目中可能存在的用户体验问题:自动走查 React/TypeScript 源码,定位问题并给出具体优化建议。
omdsh-dev/dsh-plugin-check★ 17
插件健康检查:扫描清单协议/patch 格式/构建陷阱,零依赖只读。