memorax-ai/dsh-harmony
dsh-harmony is a runtime patch-coordination library for DeepSeek Harness plugins: when one DSH plugin needs to change another without maintaining a fork, Harmony loads Patches before the target runs, changes its compiled code in memory, and starts Harness with the result. Source Patches find TypeScript AST nodes with TSQuery and rewrite their source ranges with MagicString, running one after another so several plugins can change the same target while leaving installed files untouched. Providers can place Patches before/after other providers, composite Patches group changes that must succeed together (all-or-none), and for browser plugins Harmony keeps provider-owned <style data-plugin> tags in Patch order. It makes the dependency explicit, ordered, inspectable, and reversible — disable or remove the Provider to restore original behavior. Inspired by the C# Harmony project by Andreas Pardeike.
Install
npm install -g dsh-harmonyRequires Node.js ^22.22.3 or >=24.11.1 and either @deepseek-ai/dsh@0.1.0-rc.8 or @deepseek-ai/dsh@0.1.1-rc.1 — npm install -g @deepseek-ai/dsh@0.1.1-rc.1, npm install -g dsh-harmony, then dsh web. Open Settings → Harmony after starting the WebUI; a full installation guide (profiles, Desktop integration, updates, removal) is at memorax-ai.github.io/dsh-harmony/guide/installation.
Compatibility
Node.js ^22.22.3 or >=24.11.1; @deepseek-ai/dsh@0.1.0-rc.8 or @deepseek-ai/dsh@0.1.1-rc.1. Listed in the awesome-dsh-plugin curated list. Works against running Hosts transactionally (reports live) and validates/updates stopped profiles atomically (offline); multiple Hosts may use the same profile (file-lock serialized writes).
Details
- Repo: memorax-ai/dsh-harmony
- Category: Other
- Stars: 14
- Version: npm dsh-harmony (npm version badge); MIT
- Last push: 2026-09-19
- First seen: 2026-08-14
Recent updates
The current README documents the before/after patch ordering, composite patches, style-tag ordering, the Without/With Harmony comparison table, the install command, and the agent skill (use-dsh-harmony) for authoring and debugging Patches.
FAQ
- Is Harmony for runtime patching of other plugins?
- Yes — it loads Patches before the target runs, changes its compiled code in memory, and starts Harness with the result, leaving installed package files byte-for-byte unchanged.
- Do multiple patches conflict?
- Patches run one after another, each reading the source left by the previous one; providers can order themselves before/after others, and composite Patches make a group all-or-none.
- How do I undo a patch?
- Disable or remove the Provider to restore the original behavior — the README positions Harmony as explicit, ordered, inspectable, and reversible.
Alternatives
PerryLink/dsh-plugin-guide · omdsh-dev/dsh-toolkit · dsh-tui/dsh-tui