教你打包、安装并发布 DSH 插件包
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add phoenixlucky/dsh-plugin-doc该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · market
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 9 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0⚪ 扫描:无法判定尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。
- · 包内无可扫 JS
- · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/4(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
中英文指南:编写、打包、安装和发布 DeepSeek Harness(DSH)插件。
README
由 DeepSeek 最新模型翻译生成DeepSeek Harness 插件制作与安装规范
本文面向想在 DeepSeek Harness(DSH)中开发、分发和安装插件的项目。这里说的「插件包」指 DSH 配置档管理器能安装的 npm 包;通常以 bundle 为分发边界,bundle 负责声明配置补丁,并可组合一个或多个 Cordis 插件。
1. 先确定插件形态
- 可安装 bundle: 面向用户分发的完整功能包。包的 package.json 声明 dsh.bundle.patch,补丁插入或调整 Cordis 配置项。用户通过 DSH 配置档管理器安装 bundle。
- Cordis 插件: 提供一项服务或功能的代码单元。bundle 可以引用并组合它;只有打包成可安装 bundle 后,才适合按独立插件包向 Harness 用户分发。
- 客户端插件: 需要浏览器侧代码时,按 DSH 的 dsh.client 配置声明入口、平台和注入依赖。浏览器资源通过宿主提供的资源加载方式打包,不要依赖开发机上的绝对路径。
开发前先确认目标 DSH 版本、运行面(例如 Web 或 Desktop)、需要的宿主服务,以及安装后应出现的用户可见行为。不要只根据一个依赖版本推断 Harness 兼容版本。
2. 包名、版本和兼容性
package.json 是插件包身份与发布范围的唯一来源。
展开完整文档(README 剩余 1 节)
DeepSeek Harness 插件制作与安装规范
本文面向想在 DeepSeek Harness(DSH)中开发、分发和安装插件的项目。这里说的「插件包」指 DSH 配置档管理器能安装的 npm 包;通常以 bundle 为分发边界,bundle 负责声明配置补丁,并可组合一个或多个 Cordis 插件。
1. 先确定插件形态
- 可安装 bundle: 面向用户分发的完整功能包。包的 package.json 声明 dsh.bundle.patch,补丁插入或调整 Cordis 配置项。用户通过 DSH 配置档管理器安装 bundle。
- Cordis 插件: 提供一项服务或功能的代码单元。bundle 可以引用并组合它;只有打包成可安装 bundle 后,才适合按独立插件包向 Harness 用户分发。
- 客户端插件: 需要浏览器侧代码时,按 DSH 的 dsh.client 配置声明入口、平台和注入依赖。浏览器资源通过宿主提供的资源加载方式打包,不要依赖开发机上的绝对路径。
开发前先确认目标 DSH 版本、运行面(例如 Web 或 Desktop)、需要的宿主服务,以及安装后应出现的用户可见行为。不要只根据一个依赖版本推断 Harness 兼容版本。
2. 包名、版本和兼容性
package.json 是插件包身份与发布范围的唯一来源。
{
"name": "@scope/dsh-example",
"version": "1.0.0",
"type": "module",
"engines": {
"dsh": ">=0.2.1-rc.3 <0.3.0"
},
"dsh": {
"bundle": {
"patch": "./cordis.patch.yml"
}
}
}
- 包名用稳定、唯一的 npm 名称,并在 cordis.patch.yml、入口元数据、市场索引、README 和安装命令中保持一致。改名后旧名称不会自动成为别名。
- version 是插件自身的 SemVer 版本;engines.dsh 才是兼容的 Harness 版本范围。依赖包版本也不能误当成插件版本。
- 每次发布都递增插件版本。发布过的版本不可覆盖;修复需要新版本号。
- 只声明经过验证的 Harness 版本范围。依赖的 DSH API 或 peer 版本应与该范围相符。
- 运行时导入放入 dependencies;由 Harness 提供的 API 放入 peerDependencies,构建需要的 peer 同时列入 devDependencies。
3. 代码与生命周期
- 遵循 Cordis 插件约定,使用明确的 name、inject、配置声明和 apply 入口。依赖服务应显式注入。
- 插件启用时创建的监听器、定时器、DOM 节点、样式表和注册项,都必须随插件卸载而清理;重复加载不能遗留重复状态。
- 客户端样式和资源限定在自己的主题或插件 id 范围内。使用 Harness 文档提供的主题变量和扩展点,不依赖生成的 CSS module 类名或无关页面的内部结构。
- 保留宿主已有的设置、持久化和交互行为。动画遵循 prefers-reduced-motion,布局为窄窗口设置合理限制。
- 可分发资源放在项目的资源目录中,使用语义化文件名并控制尺寸。资源必须包含在 npm tarball 中,运行时通过宿主资源加载器引用。
- 如需在文档、配置或补丁中引用包名,直接以 package.json 为准,避免改名后留下旧 id。
4. 发布清单必须完整
检查 package.json 的 files、exports、入口字段和 dsh.bundle.patch:
- main、exports 和 types 指向实际存在且准备发布的文件。
- exports 中每个目标都必须被纳入 tarball。没有计划分发源码时,不要导出 src/*。
- tarball 包含 bundle 补丁、运行入口、声明文件、locale、图标及代码引用的全部运行时资源。
- 不能依靠开发机上的文件、Harness 安装目录私有路径或未声明的传递依赖。
- publishConfig.access: "public" 只声明发布访问级别,不会自动发布包,也不能保证指定 registry 上已经存在该版本。
发布前在干净检出中完成构建,并查看真实打包清单:
pnpm install --frozen-lockfile
pnpm run build
pnpm pack --dry-run
逐项确认输出中的入口、补丁、依赖元数据和资源都齐全;检查 exports 没有指向 tarball 中不存在的文件。包发生变化后重新生成 tarball,并用目标 registry 查询精确包名和版本。
5. 发布到 registry
1. 确认目标 registry、scope 权限、包名和即将发布的版本。
2. 在发布前检查 tarball 文件清单,并确认没有密钥、.npmrc、缓存、私有配置或无关源码。
3. 发布到用户实际配置的 registry。公共 scoped 包需设置合适的公开访问权限。
4. 从另一台环境或干净配置档验证精确版本可查询、可安装、可启用;仅看到发布命令成功不足以证明用户能安装。
5. 记录包名、版本、支持的 DSH 范围和安装方式,并更新对应 README 或市场索引。
查询示例:
pnpm view @scope/dsh-example@1.0.0 version --registry=https://registry.npmjs.org/
Registry 返回 404 时,先核对包名、版本和 registry,并确认该版本确实已发布。更换镜像源无法修复拼错、改名或尚未发布的包。若出现认证提示,单独检查 registry 权限;不要把 token 粘贴到日志或 issue。
6. 安装、启用与卸载
使用 DSH 插件管理器管理配置档中的 bundle:
安装 registry 中的精确版本
dsh plugin --profile <profile> add @scope/dsh-example@1.0.0
从本地目录安装;Windows 使用绝对路径
dsh plugin --profile <profile> add E:\work\dsh-example
从 Git 安装;发布文档应优先固定提交或 release tag
dsh plugin --profile <profile> add git+https://github.com/example/dsh-example.git#<commit>
卸载
dsh plugin --profile <profile> remove @scope/dsh-example
直接在 profile 目录里执行 pnpm add 只会改动 npm 依赖,可能不会同步 DSH 的 bundle 选择和兼容性管理;面向用户的安装说明应使用 dsh plugin。开发时可以用本地绝对路径或 file: spec,避免把某台电脑的路径写成通用安装方式。
安装后确认 bundle 出现在目标 profile 的插件列表中、状态为启用,并检查插件实际功能。卸载后确认插件注册的条目和资源已撤销,用户数据按插件文档说明保留或删除。
7. 安装失败排查
| 现象 | 优先检查 |
| Registry 404 | package.json.name、请求的版本、是否已发布、当前 registry 是否正确。不要先反复切换镜像。 |
| 401 / 403 | scope 登录状态、registry 的 token 和包访问权限。隐藏或轮换泄漏的 token。 |
| 兼容性拒绝 | DSH 实际版本、engines.dsh、Harness peer 依赖范围和插件发布说明。 |
| 安装成功但插件未加载 | 是否通过 dsh plugin 管理、profile 是否正确、bundle patch 与入口是否在包内、依赖是否完整。 |
| 本机可用、另一台失败 | 使用 tarball 文件清单复核是否漏发生成文件;检查是否引用本机路径、未发布依赖或默认分支上不稳定的 Git 内容。 |
向维护者报告问题时提供:完整包名和版本、DSH 版本、安装方式、registry 主机名、错误码和去除 token 后的日志。不要发送 Authorization header、npm token 或完整 .npmrc。
8. 每次发布前的检查表
- [ ] 包名在 manifest、patch、代码、README 和市场元数据中一致。
- [ ] 插件自身版本与 engines.dsh 及依赖版本分别正确。
- [ ] 构建成功;tarball 包含所有导出文件、patch 和运行时资源。
- [ ] exports 不指向未发布文件;安装不依赖开发机状态。
- [ ] 目标 registry 能查询精确的 name@version。
- [ ] 使用 Harness 插件管理器,在干净 profile 中完成安装、启用和卸载验证。
- [ ] 更新发布说明和安装文档;错误日志不包含凭据。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
phoenixlucky/dsh-plugin-doc
教你打包、安装并发布 DSH 插件包
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,225未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,370已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13941 个插件含 PR 收录与…
★ 355已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目