CH4ACKO3/dsh-harmony
A library for patching, replacing and decorating dsh plugin during runtime
Listed
10
Dev
Bundle verified
What it does
Modifies DSH plugin code at runtime, with ordered patches, inspection, and hot reload.
Best for
- DSH plugin authors who must change an internal component, loader entry, or compiled behavior that has no public extension point.
- Multi-plugin environments that need explicit patch ordering, composite changes, inspection, and reversible hot reload.
- Teams avoiding maintained forks while accepting version-pinned dependencies on another plugin's internals.
Not ideal for
- Changes already supported by ordinary DSH extension points, which remain the preferred mechanism.
- Workflows requiring stable public-API compatibility across target-plugin upgrades; compiled internals remain unstable.
- Teams unwilling to pin target versions and maintain patch expectations when upstream source changes.
README
dsh-harmony
Runtime Patch coordination for DeepSeek Harness plugins.
A library for patching, replacing and decorating DeepSeek Harness plugins during runtime.
Usage
Just type “What about we use dsh-harmony” when vibe coding your DSH plugin.
Introduction
Use Harmony when one DeepSeek Harness 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. They run one after another, each reading the source left by the previous Patch. This lets several plugins change the same target while leaving installed files untouched.
A provider can place its Patches before or after another provider. One Patch may override that rule, and users may interleave Patches from different providers. When several changes must succeed together, a composite Patch gives them one position and one switch; if a member fails, Harmony applies none of them.
For browser plugins, Harmony also keeps provider-owned <style data-plugin> tags in Patch order. A provider owns one style group, so its last enabled Patch decides where that group appears in the CSS cascade. Harmony repeats the ordering after a Patch reload.
Harmony adds modification to the ways DeepSeek Harness plugins can work together.
Why Harmony
Ordinary DSH extension points remain the first choice when the target exposes the behavior you need. Harmony is for the gap between those APIs and maintaining a fork: changing an internal component, loader entry, or compiled behavior that the target does not expose.
| Without Harmony | With Harmony |
|---|---|
| Hide or duplicate an internal UI and keep both implementations aligned | Replace the selected component or compiled call site in place |
Patch node_modules, carry a fork, or reapply edits after upgrades |
Transform source in memory; installed package files remain byte-for-byte unchanged |
| Discover a selector drift only after the UI silently breaks | Pin package version and expect; mismatches fail visibly in status
|
| Treat the final bundle as a black box | Inspect the original, every Patch step, and the final transformed source |
| Remove custom edits manually | Disable or remove the Provider to restore the original behavior |
Harmony does not turn compiled internals into a stable public API. It makes that dependency explicit, ordered, inspectable, and reversible.
Respect
Inspired by Harmony, the project of the same name created by Andreas Pardeike and other contributors for C#.
Frequently Asked QuestionsFAQ
Use the verified command dsh plugin --profile default add github:CH4ACKO3/dsh-harmony in a DSH-enabled shell. The command resolves the public package metadata and keeps the plugin attached to the catalog identity shown on this page.
Compatibility follows the bundle and profile status shown above. If a profile is not detected, keep the plugin disabled there and check the repository documentation before enabling it in production.
The GitHub link and activity metadata are the source of truth for releases and maintenance. Revisit this page after a new release to confirm the catalog has observed the latest version.