DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Plugin Authoring — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
P

@local/dsh-plugin-authoring

Plugin Authoring

DSH plugin: teaches the agent how to write compliant DSH/Cordis plugins, push them to GitHub, and have them listed in the dsh plugin marketplace. Documentation-only plugin; registers skills but no tools.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:lishuo4096/dsh-plugin-authoring#3476419ee194539b9bb65bcfd67775b0b305a228
READMECompatibilityVersions

Compatibility and provenance

Plugin Authoring is published as @local/dsh-plugin-authoring and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
10/13/2026

Versions

0.1.0stable
10/13/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
Not declared
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/13/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in developer-tools.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Sdk Minimal@deepseek-ai/dsh-sdk-minimalThe standalone minimal SDK profile bundle: JSON-RPC, one DeepSeek adapter, persistent shell, and JSONL sessionsSdk App@deepseek-ai/dsh-sdk-appThe dsh SDK profile bundle: stdio JSON-RPC serving and process lifecycle over dsh-baseExperimental Inspector@deepseek-ai/dsh-experimental-inspectorExperimental cross-realm CDP hub for Host debugging and Client Runtime inspection

README

dsh-plugin-authoring

一个纯技能插件:给 agent 装上「怎么写 DSH 插件、怎么推上 GitHub、怎么被 dsh 插件市场收录」这套知识。

它不注册任何工具,只通过 ctx.skills.registerProvider 提供两个技能。零依赖,没有构建步骤。

为什么是独立插件

DSH 自带一份权威的插件开发文档,在 asar 内:

dsh/node_modules/@deepseek-ai/dsh-agent-preset/skills/cordis-plugin-development/

它是随包发行的,会被 DSH 升级覆盖,而且只有 Host 自己的文件读取能打开 (shell / glob / grep / node 都读不到)。

本插件把官方契约 + 实测踩到的坑 + 市场投稿的全套流程沉淀成一份可随自己升级、也可被 agent 直接读的技能。 两者不冲突:官方那份讲设计原则,这份讲「在这台机器上真能跑起来」的操作细节。

提供的两个技能

dsh-plugin-authoring —— 写插件

主题要点
决策这个需求到底该写插件,还是丢个 SKILL.md 到磁盘就够
最小可用插件5 个文件的全文:package.json / cordis.patch.yml / index.js / 一个工具 / 一个技能
三条铁律不手写 profile 的 package.json;patch 行的 name 必须等于真实包名;link: 装载的插件不能 import 任何 @deepseek-ai/*
注册工具ctx.tools.register(defineTool({...}))、参数 DSL、返回值与 render、策略链、审批三级
注册技能ctx.skills.registerProvider() 的 provider 契约、frontmatter、catalog 截断行为
安装与验证install_bundle → 必须看到 application: "applied";list_plugins 看 fiberPhase;set_plugin 关再开修 ambiguous-install
热重载什么改动能免重启、什么必须重启

参考文件:references/{manifest,tools,skills,pitfalls}.md

其中 pitfalls.md 是本机实测的坑,不是文档转述 —— 每一条都附了症状原文和定位过程。

dsh-plugin-publish —— 发出去

路线说明
推 GitHub本机认证现状、取 token 的正确姿势、建仓库、topics、.gitattributes 防 CRLF 假 diff
市场收录条目文件形态、字段、分类、一个 PR 最多 3 条、提 PR
CI 与排错两道 check 各查什么、年龄门槛为什么红灯、为什么不能重提/push/close-reopen、本地预检
打包本机没有 npm/npx;node 与 pnpm 的绝对路径

参考文件:references/{github-upload,market-listing,market-ci,entry-template.yml}

安装

把插件目录加到 profile:

plugin_manager({ action: 'install_bundle',
                 target: 'C:\\Users\\lishuo\\Documents\\deepseek-harness\\default-workspace\\dsh-plugin-authoring' })

它会自动往 profile 的 dependencies 写 link: 记录、往 dsh.profile.bundles 追加包名。 返回里 application: "applied" 才算生效;若是 failed,先修源码再用 set_plugin 关一次再开一次(install_bundle 第二次调用不会重试导入)。

确认:

plugin_manager({ action: 'list_plugins', target: 'authoring' })   # fiberPhase 应为 active

自检

& "C:\Users\lishuo\.dsh\dsh-runtimes\dsh-primary-runtime\dependencies\node\bin\node.exe" \
  "C:\Users\lishuo\Documents\deepseek-harness\default-workspace\dsh-plugin-authoring\_selftest.mjs"

四组用例:语法检查、无宿主依赖(递归扫 .js/.mjs 的裸 import 说明符,必须全部以 . 或 node: 开头)、技能发现(2 个 SKILL.md 被解析、complete === true、块标量描述可用、 control.signal 取消生效)、技能正文(frontmatter 已剥离、含关键小节、references 文件都在)。

⚠️ 必须用绝对路径调用。workdir 通常不是插件目录,相对路径会 MODULE_NOT_FOUND。

目录结构

dsh-plugin-authoring/
├── package.json                 # 插件 manifest(dsh.bundle.patch 指向下面这个文件)
├── cordis.patch.yml             # 一行 insert:id + name
├── index.js                     # apply():注册技能 provider
├── lib/
│   ├── skills.js                # 递归找 skills/**/SKILL.md 并解析 frontmatter
│   ├── frontmatter.js           # 最小 YAML frontmatter 解析(支持 | 和 > 块标量)
│   └── define-tool.js           # defineTool 的零依赖等价实现(随包分发,供使用者拷走)
├── skills/
│   ├── dsh-plugin-authoring/SKILL.md + references/{manifest,tools,skills,pitfalls}.md
│   └── dsh-plugin-publish/SKILL.md + references/{github-upload,market-listing,market-ci,entry-template.yml}
└── _selftest.mjs

设计说明

为什么自带 lib/define-tool.js

本插件目前以 link: 方式装载。cordis-plugin-loader 对裸说明符走 Node 原生 import(name),而 Node 按插件真实路径向上找 node_modules —— 宿主包 (@deepseek-ai/dsh-tools 等)只存在于 app.asar 内部,磁盘上根本没有,于是报:

Cannot find package '@deepseek-ai/dsh-tools' imported from ...\lib\tools.js
| ERR_MODULE_NOT_FOUND

本插件本身不注册工具,用不到 defineTool;它把这份零依赖实现随包带上,是为了让读者 (和 agent)有一个能直接抄走、在 link: 场景下真能跑的最小实现。

为什么 rank: 600

文件系统技能 provider 占 rank 100–500。随包发行的技能用 BUNDLED_SKILL_RANK = 600, 排在用户自己的技能后面 —— 同名时用户的可覆盖它。

参考实现来源

  • 官方契约:dsh-agent-preset/skills/cordis-plugin-development/(随 DSH 发行,asar 内) 本机可读副本:_dsh-asar-probe/DSH-PLUGIN-AUTHORING.md
  • 技能 provider 最小范例:@deepseek-ai/dsh-skill-badge/lib/index.js(53 行)
  • 工具注册范例:dsh-meme
  • 市场规则:awesome-dsh-plugin/awesome-dsh-plugin 的 contributing.md 与 scripts/lib/entries.mjs、scripts/check-submission.mjs 本机副本:_dsh-market-contributing.md、_dsh-market-entries.mjs、_dsh-market-check-submission.mjs
  • 同类实测插件:dsh-enet-review(工具 + 技能同插件、自带 define-tool.js)