dsh-plugin-devlisted
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 (