Preface¶
The DSH ecosystem emphasizes “everything is a plugin.” When developers actually build plugins, they typically need to handle documentation, source symbols, Services, events, tools, Config, experimental configurations, and formal plugin packages simultaneously. If all of this work happens in the daily ~/.dsh, it is easy to mix development state, Profile configurations, and formal plugins together.
DSH Forge addresses this problem: it establishes an independent ~/.dsh-forge Home, a forge Profile, and a developer Agent Preset, placing source indexing, runtime checks, experiment records, verification, and promotion scaffolds into a reproducible environment. By default, it does not write to the regular ~/.dsh and leaves room for running concurrently with the mainline DSH.
Below are the capabilities of DSH Forge, installation steps, and common commands.
What This Is¶
DSH Forge is a reproducible, runtime-aware plugin development Profile for DeepSeek Harness.
It is maintained by zhn1100, with the GitHub repository at https://github.com/zhn1100/dsh-forge, licensed under MIT. The current documentation version targets @deepseek-ai/dsh@0.1.0-rc.6, with reference source pinned to commit 47f943859bef60e4160492346772ded9b24f765a. This project is not an official DeepSeek project.
Core Features¶
Independent Home and Developer Preset¶
- Sets up an independent
~/.dsh-forgeHome. - Provides a
forgeProfile and a developer Agent Preset. - Listens on
127.0.0.1:3188by default, separate from the mainline DSH’s3080; use--portto override when a different port is needed.
Local Indexing¶
- Locally indexes Harness documentation, source symbols, Services, events, tools, Config, and examples.
- Can be used to search for symbols or interfaces locally, such as
Service.init.
Experiments, Verification, and Promotion Scaffold¶
- Manages resumable plugin experiments.
- Preserves verification status.
- Provides
quick,package, andfullrestricted verification flows. - Provides a promotion scaffold to support process formalization.
Sync and Mirroring¶
- Safely syncs user configuration from the regular
~/.dshat each startup while protecting Forge’s local modifications. - Syncs user-level data only; it does not sync work-folder source code.
- Mirrors out-of-tree plugins declared by regular
~/.dshprofiles viacordis.patch.ymlinsertentries. forge/,profiles/,.agent-presets/, andcordis.patch.ymldo not participate in Home sync; the exception is that out-of-tree plugins declared by mainline profiles viainsertare mirrored.- Files modified or deleted on the Forge side are not overwritten; deletions on the source side are not propagated either.
Installation and Dependency Boundaries¶
- Uses SHA-256 content-addressed tarballs for self-installation, avoiding reuse of stale package caches.
- Keeps Cordis, System Prompt, and Tools as optional peers provided by the host.
- Upgrades first let DSH remove old Forge dependencies normally, then install the new artifact.
Installation and Enablement¶
First confirm the environment: Node.js ^22.19.0 or >=24, and pnpm.
Clone the repository, install dependencies, run verification, and then execute the install command. The installer targets ~/.dsh-forge by default and does not write to the regular ~/.dsh.
git clone https://github.com/zhn1100/dsh-forge.git
cd dsh-forge
pnpm install
pnpm run verify
node lib/cli.js install
After the steps above, you can start the Forge Profile in the workspace where you want to develop plugins:
DSH_HOME="$HOME/.dsh-forge" npx @deepseek-ai/dsh@0.1.0-rc.6 --profile forge
After starting, open the Web UI and select the DSH Forge developer Preset. The default listener is on 127.0.0.1:3188; use --port <port> to override when needed.
Typical Usage¶
Environment Check¶
DSH_HOME="$HOME/.dsh-forge" node lib/cli.js doctor
Rebuild the Knowledge Index for a Specific Harness Revision¶
DSH_HOME="$HOME/.dsh-forge" node lib/cli.js sync --revision <commit>
Search the Local Index¶
DSH_HOME="$HOME/.dsh-forge" node lib/cli.js search "Service.init"
Verify a Current Plugin Project¶
node lib/cli.js verify --root . --level full
Applicable Scenarios and Notes¶
Suitable for the following scenarios:
- Long-term DSH plugin development where you want to isolate Home, Profile, and developer Presets.
- Needing to pin a Harness revision and build a local index from documentation, source symbols, Services, events, tools, and Config.
- Wanting to preserve resumable experiments, verification state, and promotion scaffolds.
- Needing to run mainline DSH and the Forge Profile concurrently.
Before use, note:
- This project is not an official DeepSeek project. The DSH community directory is an independent site and has no official affiliation with DeepSeek / High-Flyer.
- Plugins run with the permissions of the current DSH process. Inspect source code, dependencies, and the MIT license before installing.
- Dynamic Cordis Packages are an explicit trust boundary. Forge provides isolation and recovery capabilities, but it is not a strong security sandbox.
- Sync does not copy workspace source code; switching from workspace A to workspace B will not copy A’s code to B.
forge/,profiles/,.agent-presets/, andcordis.patch.ymldo not participate in Home sync; out-of-tree plugins declared by mainline profiles viainsertare the exception.
Conclusion¶
DSH Forge separates DSH plugin development into an independent Home, local indexing, experiment records, restricted verification, and a promotion scaffold. It is suitable for plugin development workflows that require reproducibility, recoverability, and the ability to run in parallel with mainline DSH.
GitHub repository: https://github.com/zhn1100/dsh-forge. The community directory is an independent site; refer to the actual page displayed on the site for the specific directory entry.