RagnarPitla/dsh-field-guide--plugins-dsh-plugin-dev ↗★ 0
dsh-plugin-dev
为 DSH 智能体提供插件编写与配置调试技能的插件。
AI 分析
核心用途是教导智能体如何编写、安装外部插件以及调试配置。适合进行 DSH 插件开发、扩展和系统调试的开发者。
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:RagnarPitla/dsh-field-guide#63a1a43eb9c61634e0d2fe00b2eea8b0a1743834&path:plugins/dsh-plugin-dev说明文档
阅读完整 README ↗dsh-plugin-dev
Plugin-authoring and composition-debugging skills for DeepSeek Harness agents.
This bundle ships two skills that teach an agent how to extend the harness it is running inside: how to write and install an external plugin, and how to work out what a profile actually loaded when something does not take effect.
Every claim in the skill bodies was verified by executing the published dsh
CLI, not read from documentation. See How it was verified.
Install
dsh plugin --profile
add dsh-plugin-dev
dsh plugin add appends the package to your profile's dsh.profile.bundles for
you. Confirm it composed:
dsh --profile
--dump-config | grep -A2 plugin-dev-skills
What it provides
| Skill | Covers |
|---|---|
dsh-plugin-authoring | The three-file minimal plugin, the named-export contract, dsh plugin add behaviour, the extension seams, host plane vs agent plane, and the three traps that make a correct plugin appear to do nothing |
dsh-composition-debug | The keyless --dump-config workflow, bundle vs profile vs agent preset, patch layer order and the no-deep-merge rule, and counting what actually runs |
Both are model- and user-invocable by default.
Requirements
The registry (@deepseek-ai/dsh-skill) and the model-facing consumer
(@deepseek-ai/dsh-tool-skill) must both be in the composition. Both ship in
@deepseek-ai/dsh-base, so any standard profile already satisfies this.
Registering skills without dsh-tool-skill present mounts cleanly and the model
never sees them — which is one of the traps dsh-plugin-authoring documents.
Config
| Field | Default | Meaning |
|---|---|---|
include | all | Register only the named skills |
modelInvocable | true | Whether model-facing catalogs include these skills |
userInvocable | true | Whether human-facing command catalogs include these skills |
- id: plugin-dev-skills
name: dsh-plugin-dev
config:
include: [dsh-composition-debug]
userInvocable: false
Remember that a patch replaces a row's entire config. There is no deep merge.
Design notes
The skills are registered as runtime skills through ctx.skills.register()
rather than by adding a filesystem provider root. That keeps the pack
self-contained and independent of $DSH_HOME layout, at the cost of the skills
not being editable in place by the user. Fork the package to change them.
The Markdown files use SKILL.md-compatible frontmatter, so skills/ also works
if copied into a filesystem skill root such as ~/.dsh/skills/.
Frontmatter is parsed by a small strict reader for three scalar keys rather than by a YAML library, so the package has no runtime dependencies. A plugin resolves its imports from the profile it is installed into, and depending on a package the host does not supply as a peer is a common source of install failures.
How it was verified
node verify.mjs
verify.mjs mounts the real @deepseek-ai/dsh-skill registry and this plugin on
a bare Cordis context, then asserts that both skills are discoverable through
ctx.skills.list(), that ctx.skills.get() returns bodies with frontmatter
stripped, and that the include and invocation config fields are honoured.
It also confirms the documented install behaviour: after
dsh plugin --profile skilltest add ., the profile manifest contained
"bundles": ["@deepseek-ai/dsh-base", "dsh-plugin-dev"]
and the composed tree carried the row under a # == dsh-plugin-dev provenance
comment.
Verified against dsh 0.1.0-rc.7 and @deepseek-ai/dsh-skill 0.1.0-rc.7 on
2026-08-24. DeepSeek Harness is pre-release and its plugin contracts may change.
Licence
MIT. Independent and unofficial: not affiliated with, endorsed by, or sponsored by DeepSeek.