Introduction

One philosophy behind DeepSeek Harness is “everything is a plugin”. However, in DSH plugin development, a common pitfall is: the ability to load a plugin does not equate to the ability to actually invoke its tools.

dsh-plugin-template is a community starter template for DSH plugin developers. It provides a minimal, runnable plugin structure. Through CI, it installs the build artifacts, actually invokes the built-in hello tool, and runs DSH web smoke tests to verify that the plugin is not just “installable” but also “operable”.

Overview

  • Repository Name: zoahdev/dsh-plugin-template
  • Positioning: Minimal, verified community starter template for DeepSeek Harness plugins
  • Maintainer: zoahdev
  • License: MIT
  • package.json version: 0.1.0
  • Test Environment: dsh 0.1.0-rc.6, Node 24, pnpm 11

It is a community template, not an official DeepSeek template, not a security audit, nor a production readiness proof. The community directory is an independent site and has no official affiliation with DeepSeek / Hypersphere.

Core Capabilities

The following verified capabilities are included in the template:

  1. Includes bundle manifest and cordis.patch.yml plugin line configuration.
  2. Provides a hello tool, which the CI installs build artifacts and actually invokes.
  3. Built-in runtime peer-version guard, rejecting @deepseek-ai/dsh-tools that do not meet ^0.1.0-rc.6.
  4. Includes unit tests, build integration tests, and DSH startup smoke tests.
  5. Supports local dsh-plugin-doctor checks and GitHub Action health checks.

Installation and Setup

The following examples use the locally packed tarball of the template.

First, clone the repository and run the install, test, and pack commands:

git clone https://github.com/zoahdev/dsh-plugin-template.git my-plugin
cd my-plugin
pnpm install && pnpm test && pnpm pack

This step generates the local plugin package dsh-plugin-template-0.1.0.tgz.

Install the plugin to DSH’s web profile:

dsh plugin --profile web add ./dsh-plugin-template-0.1.0.tgz

Start DSH web:

dsh web --port 4099

Typical Usage

The template includes a built-in hello tool. Once started, you can instruct the agent to execute:

Use the hello tool to greet Ada.

This example is used to verify plugin registration, tool exposure, and the actual invocation chain, rather than just verifying that the plugin file exists.

If you are preparing to perform a local health check on the renamed plugin, you can run:

node lib/bin.js --full <your-plugin-directory>

Dependencies and Runtime Constraints

When using this template, please note the following verified limitations:

  • peerDependencies uses the caret range ^0.1.0-rc.6, not a fixed version pin.
  • Template tests are based on dsh 0.1.0-rc.6, Node 24, pnpm 11.
  • pnpm might silently link old RCs; plugins will refuse to load, so --legacy-peer-deps should not be used to suppress errors.
  • DSH web startup smoke tests run on windows-latest because ubuntu-latest lacks the upstream linux-x64 pty.node prebuild.

Suitable Scenarios

Suitable for:

  • Starting DSH plugin development from an existing, runnable template.
  • Wanting to prove via CI that a plugin can load and tools can be invoked.
  • Maintaining consistency between local checks and CI checks.

Not suitable for:

  • Requiring official DeepSeek endorsement.
  • Requiring a security audit conclusion.
  • Requiring a production readiness proof.

Plugins will run with the permissions of the current dsh process. Before installation, you should check the source code, license, and dependencies to ensure they align with your use case.

Conclusion

The value of dsh-plugin-template lies not in its extensive features, but in creating a reproducible check path for “plugin loadability, tool invocability, and version mismatch rejection”.

  • Community Directory: https://www.skillhub.cn/plugins/zoahdev/dsh-plugin-template
  • GitHub: https://github.com/zoahdev/dsh-plugin-template