← ClaudeAtlas

dsh-plugin-devlisted

Package and publish a DeepSeek Harness (dsh) plugin bundle that registers skills, tools or services. Use when building a dsh plugin, writing a cordis.patch.yml, or installing a GitHub plugin into a dsh profile.
zhangliang0115/ai-plugin · ★ 0 · AI & Automation · score 70
Install: claude install-skill zhangliang0115/ai-plugin
# Building a DeepSeek Harness (dsh) plugin DeepSeek Harness (`dsh`) is DeepSeek AI's open-source agent harness built on an everything-is-a-plugin architecture (the Cordis framework). A **bundle** is an npm package that contributes a configuration layer; a **profile** is a runnable composition of bundles. Your plugin is a bundle. ## Minimum viable bundle ``` my-dsh-plugin/ ├── package.json # declares dsh.bundle ├── cordis.patch.yml # the layer your bundle contributes └── index.js # plugin entry (plain JS — no build step needed) ``` `package.json`: ```json { "name": "my-dsh-plugin", "version": "0.1.0", "type": "module", "main": "index.js", "files": ["index.js", "cordis.patch.yml", "skills"], "dsh": { "bundle": { "patch": "./cordis.patch.yml" } } } ``` `cordis.patch.yml` — the row's `name` is your **package name** (Node resolves it), and `id` is how users can override your row: ```yaml - insert: - id: my-plugin name: my-dsh-plugin ``` `index.js` — registering a bundled skill at runtime: ```js import { readFile, stat } from 'node:fs/promises' import { dirname, join, resolve } from 'node:path' import { fileURLToPath } from 'node:url' export const name = 'my-plugin' export const inject = ['skills'] const HERE = dirname(fileURLToPath(import.meta.url)) export function apply(ctx) { if (ctx.skills === undefined) return let dispose let disposed = false ctx.effect(() => { loadSkill() .then((skill) => { if (