dsh-jj-vcs
Jujutsu version-control plugin and skill for DeepSeek Harness multi-agent teams
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 22, 2026
- Updated
- Aug 22, 2026
Introduction
dsh-jj-vcs
Community-maintained Jujutsu version control for DeepSeek Harness agent teams. This repository is independent from DeepSeek Harness and is not an official DeepSeek project.
The repository is both a DSH Profile Bundle and a Codex plugin. Both entry points load the single canonical skill at skills/dsh-jj-vcs.
Why Jujutsu
Jujutsu removes several pieces of manual Git state management from routine agent work:
- The working copy is already a change, so there is no staging index to coordinate.
- Stable change IDs survive normal rewrites while commit IDs remain exact snapshots.
- Every repository mutation enters the operation log and can be inspected or reversed.
- Conflicts are ordinary revision state and can be resolved before or after other changes.
- Independent workspaces share repository history while keeping each agent's working copy separate.
- The Git backend and GitHub remotes remain available, so adoption does not require replacing repository hosting.
The skill adds DSH-specific controls around those primitives: one workspace and change per agent, explicit task ownership, operation receipts, permission levels, exact-bookmark publication, compatibility probes, conflict checks, and Windows symlink protection.
Requirements
The maintained baseline is:
| Component | Supported baseline |
|---|---|
| DeepSeek Harness | 0.1.1-rc.1 skill registry and Profile Bundle interfaces |
| Jujutsu | exact jj 0.44.0 |
| Node.js | >=22.19.0 |
| Git | backend and read-only interoperability |
Run jj --version and jj help before applying the skill. A different JJ version enters upgrade-verification mode instead of silently reusing the 0.44 rules.
Install in DSH
For local development:
dsh plugin --profile <profile> add ./dsh-jj-vcs
dsh --profile <profile> --dump-config
Install a reviewed commit directly from GitHub:
dsh plugin --profile <profile> add github:bingfengaaaaa/dsh-jj-vcs#<commit>
dsh --profile <profile> --dump-config
The package ships plain JavaScript and has no prepare, preinstall, or postinstall script. A GitHub installation therefore requires no package build permission. Runtime activation registers one immutable skill provider on the existing DSH ctx.skills service.
The repository also contains .codex-plugin/plugin.json, allowing Codex plugin packaging to reuse the same skill files. Remote Codex marketplace commands will be documented after the public marketplace installation has been tested against this repository.
Verify the environment
Run package and provider checks:
npm run verify
npm test
npm pack --dry-run --json
Verify the installed JJ command surface and isolated multi-workspace behavior:
node skills/dsh-jj-vcs/scripts/verify-jj-compat.mjs --skip-repo
node skills/dsh-jj-vcs/scripts/verify-jj-task.mjs
Before initializing or using JJ in a Git checkout, verify that checkout:
node skills/dsh-jj-vcs/scripts/verify-jj-compat.mjs --repo <repository>
On Windows, the verifier rejects materialized Git symlinks and a colocated checkout whose symlink configuration would make JJ snapshot false type changes.
Multi-agent use
The coordinator creates each agent workspace with a start receipt:
node <skill-dir>/scripts/jj-task.mjs start \
--repo <coordinator-workspace> \
--destination <external-worker-path> \
--workspace <task-agent-name> \
--agent <agent-id> \
--task <task-id> \
--base <explicit-revset>
The handoff is accepted through a finish receipt that checks the task, owner, workspace, stable change ID, conflicts, divergence, and operation IDs. See multi-agent workspaces.
Permissions and recovery
Observation, task-local changes, shared local history, and remote-visible operations are separate permission levels. Pushes use an exact remote and bookmark dry run. Protection-bypass flags require separate authorization. See permissions and remotes and recovery and conflicts.
Maintenance
compatibility.json is the machine-readable command baseline. CI runs the exact baseline on Linux and Windows. A candidate JJ release is first tested with --upgrade; the audited version changes only after official release review, installed-help review, updated probes, and an exact-version pass. See MAINTAINING.md.
The initial design independently audited nshcr/jj-codex, techsaint/jj-vcs-skills, and clementpoiret/skills. No candidate file is vendored or copied; their MIT-licensed repositories remain review inputs only.
Community discovery
Add the GitHub topic dsh-plugin when publishing this repository. DeepSeek Harness recommends that topic for community plugins.