Introduction¶
DeepSeek Harness (DSH) adopts an “everything is a plugin” architecture, where plugin forms are not singular: there are in-process dynamic Cordis plugins, workspace packages shipped with the DSH repository, and installable bundles with dsh.bundle and cordis.patch.yml. These three modes differ in Loader composition, lifecycle, and acceptance evidence, making it challenging for general-purpose coding assistants to provide actionable steps based on the specific mode.
Below, we introduce the community project w2112515/dsh-plugin-development. It is a portable Agent Skill focused on the design, implementation, packaging, review, and diagnostics of DSH plugins. The same canonical directory can be shared across Codex, Claude Code, and DSH, with an optional DSH bundle adapter for profile-level installation and reversible uninstallation.
What This Is¶
dsh-plugin-development is published by maintainer w2112515, classified as a Workflow in SkillHub, currently at version v0.2.0-beta.1, with 14 stars on GitHub and licensed under MIT.
Project positioning: Portable Agent Skill for developing and auditing DeepSeek Harness plugins, with an optional profile-installable DSH bundle adapter. It does not introduce new MCP servers, accounts, or remote service dependencies; the repository is marked as Beta and unofficial, with no affiliation to DeepSeek / High-Flyer, and specific constraints are subject to the official DeepSeek Harness documentation.
Project Structure¶
The repository is split into several parts based on responsibility to facilitate reuse across different hosts:
| Part | Purpose |
|---|---|
skills/dsh-plugin-development |
The portable Skill itself, including on-demand loaded references and scripts |
skills/dsh-plugin-development/agents/openai.yaml |
Optional Codex UI metadata, without forking the Skill instructions |
index.js and cordis.patch.yml |
Optional DSH bundle adapter, registering the canonical Skill with the profile |
.codex-plugin / .claude-plugin |
Intentionally absent; hosts can directly use the Skill without additional plugin packages |
Core Functionality¶
Before starting, the Skill distinguishes among the three DSH plugin modes and applies the corresponding rules:
| DSH Plugin Mode | Typical Request | Completion Evidence |
|---|---|---|
| Dynamic Runtime Cordis Plugin | Using live Cordis tools to define in-process Host or Client behavior | Live provider and Slot checks, define/run states, final diagnostics |
| DSH Workspace Plugin | Adding or modifying packages shipped with the repository within the DSH repository | Authoritative source in the current repository, focused testing, real Loader composition, lifecycle proof, snapshots when product-visible |
| Installable DSH Bundle | Publishing a package externally with dsh.bundle and cordis.patch.yml |
Packaged files, isolated profile installation, --dump-config, packaging startup and cleanup evidence |
The workflow also covers Loader export failures, Service Definition/Provider/Consumer attribution, model-visible logs, Client Slots, CLI aspects, configuration, lifecycle disposal, profile priority, Git build risks, and authorization boundaries for audit-only scenarios. Marketplace listing and integration are part of a separate project dsh-marketplace-publish.
If the host lacks live Cordis tools like check, define, run, etc., the Skill will pause at source-level design or diagnostics, noting that activation is unverified.
The repository includes read-only helper scripts for authors to perform early checks:
node skills/dsh-plugin-development/scripts/check-artifact.mjs workspace-function path/to/index.ts
node skills/dsh-plugin-development/scripts/check-artifact.mjs bundle path/to/package
Installation and Activation¶
Installation falls into two categories: directly mounting the canonical Skill directory or using an optional DSH bundle to manage profile-level installation via dsh plugin.
Directly Discovering the Skill in DSH¶
DSH can discover the same directory from the following paths:
<repo>/.dsh/skills/dsh-plugin-development<repo>/.agents/skills/dsh-plugin-development(shared with Codex)<dshHome>/skills/dsh-plugin-development
The Skill entry within the project can override the same-name registration of the optional bundle according to the normal host priority; uninstalling the bundle only disposes its registration and does not delete individually installed personal or project Skill directories.
Optional DSH Bundle Adapter¶
The bundle is only used when profile-level installation, version management, composition, and reversible removal are required. The installation commands provided in the official README are as follows.
Installing the current v0.2.0-beta.1 release package:
dsh plugin --profile web add https://github.com/w2112515/dsh-plugin-development/releases/download/v0.2.0-beta.1/dsh-plugin-development-0.2.0-beta.1.tgz
dsh --profile web --dump-config
The exported configuration should include the dsh-plugin-development layer and row ID dsh-plugin-development-skill. The adapter reads metadata and instructions from the packaged canonical Skill, registers it via ctx.skills, and disposes the registration upon removal.
For local development of the adapter:
dsh plugin --profile web add .
Git installation (no prepare or pnpm allowBuilds required, as the package is pure JavaScript and Markdown):
dsh plugin --profile web add github:w2112515/dsh-plugin-development#v0.2.0-beta.1
For higher assurance, you can use a reviewed commit SHA instead of a movable branch.
Codex and Claude Code¶
The same canonical directory can also be linked to:
- Codex:
~/.codex/skills/dsh-plugin-developmentor<repo>/.agents/skills/dsh-plugin-development; explicitly invoke$dsh-plugin-development - Claude Code:
~/.claude/skills/dsh-plugin-developmentor<repo>/.claude/skills/dsh-plugin-development; explicitly invoke/dsh-plugin-development
Codex can also install via $skill-installer:
https://github.com/w2112515/dsh-plugin-development/tree/main/skills/dsh-plugin-development
Bundle installation requires Node ^22.19.0 || >=24.0.0 (see the engines field in package.json).
Typical Usage¶
After installing or linking the Skill, explicitly invoke it in DSH plugin-related tasks or rely on its description for automatic matching. Proceed based on the target mode:
- Determine whether the current task involves a dynamic Cordis, workspace package, or installable bundle.
- Collect completion evidence according to the mode (live checks, Loader composition,
--dump-config, packaging startup, etc.). - For early static checks, run the corresponding subcommand of
check-artifact.mjs.
Maintainers can self-check by running:
npm test
npm pack --dry-run
If DeepSeek Harness is checked out locally, you can verify direct discovery and bundle registration:
node scripts/verify-dsh-runtime.mjs path/to/deepseek-harness
Use Cases and Considerations¶
Who it’s for: Developers writing or reviewing DSH plugins; those who need to share the same workflow across Codex, Claude Code, and DSH; DSH users who want to use bundles for profile-level installation without duplicating workflows.
Pre-use considerations:
- Plugins run with the current dsh process permissions; before installing bundles or linking Skills, read the repository source code and MIT license to confirm the behavior meets expectations.
- The project is a community Beta, and DeepSeek Harness is still in developer preview; manifests, Loader behavior, etc., are subject to the official repository.
- SkillHub (directory page) is an independent community directory with no official affiliation to DeepSeek / High-Flyer.
- Format compatibility cannot conjure missing tools; without a live Cordis environment, the workflow stops at source-level output.
Conclusion¶
dsh-plugin-development consolidates the division of labor, acceptance evidence, and cross-host Skill directories for the three DSH plugin modes, with an optional bundle adapter to cover profile-level installation and reversible uninstallation. If you are working on DSH plugin development or auditing, you can start from the SkillHub directory page or the GitHub repository:
- Directory page: https://www.skillhub.cn/plugins/w2112515/dsh-plugin-development
- GitHub: https://github.com/w2112515/dsh-plugin-development