DeepSeek Harness plugin starter
A small, production-minded starting point for a durable Host plugin for DeepSeek Harness.
Included
- TypeScript ESM plugin using public Cordis APIs
- Schemastery-backed configuration
- installable DSH bundle manifest and
cordis.patch.yml
- Vitest, ESLint, Prettier, strict type checking, and declaration output
- GitHub Actions checks and package artifact generation
- agent guidance, domain context, and ADR conventions
Requirements
- Node.js 22 or newer
- pnpm 11
- a DeepSeek Harness installation for integration testing
Develop
pnpm install
pnpm check
The built package is written to lib/. During development, run pnpm watch in a separate terminal for incremental TypeScript builds.
Plugin shape
src/index.ts exports the conventional Cordis plugin surface:
name — stable diagnostic name
Config — runtime Schemastery validation and defaults
apply(ctx, config) — lifecycle entry point
Rename the package, plugin name, and stable row ID before using this starter for a real capability. Keep all registrations and external resources tied to the Cordis Fiber lifecycle.
Install into a Harness profile
Build and link the checkout into a development profile:
pnpm install
pnpm build
dsh plugin --profile plugin-dev add .
dsh --profile plugin-dev --dump-config
The package declares dsh.bundle.patch, so dsh plugin adds its bundle layer automatically. Remove it with:
dsh plugin --profile plugin-dev remove deepseek-harness-plugins
Install from GitHub
After this repository is published, it can be installed directly from a pinned commit:
dsh plugin --profile plugin-dev add github:VladPatr96/deepseek-harness-plugins#<commit>
Git dependencies run this package's prepare build. pnpm 10+ requires the consumer to explicitly allow that install-time build in the profile's pnpm-workspace.yaml. Review and pin the source before granting that permission. Publishing prebuilt output to npm or installing a pnpm pack tarball avoids the Git prepare allowance.
Configuration
The bundle inserts this row:
- id: dsh-plugin-starter
name: deepseek-harness-plugins
config:
prefix: dsh-plugin-starter
message: Plugin loaded
A later profile patch can override the row. Cordis replaces a row's complete config, so restate every required key when overriding it.
Adding browser UI
This starter is intentionally Host-only. Add a Client entry only for a concrete browser requirement. A DSH Client package needs an ./client export, a dsh.client manifest with exact dependencies, Slot contracts inspected from the target runtime, and the official DSH module-loader build wrapper. Generic tsc browser output is not sufficient.
References
License
MIT