When developing DeepSeek Harness (DSH) plugins, you typically need to configure build workflows or manage dependencies. This section provides a minimal reference implementation that does not depend on additional runtimes or require compilation steps, making it suitable as a starting point for plugin development.

Plugin Overview

This is a minimal DeepSeek Harness (DSH) plugin example. Maintained by LuwendiWuyi. It is implemented in JavaScript and outputs a greeting to the terminal on startup. The plugin does not add model tools or chat interface elements; it is only for demonstrating the plugin loading mechanism.

Installation and Enablement

Using the installed DSH, run the following command to install it:

dsh plugin --profile web add github:LuwendiWuyi/dsh-hello-plugin

The required runtime environment is Node.js 22.19+ or 24+, along with pnpm available.

After installing or uninstalling, restart the corresponding profile.

Typical Usage

Source Version Verification

If you are using the DeepSeek Harness source version, replace dsh with pnpm dsh in the source repository root directory:

pnpm dsh plugin --profile hello-demo add github:LuwendiWuyi/dsh-hello-plugin

After installation, use --dump-config to check whether the configuration has taken effect. The output should contain # == dsh-hello-plugin.

Start the profile:

pnpm dsh --profile hello-demo

After starting, the terminal should show [hello-plugin] Hello, DSH! 插件加载成功。. Press Ctrl+C to exit.

Packaging and Uninstallation

Run pnpm pack in the plugin directory to generate a .tgz file, then install it using an absolute path:

dsh plugin --profile web add /absolute/path/to/dsh-hello-plugin-0.1.0.tgz

Uninstall command:

dsh plugin --profile web remove dsh-hello-plugin

Notes

This plugin writes output to stderr, ensuring that stdout is reserved for the host application.

Summary

This plugin demonstrates how to create a dependency-free extension in the DSH ecosystem. By examining its index.js and cordis.patch.yml files, you can understand the entry point and configuration method for plugin activation.