Pular para o conteúdo principal
D

dsh-plugins

dale0525/dsh-plugins

Sync your DeepSeek Harness (DSH) configuration between machines over a private git or WebDAV channel: settings, plugins, MCP servers, skills, agent presets, workspaces and provider credentials. DSH 配置远程同步插件(私有通道,明文自用)。

Instalar

dsh plugin --profile web add github:dale0525/dsh-plugins

README

dsh-plugins

DSH 插件 monorepo:一次安装装上全部插件。

安装

dsh plugin --profile web add @logictan/dsh-plugins-all@latest

被安装的入口是聚合包 @logictan/dsh-plugins-all:它的 dsh.bundle.patch 指向自己的 cordis.patch.yml,该 patch 由各子插件自己的 patch 逐字拼接而成,子插件再由它的 dependencies 带进 profile。

根包 dsh-plugins 是工作区壳(private: true不发布):它同样声明 dsh.bundle.patch 指向 packages/all/cordis.patch.yml,但仓库内开发用。注意 npm 上已存在一个无关的 同名包 dsh-plugins(另一个作者),private: true 保证本仓库的根包不会与它冲突。

仓库结构

路径说明
packages/all/聚合载体 @logictan/dsh-plugins-allaggregate.yml 手写,cordis.patch.ymlpackage.json 是生成物
packages/<pkg>/各个子插件。有上游的走 git subtree fork,自制的直接放这里——判据见 AGENTS.md
packages/<pkg>/sync-policy.json仅 fork 有:该包的上游同步清单(target / owned / deleted / added
scripts/aggregate.mjsaggregate.yml 生成聚合 patch 与 dependencies
scripts/publish.mjs按依赖边推导发布顺序(子插件 → 聚合包);npm run publish:plan 预览
scripts/sync-upstream.mjs按各包的 sync-policy.json 把上游改动合进来(只开 PR)

开发

pnpm install
node scripts/aggregate.mjs --check     # 校验生成物与清单一致
node scripts/aggregate.mjs             # 重新生成

改子插件的 patch 行:编辑该子包自己的 cordis.patch.yml,再跑 node scripts/aggregate.mjs。 新增一个子插件见 AGENTS.md 的「➕ 新增子插件」。

发布

认证走 trusted publishing (OIDC),不存任何长期 npm token。手动预览发布计划:

npm run publish:plan          # dir<TAB>name<TAB>version,顺序即发布顺序

顺序由依赖边推导,不写死包名:子插件在前,聚合包在后——聚合包要解析子插件的依赖版本。

新增包:由用户人工首发

全新包不能走 CI:trusted publisher 只能配在已存在包上,staged publishing 也明确排除全新包。 所以先由用户人工发一次,再配 trust:

cd packages/<name> && npm publish --access public
npm trust github <pkg> --file publish.yml --repo dale0525/dsh-plugins --allow-publish

--allow-publish 不可省——2026-09-03 之后创建的配置默认只允许 npm stage publish, 不给这个 flag 时 CI 直接发布会被拒。配好 trust 后,该包后续更新都走 CI/CD。

已发布包:走 CI/CD

本地测试通过后由 CI/CD 发布,推 v* tag,或在 main 上手动触发:

gh workflow run publish.yml --ref main -f dry_run=false

细节见 AGENTS.md 的「📤 发布」。

生效方式

改完之后要不要重启宿主,取决于改动落在哪一层。这张表是硬门禁与实测依据, 维护在 AGENTS.md 的「🚀 生效门禁」;以那里为准。

Plugins relacionados