bowenliang123/dsh-plugin-checker

GitHub Action for checking the correctness of DeepSeek Harness (dsh) plugin

A GitHub Action that checks the correctness of a DeepSeek Harness plugin in three cheapest-first steps. It first checks the manifest statically — package.json exists and is valid JSON, declares a name and dsh.bundle.patch, and the referenced patch file exists; the README states plainly that a package without dsh.bundle is not a dsh plugin. It then runs dsh plugin --profile web add and fails if dsh cannot install the plugin. Finally it runs dsh --profile web --dump-config and fails if the plugin does not appear as a bundle layer in the composed config, confirming the patch actually loads.

Coding & Development ★ 1 updated 2026-08-18 ⏳ pending
View on GitHub ↗

Install

uses: bowenliang123/dsh-plugin-checker@v1

README Usage block quoted verbatim. This project is a GitHub Action, not a profile plugin: you reference it from a workflow step with uses: bowenliang123/dsh-plugin-checker@v1, optionally passing rootPath for a plugin that lives in a subdirectory. Registry note (2026-09-16): an npm package named dsh-plugin-checker resolves at 1.0.1 but its registry repository field points at github.com/Airmetro/dsh-plugin-checker, a different repository, so no npm ownership is asserted.

Compatibility

README: runs on ubuntu-latest; the action sets up Node.js and installs pnpm plus the @deepseek-ai/dsh CLI (npm install @deepseek-ai/dsh) from npm, then checks the repository root or the subdirectory given in rootPath.

Details

Recent updates

The README documents the check order, inputs and how it works rather than a release-by-release table.

FAQ

How do I use it?
Add a workflow step uses: bowenliang123/dsh-plugin-checker@v1 (the README's example runs on ubuntu-latest), optionally with with: rootPath: plugins/my-plugin.
What counts as a dsh plugin for this check?
Per the README, a valid package.json that declares dsh.bundle.patch and points at an existing patch file — 'a package without dsh.bundle is not a dsh plugin'.
Does it prove the plugin actually loads?
Yes — the README's third step runs dsh --profile web --dump-config and fails if the plugin does not show up as a bundle layer (# == ) in the composed config.

More plugins in Coding & Development

Browse more in Coding & Development

Guides for Coding & Development plugins