DSH Plugins Marketplace

DSH Plugins

Plugins

/

Workflow & Automation

/

dsh-sync

Z

dsh-sync

Manifest valid

Policy-driven Git sync for DSH settings and profile configuration, with secret-aware projections, conflict review, and per-line apply controls.

UI (client)hasBundlePatch

dsh-sync

Git sync for DeepSeek Harness settings and profile configuration.

Sync what should travel. Keep secrets, machine-local values, and executable changes under your control.

DeepSeek Harness npm license stars

Install  ·  Quick start  ·  Features  ·  Safety


Why choose dsh-sync

Keeping DeepSeek Harness configured across multiple machines should not mean copying your entire DSH home directory into Git.

dsh-sync gives you a safer workflow:

  • Choose exactly what to sync — settings namespaces, profiles, patches, and your own presets.
  • Keep secrets and local values local — credentials and configured machine-specific fields are excluded.
  • Review before applying — inspect incoming changes and toggle individual added or removed lines.
  • Separate settings from executable files — changes that can affect code or plugins require explicit confirmation.
  • Handle conflicts clearly — cherry-pick local vs remote lines, or keep/take a whole file, without editing Git internals.
  • Repair interrupted writes — backups and a repair action restore live configuration after a failed apply.

Installation

Install the plugin for the Web profile:

dsh plugin --profile web add dsh-sync

Restart dsh web, then open Settings → Git Sync.

To use /sync in a headless profile as well:

dsh plugin --profile headless add dsh-sync

Quick start

  1. Open Settings → Git Sync.
  2. Enter your Git remote URL and branch.
  3. Select the settings namespaces, profiles, patches, and presets you want to sync.
  4. Add any machine-specific settings paths to Keep local-only paths.
  5. Save the configuration and select Compare.
  6. Review the incoming and outgoing changes.
  7. Apply settings, confirm executable changes, resolve conflicts, or push local changes.

Git authentication uses your existing Git environment. dsh-sync does not store Git credentials in its configuration.

Features

Selective configuration sync

Only the settings namespaces, profiles, patches, and user preset IDs you explicitly select are included. Selected user preset directories are synchronized recursively, including their imported .mjs modules. Exact files can be marked local only so they stay unchanged on one machine and disappear from the sync plan. Credentials, sessions, storage, dependencies, and system presets stay outside the sync payload.

Secret-aware settings

dsh-sync removes known secret fields and your configured local-only paths before settings are stored in Git. Those local values are preserved when remote settings are applied.

Per-line review

Each changed line can be toggled before applying:

  • Disable an added line to skip it.
  • Disable a removed line to keep the local line.
  • Keep the rest of the file selected and apply only the changes you want.

Unselected incoming changes remain available for the next review. Items under Local changes (not pushed) can also be opened and restored fully or partially from Git when you do not want to publish a local edit.

Executable-change confirmation

Profile patches, home patches, plugin manifests, and user presets can affect code execution. dsh-sync keeps these changes separate from ordinary settings and requires an explicit confirmation before applying them.

Conflict handling

When local and remote values both changed, dsh-sync shows the conflict. You can cherry-pick individual lines, or choose Keep local / Take remote for the whole file. Settings conflicts are decided per key. Remote changes are checked again before anything is written.

Safe recovery

Live files are backed up before replacement. If an apply is interrupted or verification fails, Repair interrupted write restores the previous files.

Sidecar Git workflow

The sync repository is kept separate from live DSH files. Fetching remote changes does not overwrite your active configuration, and pushes remain fast-forward only.

Web UI and commands

The Web plugin adds Settings → Git Sync with Compare, per-line review, conflict decisions, outgoing rollback, Inspect, and Repair controls. The /sync command provides the same core workflow from a session.

What gets synced

ConfigurationBehavior
Selected settings namespacesApplied directly after review
Web and headless profile manifestsApplied with restart guidance
Profile and home patchesRequire executable-change confirmation
Explicitly selected user agent preset directoriesSynchronized recursively; require executable-change confirmation

