Publish a DSH plugin to the Hub: review checklist
Review for publishing a DeepSeek Harness plugin to the DSH Plugin Hub checks one thing: whether a user clicking install actually gets a working plugin. Rejections therefore cluster around uninstallable packages and incomplete metadata, which makes the pre-submission checklist more decisive than the code. This guide covers prerequisites, three distribution routes, five rejection reasons and follow-up.
Four prerequisites for publishing a DeepSeek Harness plugin
Bottom line: installable package, complete metadata, verifiable provenance, clear license. Missing any one invites rejection.
- An installable package: published to a registry the marketplace can reach, with a resolvable name and version. This is the hard gate.
- Complete listing metadata: name, one-line description, category, dependency notes, install method. Document dependencies explicitly — their absence is the top cause of user install failures.
- Verifiable provenance: repository and maintainer information users can check when deciding whether to rely on it.
- README and license: usage and permissions in the README, terms in the license.
Option A: publish to npm (primary route)
Bottom line: publish the package to a public registry and point the listing at it. This is the shortest install path and matches marketplace expectations.
- Prepare package.json with name, version, entry point, dependencies, repository and license.
npm view <your-package> version # expected: returns the published version
- Publish (same for first release and updates):
npm publish --access public
# expected: success, after which npm view returns the new version
- Verify installability in a clean environment — this prevents most rejections:
dsh plugin add <your-package>@<version>
dsh plugin # expected: your plugin appears in the list
- Submit the listing following the official publishing conventions, pointing at that package.
- Trade-off: a public package exposes the implementation; use Option B for sensitive logic.
Option B: private registry plus listing (internal distribution)
Bottom line: for team-only use, skip the public marketplace. Publish to a private registry and document the source.
- Publish to your private registry and document the source and install command for the team.
- Still write complete metadata — name, purpose, dependencies, version — even without a public listing. You will need it in six months.
- Decide whether to submit a public listing: if nothing sensitive is involved, a listing helps others; otherwise keep it private.
- Keep versions in sync with documentation, or colleagues following the docs will fail (the same requirement as private registries for offline installs).
Option C: validate internally, publish when mature
Bottom line: do not rush the submission. Let a small group run it first, then list it — this avoids "rejected on day one" and "broken on day two."
- Run an internal trial: have two or three colleagues install exactly as documented and record every snag.
- Fix the docs and dependency notes from those snags — most "cannot install" reports come from unclear instructions, not broken packages.
- State the compatible DeepSeek Harness version range.
- Then submit: metadata is usually complete by this point.
- Trade-off: one extra round buys fewer rejections and lower support cost.
Five rejection reasons for DeepSeek Harness plugin listings
Bottom line: almost every rejection is self-checkable before submitting. Compare item by item instead of redoing the work after rejection.
| Reason | Self-check | Verdict |
|---|---|---|
| Package not installable | Does npm view return the version? | No means unpublished or misnamed |
| Metadata incomplete | Description, category, dependencies, install method all present? | Missing dependencies is the worst |
| Name mismatch | Compare package name character by character | Casing and scope prefixes are common slips |
| Version incompatible | Install it against your target CLI version | Installs but errors also counts as incompatible |
| Missing README or license | Both present and openable in the repo | Empty files do not count |
- One more self-check: run install, use and uninstall on a clean profile or machine. Any blocked step means do not submit yet.
- Record the results: which machine and version you validated on, so you can answer questions later.
Follow-up after submitting a DeepSeek Harness plugin
Bottom line: submission is not the finish line. Track three lines: listing display, user feedback, and version updates.
- Check that the listing displays as intended — truncated descriptions, wrong categories and hidden dependencies all need correction.
- Watch user feedback: fix documentation and dependency notes for install failures before doubting user actions.
- Update the listing range when releasing new versions — changed dependencies or compatibility must be reflected, or the plugin installs but does not work.
DSH plugin troubleshooting during publishing
Bottom line: the object of investigation is the relationship between listing and package, not the plugin code itself.
- User cannot install — ask for the package name and version, then verify with npm view yourself.
- User installs but cannot use — check dependencies and whether their CLI version is in the supported range.
- Rejected — work through the five-item table; resist editing code first.
- Problems after a release — verify the dependency and compatibility range in the listing still holds.
- Want more discovery — write a clearer description first; users find plugins by description.
- Repair status, stated honestly: this checklist synthesizes the official publishing documentation with general package publishing practice. Specific submission fields, review criteria and display rules are defined by the platform and official docs — check docs/user/develop/basic/publish.md and the current submission page before submitting.
Sources: docs/user/develop/basic/publish.md, DSH Plugin Hub listing, npm Docs · package.json.
FAQ
In DeepSeek Harness, the core requirement is an installable package: publish it to a public npm registry or a registry the marketplace can reach, with a resolvable package name and version so users can install it. The listing also needs complete metadata — description, category, dependencies, installation method — plus a README and license. Confirm exact fields and process against the official publishing documentation.
Roughly in order of frequency: the package cannot be installed (missing name or unpublished version), listing metadata is incomplete (thin description, undocumented dependencies, wrong category), the package name does not match the listing, the version is incompatible with current DeepSeek Harness, and the README or license is missing.
In DeepSeek Harness, use a private registry: publish the package to your company registry and have team members point their registry at it, then install normally. This route needs no marketplace review and suits internal tools or sensitive logic; the cost is that discovery depends on your own documentation.
Usually not: a new DeepSeek Harness plugin version updates what the listing points to, so users upgrade as usual. Publishing a new package version updates what the listing points to, and users upgrade as usual. The condition is that the new version still satisfies the dependencies and compatibility range stated in the listing, or you end up with a listing that installs but does not work.
In DeepSeek Harness, in a clean environment, run the full install, use and uninstall loop: a fresh machine or new profile, install exactly as your documentation says, call the core function once, then uninstall. If all three work, the package and metadata are probably fine; any failure means users will hit the same wall.
Related Terms
- listing review
- Listing review is the process of submitting a plugin entry to the DeepSeek Harness marketplace for the platform to check metadata and installability. Its purpose is to ensure users who click install actually get a working plugin.— https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/user/develop/basic/publish.md
- listing metadata
- Listing metadata is the data required to display and install a plugin in the marketplace, including name, description, category, dependencies and installation method. Its completeness affects both review outcomes and user decisions.— https://dsh-plugin.org/en/plugins/dshplugin/dsh-plugin-hub
- installability
- Installability is whether users can actually install a plugin the way the listing describes, depending on the package being published to a reachable registry with a resolvable name and version. It is the leading reason submissions are rejected.— https://docs.npmjs.com/cli/v10/configuring-npm/package-json
- private registry distribution
- Private registry distribution publishes a plugin package to a company registry and has team members install from it. It requires no public marketplace review and suits internal tools or implementations that should not be public.— https://docs.npmjs.com/cli/v10/using-npm/registry