Introduction¶
In agent environments like DeepSeek Harness (DSH), where “everything is a plugin,” a single plugin’s installation merely indicates it has entered the runtime. Whether multiple plugins can coordinate to modify, verify, take effect, and recover around a common goal is another matter.
dsh-loom (Loom / Loom) is a second-validator plugin for DeepSeek Harness. It provides a verifiable evolution control plane: the Actor focuses on the current task, the Builder implements and tests in an isolated environment, and the Verifier/Gate is responsible for adjudicating whether the candidate can take effect as a whole.
What is it¶
dsh-loom is maintained by ZTCNO0NE and is licensed under MIT. It is described as a silent external coach that weaves the agent’s tools, skills, config, and even the model from usage history, and provides deterministic verification and cold-apply.
Verified capabilities include:
- Actor natural language Plan/Execute and persistent task cards (Verified)
- Isolated implementation and independent adjudication of Config/New Skills (Verified)
- Builder read-only directional diagnosis (Verified)
- Natural language plugin delegation (v1.3.0 Preview)
- Coordinated source code evolution of up to three plugins (v1.3.0 Preview)
- Deterministic plugin lifecycle (v1.3.0 Preview)
- package-aware atomic activation/recovery (v1.3.0 Preview)
- General plugin installation, update, removal, and recovery (v1.3 Preview · Verified E2E)
- Multi-plugin source code coordination and atomic Profile activation (v1.3 Preview · Verified E2E)
Version boundaries need attention: v1.3.0 Preview has released natural language plugin delegation, coordinated source code evolution of up to three plugins, deterministic plugin lifecycle, and package-aware atomic activation/recovery. First-party plugin transactions are only enabled with a real cold Loader in a recognizable DSH source code checkout; ordinary global CLI installations continue to provide v1.2 Config/Skill capabilities but will not pretend the plugin transactions are ready. Complex Loop replacement is still Research.
Core Mechanisms¶
dsh-loom splits the evolution process into classes of responsibilities to prevent the Builder from implementing, verifying, and releasing by itself.
-
The Actor is responsible for the current task context: parsing the goal, proposing candidates, explaining risks, and retaining a queryable task card state.
-
The Builder is responsible for isolated implementation and testing. It can explore and implement, but cannot select a live target, extend the transaction scope, or release itself.
-
The Verifier reads the frozen candidate and does not accept temporarily rewritten acceptance rules by the Builder.
-
The Gate is the only holder of installation and recovery permissions.
Within these boundaries, dsh-loom, DSH, credentials, and Verifier/Gate are never ordinary evolution targets. It explicitly does not do:
- Automatic npm publish
- Modification without source
- Builder self-approval
- Modifying Loom/Verifier/Gate by itself
- Pretending atomic combination with a single patch to the Gate
Installation and Activation¶
Prerequisites: DeepSeek Harness is running; Node ^22.19 or >=24; Python >=3.10.
-
First, configure credentials. You can configure
DEEPSEEK_API_KEYin DSH Settings/Models or$DSH_HOME/.credentials.yaml. The Builder reuses these credentials by default and does not need to send the key into the conversation. -
Install dsh-loom 1.3.0:
pnpm dsh plugin --profile web add dsh-loom@1.3.0
- Check if the Loom-related validation entry appears in the DSH configuration:
pnpm dsh web --dump-config
The output should include meta-validate.
- Install the isolated implementation runtime.
Windows PowerShell:
$env:DSH_META_VALIDATE_ROOT = "$env:USERPROFILE\.dsh\meta-validate"
$runtimeRoot = Join-Path $env:USERPROFILE ".dsh\meta-validate\runtime\mini-swe-agent-2.4.6"
powershell -ExecutionPolicy Bypass `
-File "$env:USERPROFILE\.dsh\profiles\web\node_modules\dsh-loom\bin\setup-windows.ps1" `
--runtime-root $runtimeRoot
node "$env:USERPROFILE\.dsh\profiles\web\node_modules\dsh-loom\bin\dsh-loom.mjs" start --profile web --runtime-root $runtimeRoot
macOS / Linux:
export DSH_META_VALIDATE_ROOT="$HOME/.dsh/meta-validate"
runtime_root="$HOME/.dsh/meta-validate/runtime/mini-swe-agent-2.4.6"
sh "$HOME/.dsh/profiles/web/node_modules/dsh-loom/bin/setup-unix.sh" \
--runtime-root "$runtime_root"
node "$HOME/.dsh/profiles/web/node_modules/dsh-loom/bin/dsh-loom.mjs" \
start --profile web --runtime-root "$runtime_root"
- Keep the Web process running and open:
http://localhost:3080
Typical Usage¶
Below are some natural language requests from verified examples that can be used to observe the Plan, isolated implementation, adjudication, and recovery chain.
Single plugin or Config/Skill type requests:
Add a skill for pre-release configuration checks, show the plan first, do not install directly.
After confirmation of execution, the flow is: Background isolated implementation → Verifier/Gate adjudication → Return whether it has taken effect or not.
Query evolution status:
How is the evolution progress?
View current plugins:
List current plugins
Multi-plugin coordinated evolution examples:
Add a model dimension to the statistics in dsh-cost, give the plan first
Make cost and notify work together, take effect as a whole only after combined verification
Restore the previous plugin combination
Multi-plugin tasks also require the host to pre-configure an independent integrationCommand. The Actor will not let the Builder invent its own verification.
Applicable Scenarios and Notes¶
Suitable for:
- Developers who need to keep Config and new Skill changes in DSH planned, verifiable, and queryable;
- Teams that need to have multiple plugins coordinate source code evolution, combined verification, atomic activation, and recovery around a common goal;
- DSH plugin developers who wish to separate the responsibilities of Builder, Verifier, and Gate to prevent implementers from releasing by themselves.
Notes:
- dsh-loom runs with the permissions of the current dsh process; check source code, dependencies, and the MIT license before installation;
DEEPSEEK_API_KEYshould be placed in DSH credential configuration or$DSH_HOME/.credentials.yaml, do not write it into the conversation;- The plugin transaction capabilities of v1.3.0 Preview depend on the DSH source code checkout and the
dsh-loom startpath; - Ordinary global CLI installations only provide v1.2 Config/Skill capabilities and do not imply full plugin transaction readiness;
- Multi-plugin tasks require the host to configure
integrationCommand; - Complex Loop replacement is still Research; the Preview capabilities cannot be extrapolated to guarantee success in arbitrary complex refactoring;
- Do not rely on it to automatically execute npm publish, and you should not allow the Builder to self-approve or modify Loom/Verifier/Gate.
Links¶
Repository: https://github.com/ZTCNO0NE/dsh-loom
License: MIT