Never synchronized: credentials, sessions, storage, node_modules, generated profile files, .dsh-sync, .env*, system presets, symlinks, or gitlinks.

baseURL remains portable by default. Add it to local-only setting paths if an endpoint should stay on one machine. Add a repo-relative file such as profiles/web/package.json to Files kept local when that machine's plugin list should not be synchronized.

Commands

/sync status
/sync check
/sync diff
/sync pull
/sync push
/sync doctor
/sync recover

The standalone command is also available:

dsh-sync status
dsh-sync check
dsh-sync doctor
dsh-sync recover

Safety and privacy

  • Only selected configuration is eligible for synchronization.
  • Secret and local-only settings are preserved locally.
  • Executable changes are never applied automatically.
  • Reviewed changes are rejected if the plan, remote branch, or local file changed afterward.
  • File writes are backed up and verified.
  • HTTPS remote URLs containing embedded credentials are refused.
  • Secret scanning reports the affected path without displaying the secret value.

If a secret has already entered Git history, rotate it before continuing.

Find it in dsh-market

dsh-sync is listed in dsh-market and the awesome-dsh-plugin catalog.

Install it directly with:

dsh plugin --profile web add dsh-sync

Requirements

  • DeepSeek Harness
  • Node.js 22 or newer
  • A Git remote you can read and write

License

MIT

Compatibility

DSH 0.1.7-rc.1: failedDSH 0.1.7-rc.2: failedDSH 0.2.0-rc.1: failed

Versions

Latest versionPublishedSize
0.1.0——
0.1.2——
0.1.3——
0.1.1——

Comments

Loading…

Similar plugins

dsh-git-push

Git commit-and-push automation for DSH with pre-push auditing, rule-based quality scoring, SSH key generation, and a three-tab settings sidebar.

Development & InfrastructureTerminal & ClientsManifest valid

★ 2

↓ 796/wk

NOASSERTION

JavaScript

dsh plugin --profile web add dsh-git-push

by bitxeno

Sidebar Git panel for the DSH web GUI: Local Changes and All Commits views, branch, tag and stash management with fetch, pull and push dialogs, merge with conflict handling, and a zsh-style branch mar

Development & InfrastructureManifest valid

★ 0

NOASSERTION

TypeScript

Oct 28, 2026

dsh plugin --profile web add dsh-git-plus

by dd2673

Codex-style Git workbench: workspace-scoped changes, diff, stage, commit, guarded branch operations, graph history, fetch, fast-forward pull, and upstream push through official plugin APIs.

Development & InfrastructureManifest valid

★ 1

Apache-2.0

TypeScript

Aug 16, 2026

dsh plugin --profile web add dsh-wending-git-workbench

Git workspace manager for DeepSeek Harness: a repo-gated composer button opens a settings-style panel for diff/commit, branch, conflict, and worktree management, plus a commit history with branch-grap

Development & InfrastructureTerminal & ClientsManifest valid

★ 1

↓ 65/wk

MIT

JavaScript

dsh plugin --profile web add @duke-dsh-plugins/dsh-git-manager

by zhitiaojun

Runs git init in each newly registered DSH workspace, with an empty initial commit by default, so git-aware plugins have a repository to attach to; directories already inside a work tree are skipped.

Development & InfrastructureManifest valid

★ 0

MIT

JavaScript

Sep 15, 2026

dsh plugin --profile web add dsh-auto-git

by Yiyang0659

Git Config Sync Center for DeepSeek Harness — real-time config sync to GitHub with conflict self-healing and multi AI-tool adapters (OpenCode/Cline/Roo Code/Kilo Code/Continue/goose/Agent Zero)

Development & InfrastructureManifest valid

★ 0

MIT

JavaScript

Sep 2, 2026

dsh plugin --profile web add dsh-git-sync