The design philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” When developing DSH plugins, developers often face issues such as invisible runtime state, difficult debug environment isolation, inefficient contract testing due to reliance on real browsers, and the inability to preview how a client renders inside a slot. dsh-plugin-devkit is a community-maintained development toolkit designed to address these pain points.
What is it¶
It provides a complete set of DSH plugin development support tools, including a runtime inspector, an isolated debug launcher, a host contract tester, and a client slot previewer. It is maintained by CkEFFAF and currently contains 547 unit tests. Note that this project is community-maintained and has no official affiliation with DeepSeek AI.
Core Features¶
All four modules are packaged in the same npm package @effaf/dsh-plugin-devkit:
- dsh-debugger (runtime inspector): Provides observability into the live composed state, supporting queries through the
/debugcommand and thectx.debuggerinterface. - dsh-debug-boot (isolated debug launch): Allows launching an independent DSH profile via CLI, ensuring that debugging does not interfere with the day-to-day environment.
- dsh-plugin-test (host contract testing): Provides a virtual Cordis host for asserting host behavior, enabling tests to run without depending on a real browser.
- dsh-plugin-preview (client slot preview): Mounts client components into a simulated slot environment for rendering.
Installation and Enablement¶
Mount the plugin in the target DSH profile:
dsh plugin --profile web add @effaf/dsh-plugin-devkit
After installation, three CLI tools (debug-boot, dsh-plugin-test, and dsh-plugin-preview) become available in the global path:
npm install -g @effaf/dsh-plugin-devkit
Typical Usage¶
- Inspect runtime state: Send
/debug healthin a session to view the composed state, or use/debug trace <callId>to trace the end-to-end call chain. - Isolated test environment: Use the
debug-bootCLI to create a temporary DSH profile for testing. - Assert host behavior: Use the
dsh-plugin-testCLI to mount the plugin into a virtual Cordis host for contract verification. - Preview client rendering: Use the
dsh-plugin-previewCLI to render client components in a simulated slot shell.
Applicable Scenarios and Notes¶
- Environment requirements: Requires DSH 0.1.5-rc.2 or later, as well as Node.js 22 or newer.
- Security: The plugin sanitizes sensitive information before storing data.
- Permission scope: The plugin runs with the permissions of the current DSH process. Review the source code and license before installing.
Summary¶
dsh-plugin-devkit provides a set of tools focused on observation, isolation, testing, and previewing. It does not disrupt the observed runtime, and all sensitive information is sanitized before entering the buffer. For developers who need to build plugins in the DSH ecosystem, this is a practical toolkit that can be integrated directly.