# dsh-plugin-dev-02 **Repository Path**: my_friends/dsh-plugin-dev-02 ## Basic Information - **Project Name**: dsh-plugin-dev-02 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-29 - **Last Updated**: 2026-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dsh-plugin-dev — DSH 插件开发规范 Skill(防崩溃指南)

dsh-plugin-dev logo dsh-plugin-dev banner

> 一个给 AI 看的 Skill:教模型安全、规范地开发 DeepSeek Harness(DSH)插件,把「操作失误 → 整个 DSH 崩溃」的常见陷阱固化成注意事项。这不是一个 npm 插件包,而是一份会随会话自动加载进模型上下文的开发规范。 ## 痛点:为什么需要这个 Skill 在 DSH 中开发插件时,模型常常因为操作失误,把整个 DSH 搞崩溃: - **直接改 node_modules 里的 DSH 核心包**:为了给新 settings namespace 加白名单,手改 `dsh-host-apiproxy` 的源码,升级即失效,改错即崩; - **client 插件打成裸 ESM**:浏览器端插件必须打成 `window.__ModuleLoader__.load(...)` 手接格式,直接用 tsdown 默认产物会让 web 端直接崩溃; - **cordis.patch.yml 格式写错**:新增插件行必须用 `- insert:` 嵌套格式,写成裸的顶层 `- id:` 行会解析失败; - **dsh.client.inject 漏列服务**:apply 里用了 settings / UI 原语却没把提供包写进 inject,加载顺序错、服务未就绪即崩; - **手搓 div/input**:WebUI 必须用 DSH 的 UI 原语(Menu / Button / Input / DisclosureRow / Pill…),否则与主题割裂、行为不一致; - **类型当值导入**:`import type` 与 `import` 混用导致构建 MISSING_EXPORT 失败; - **重复注册**:settings namespace / systemPrompt section / command name 重复注册直接抛错; - **安装方式错误**:改了插件代码还反复 uninstall / reinstall,而不是用本地 `file:` junction 软链部署。 这些错误往往不会只报一个温和的错误——轻则插件加载失败,重则**整个 DSH 崩溃、当前会话中断、配置损坏**,开发体验被彻底打断。 **本 Skill 解决的就是这个问题**:把「防崩溃注意事项 + 正确开发流程」固化为模型必读的规范,让模型在动手写代码之前就被告知这些陷阱,按规范开发、按流程验证,而不是靠试错把 DSH 搞崩。 ## 它是什么 - 一个 **Agent Skill**(目录包:`SKILL.md` + `references/` + `scripts/`),DSH 会在会话中自动发现并加载; - 加载后,模型会自动遵循其中的规范:三大核心事实(Cordis 插件契约 / host 与 agent 双平面 / agent preset 机制)、8 条崩溃陷阱、7 步开发流程; - 内置两份可直接复用的脚本:`scripts/build-client.mjs`(client 手接打包)与 `scripts/deploy.ps1`(构建 + 装包 + patch + 白名单 + preset 一键部署)。 ## 安装 安装 = 把 `dsh-plugin-dev` 文件夹放进 DSH 的 skill 扫描目录。DSH 会扫描以下位置(按优先级): | 作用域 | 路径 | |---|---| | 用户级(推荐) | `~/.agents/skills/`(Windows:`%USERPROFILE%\.agents\skills\`) | | 用户级(DSH 专用) | `~/.dsh/skills/` | | 项目级 | `<项目根>/.dsh/skills/` 或 `<项目根>/.agents/skills/` | > 提示:`~/.agents/skills` 目录可用环境变量 `DSH_AGENTS_HOME` 覆盖;skill 以目录包形式存放,最终结构应为 `/dsh-plugin-dev/SKILL.md`。 ### 方式一:手动安装 **Windows(PowerShell):** ```powershell # 1. 克隆仓库 git clone https://github.com/abab996/dsh-plugin-dev.git # 2. 复制到用户级 skill 目录(推荐) Copy-Item -Recurse .\dsh-plugin-dev $HOME\.agents\skills\ # (可选)DSH 专用目录:Copy-Item -Recurse .\dsh-plugin-dev $HOME\.dsh\skills\ # 3. 验证 Test-Path $HOME\.agents\skills\dsh-plugin-dev\SKILL.md ``` **macOS / Linux:** ```bash git clone https://github.com/abab996/dsh-plugin-dev.git cp -r dsh-plugin-dev ~/.agents/skills/ # 验证 ls ~/.agents/skills/dsh-plugin-dev/SKILL.md ``` 验证安装:新开一个 DSH 会话(skill 在会话启动时发现),让模型加载它,例如直接说: > 加载 dsh-plugin-dev skill,并简述开发 DSH 插件时的核心陷阱。 模型应能列出 client 打包格式、settings 白名单、patch insert 格式等关键规范。 ### 方式二:让 AI 自动安装(推荐) 不想敲命令?在 DSH 中新开一个会话,把下面这段提示词**整段复制**发给 AI 即可。AI 会自己完成克隆、定位 skill 目录、复制并验证(你只需要最后新开一个会话): ````text 请帮我安装这个 Agent Skill 仓库:https://github.com/abab996/dsh-plugin-dev 这是一个给 AI 使用的「DSH 插件开发规范」skill(目录包格式:SKILL.md + references/ + scripts/)。 请按以下步骤操作,每完成一步简要汇报一次: 1. 把仓库克隆到一个临时目录(例如工作区下的 dsh-plugin-dev-tmp); 2. 确定目标 skill 目录(按优先级): - 用户级:$HOME/.agents/skills(Windows 为 %USERPROFILE%\.agents\skills) 若环境变量 DSH_AGENTS_HOME 已设置,则为 $DSH_AGENTS_HOME/skills; - 或 DSH 专用目录:~/.dsh/skills; - 如果都没有,就创建 ~/.agents/skills; 3. 把克隆下来的 dsh-plugin-dev 文件夹完整复制到目标 skill 目录 (最终结构应为 /dsh-plugin-dev/SKILL.md); 4. 验证安装: - /dsh-plugin-dev/SKILL.md 存在; - SKILL.md 开头有合法的 YAML frontmatter(name: dsh-plugin-dev、description: ...); - references/ 与 scripts/ 子目录完整复制; 5. 若目标位置已存在同名 dsh-plugin-dev 文件夹,先询问我是否覆盖,不要擅自删除; 6. 除复制该 skill 外,不要改动其他任何文件; 7. 汇报结果,并提醒我:需要新开一个 DSH 会话(skill 在会话启动时发现), 之后说「加载 dsh-plugin-dev skill」即可使用。 ```` ## 使用 - **开发新插件**:在新会话里直接说「帮我开发一个 DSH 插件 / agent preset」,模型会自动加载本 skill 并遵循规范开发; - **排查崩溃**:把崩溃报错或日志贴给模型,让它按 skill 的「崩溃陷阱」清单逐条排查(client 打包格式、白名单、patch 格式、inject、重复注册…); - **关键流程**:镜像现有插件 → 写代码 → tsc 类型检查 → tsdown / build → mock 冒烟测试 → deploy.ps1 部署 → 重启 host 端到端验证。 ## 仓库结构 ``` dsh-plugin-dev/ ├── SKILL.md # skill 主文件(frontmatter + 规范正文) ├── README.md # 本文件(安装与使用说明) ├── LICENSE ├── social-preview.png # GitHub 社交分享封面(1280×640,自动用作 og:image) ├── assets/ │ ├── banner.png # README 横幅(1280×400) │ └── logo.png # 仓库头像/图标(512×512) ├── references/ │ ├── DSH插件开发规范.md # 完整规范(极致详细版,含 omd/vision-read 逐文件解读) │ ├── architecture.md # 架构、服务 API、preset 格式、slot 名 │ ├── deployment.md # 部署步骤、patch / 白名单 / junction 细节 │ ├── gotchas.md # 高级注意事项(子代理、isolate、session projection…) │ └── spec-supplement.md # 对照源码的事实纠偏与增量(必读) └── scripts/ ├── build-client.mjs # client 手接打包(window.__ModuleLoader__) └── deploy.ps1 # 构建 + 装包 + patch + 白名单 + preset 一键部署 ``` ## 相关链接 - [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) — 官方仓库 - [dsh-plugin topic](https://github.com/topics/dsh-plugin) — DSH 插件生态列表页 - [awesome-dsh-plugin](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin) — DSH 插件精选列表 ## License MIT