Introduction¶
The DSH ecosystem emphasizes “everything is a plugin.” When developing plugins, two common pain points arise: one is developing local DSH configuration, which can easily dirty the real ~/.dsh; the other is uncertainty about the reliability of third-party plugins. Simply installing and uninstalling plugins directly in the current DSH configuration can lead to state pollution and residue issues.
Below, we introduce @swell05/dsh-whale-tank. It is a DSH plugin development sandbox helper tool: it isolates DSH_HOME, creates a development-mode DSH configuration sandbox and plugin development skeleton, includes development knowledge packages, plugin plug/unplug side-effect detection with sandbox restoration, and third-party plugin vet inspection.
What Is This¶
@swell05/dsh-whale-tank is maintained by swell05 and licensed under MIT. It does not modify the real ~/.dsh; instead, it creates a development sandbox within an isolated DSH_HOME for plugin initialization, building, plug/unplug testing, restoration, and third-party plugin pre-checking.
It is suitable for DSH plugin development in dsh web mode, or for inspecting third-party plugins distributed as npm packages.
Core Features¶
Plugin Development Sandbox¶
init creates an isolated DSH_HOME, an official baseline profile, and state.json, without modifying the real ~/.dsh.
Skeletons are generated by type (host, client, both), are buildable, and include a development toolkit.
Development Knowledge Packages¶
Optionally loads development knowledge packages such as AGENTS.md, NOTES.md, and docs/dev-guidance. These are merged incrementally according to the merge-spec, without overwriting existing user content.
.wttools Workspace Tools¶
.wttools is a zero-dependency, single-file tool that remains usable even after plugin uninstallation. Common commands include:
| Command | Purpose |
|---|---|
.wttools\status |
Sandbox status check |
.wttools\deps |
Add dependencies |
.wttools\plug |
Connect the project plugin to the sandbox |
.wttools\unplug |
Remove the plugin and inspect |
.wttools\plug-test |
Plug/unplug testing |
.wttools\run-test |
Run a specific profile for real |
.wttools\restore |
Restore the sandbox |
.wttools\reset |
Rebuild the sandbox |
.wttools\upgrade-knowledge |
Upgrade knowledge packages |
Third-Party Plugin vet Inspection¶
vet is used to inspect third-party plugins in three stages:
- Static hazard inspection
- Restricted dynamic verification
- LLM source code review
Inspection results generate vet-report.md and vet-result.json, stored in .vetting/. The conclusion is one of three: no vulnerabilities found, caution advised, or not recommended.
Installation and Activation¶
First, confirm the environment meets the requirements:
node >=20peerDependencies: @deepseek-ai/cordis ^4.0.1
Install into the web profile:
dsh plugin --profile web add @swell05/dsh-whale-tank
After installation, restart web (the bundle layer stack is composed at boot).
To uninstall:
dsh plugin --profile web remove @swell05/dsh-whale-tank
Typical Usage¶
Initializing a Plugin Project¶
In a blank workspace conversation in dsh web, enter:
/whale-tank-init
After describing the plugin’s main functionality, it will create the sandbox and skeleton, and optionally load development knowledge packages.
Inspecting a Third-Party Plugin¶
Enter:
/whale-tank-vet
Provide the npm package name you wish to inspect, and the three-stage inspection will run automatically. After completion, review vet-report.md and vet-result.json in .vetting/.
Using .wttools¶
Common command examples:
.wttools\status
.wttools\deps --add @deepseek-ai/dsh-tools
.wttools\run-test --profile headless
If npm run build reports tsc not found after skeleton generation, first run:
npm install
Or:
.wttools\deps
Then run:
npm run build
Applicable Scenarios and Notes¶
Suitable for developing DSH plugins in dsh web mode, or for pre-checking third-party npm plugins.
Notes:
vetis a heuristic pre-check, not a security guarantee.- Isolation relies on a separate
DSH_HOMEand restricted execution to prevent state pollution, not to prevent local execution. - Network behavior is only logged, not blocked.
vetis only available via/whale-tank-vetinweb; the CLI is not provided at this time.- The
pluginchannel enforces version consistency and will directly reject mismatches with the sandbox runtime version. - Skills and Tools have only been tested in
dsh webmode. - DSH plugins run with the current
dshprocess permissions. Source code and licenses should be inspected before installation.
References¶
GitHub: https://github.com/swell05/dsh-whale-tank