lonelymoon87/dsh-gitflow
DeepSeek Harness的Git状态、差异、提交、拉取请求和工作树工作流。
项目介绍Project Overview
dsh-gitflow 是 DeepSeek Harness 的 Git 工具插件,提供状态、差异、日志、提交与分支操作,并可接入 Change Ledger 做检查点。适合在 DSH 会话中安全查看仓库、提交已暂存改动或管理本地分支;提交和分支变更需审批,且不自动暂存、推送或删除分支。
dsh-gitflow is a DeepSeek Harness plugin for Git status, diff, log, commit, and local branch operations, with optional Change Ledger checkpoints. Use it inside DSH to inspect repositories, commit already-staged changes, or manage branches safely. Mutations require approval; it never stages files implicitly, pushes, deletes branches, or provides PR/worktree features.
请帮我了解并安装插件:【dsh-gitflow】【https://github.com/lonelymoon87/dsh-gitflow】
把上面这条消息直接发给当前会话里的 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:lonelymoon87/dsh-gitflow#v0.1.3
把 lonelymoon87/dsh-gitflow 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-gitflow
Git status, diff, log, commit, branch, and optional restore-point tools for DeepSeek Harness.
The v0.1.3 release is tested with DSH 0.1.0-rc.8 and 0.1.1-rc.1 while retaining the rc.6-compatible peer range. Prebuilt packages are distributed through GitHub Releases; npm publication is prepared but not yet live.
MVP
git_statusreads branch and working-tree counts.git_diffreads unstaged or staged unified diffs without touching the index.git_logreturns bounded structured commit history and handles unborn repositories.git_commitcommits only existing staged changes and requires DSH approval.git_branchlists local branches; create and switch require approval./commitloads a staged-change review skill before callinggit_commit.checkpoint_listand two-phasecheckpoint_restoredelegate to an optional Change Ledger service.- Optional
autoCheckpointcaptures a Change Ledger restore point attools/pre-executefor configured mutation tools.
Pull-request creation, push, worktree management, and branch deletion are deliberately outside the MVP.
Safety model
GitFlow never stages files implicitly. It does not run git add, git reset, git stash, git push, hook-bypass flags, or destructive branch commands. Git arguments are shell-quoted and commit messages are passed through stdin. Every Git process uses the mounted DSH shell service, preserving its timeout, sandbox, cancellation, and execution-world behavior.
Mutating tool calls pass through the DSH approval seam. Direct command handlers do not bypass it: /commit queues a user-invoked skill, and the eventual git_commit tool call asks for approval.
Change Ledger integration
dsh-turn-rewind owns workspace snapshots, restore planning, rescue points, stale-plan checks, and post-restore verification. GitFlow does not implement a competing stash or commit-tree restore engine.
When no compatible ctx.changeLedger service is mounted, ordinary Git tools continue to work and checkpoint tools fail with a configuration message. Because the restore point is already the durable source of truth, GitFlow does not duplicate it into required custom session events.
Permissions and data
- Read tools execute local
git status,git diff, andgit logcommands through the mounted DSH shell service. Mutating commit and branch operations pass through DSH approval. - The optional Change Ledger integration can create and restore workspace checkpoints when that service is installed and explicitly enabled.
- GitFlow does not access credentials, contact Git hosts, push changes, or register a custom durable session event. Git command output is returned to the current agent session.
Install
The package supports DSH >=0.1.0-rc.6 <0.2.0 plugin APIs and Node.js ^22.19 || >=24.
dsh plugin --profile web add https://github.com/lonelymoon87/dsh-gitflow/releases/download/v0.1.3/dsh-gitflow-0.1.3.tgz
The release tarball is prebuilt and needs no build allowance. A pinned source install is also supported:
dsh plugin --profile web add github:lonelymoon87/dsh-gitflow#v0.1.3
The source install runs this package's prepare build. pnpm 10 and later reject it until the profile allowlists the exact package key printed by the failed command; apply that instruction and rerun the same dsh plugin add command. Replace web with headless to install into the one-shot agent profile.
To upgrade, rerun dsh plugin add with the newer release URL. To uninstall:
dsh plugin --profile web remove dsh-gitflow
Configuration
- 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 is disabled by default. Enabling it without a Change Ledger service does not pretend recovery exists; it leaves calls unchanged.
Verification
The test suite uses real temporary Git repositories. It covers dirty status, staged and unstaged diffs, commits, branch creation, unborn history, approval decisions, automatic checkpoint delegation, and two-phase restore delegation.
- The v0.1.3 tarball installs directly from its HTTPS release URL into clean DSH 0.1.0-rc.8 and 0.1.1-rc.1 profiles.
- The packed bundle and pinned GitHub source install both appear in
dsh --dump-config. - CI covers Node 22.19 and Node 24; a compatibility matrix repeats the real install against DSH 0.1.0-rc.8 plus the
latestandnextnpm tags. - Bugs and compatibility reports are tracked in GitHub Issues.
nexu-io/open-design
freestylefly/awesome-gpt-image-2
anywhere-labs/dsh-desktop
walkinglabs/learn-harness-engineering
awesome-dsh-plugin/awesome-dsh-plugin
MemTensor/MemOS