SuperAPI AI 工具集

plugin-release

部署与运维

查看项目

更新于 10-16 01:34

技能介绍

用途:把已开发、已测试的 DSH 插件安全地打包、发布和分发。发布是单向的出站操作,技能不会替你决定版本号,也从不自动递增版本,任何实际发布、标签推送或 hub 注册前都必须先展示计划并取得确认。

主要能力与流程: Step 0 确认目标版本与发布轨道。GitHub 直装(dsh plugin --profile <p> add github:owner/repo)解析默认分支 HEAD,发布即推送 main;npm registry(npm publish)为正式发布线,alpha/rc 前缀的 @deepseek-ai/* 版本不保证在 npm 上,发布前用 npm view <pkg> versions 核实;hub 列表为独立注册动作,不替代打包校验;collection 中的成员插件随所属集合仓库流程。未发布队列通过 references/publish-playbook.md 的 overrides 流程处理。 Step 1 打包与校验:沿用仓库唯一的包管理器与锁文件(package-lock.json→npm,pnpm-lock.yaml→pnpm);跑完整门禁后执行 npm pack / pnpm pack;解包校验 files 覆盖所有运行时相对导入与资源、无 .ts 残留、cordis.patch.yml / dsh.plugin.json / SKILL.md 等清单齐全;把 tarball 装进隔离 profile 做消费验证(dsh --profile compat --dump-config 出现该插件行且工具真正注册并执行)。 Step 2 版本依赖基线:devDependencies 用 npm 发布线(当前 0.1.1-rc.2)作类型基线;peer 范围放宽(如 <0.2.0);需同时兼容本地 harness 与 npm 发布线时用双兼容模式;禁止把本地绝对路径写入已提交的 package.json。 Step 3 发布门禁逐层执行:依赖解析(锁文件变化符合预期、无混合队列)、静态检查(typecheck + 插件测试 + build)、真实挂载(在固定到精确 DSH tag 的隔离 profile 冷启动,Web Client 插件还需验证资源可达、bundle 注册、DOM 挂载与无页面错误)、行为(一条核心路径真实执行)、包装层(退出码与 stdout/stderr 归属)。 Step 4 发布语义门禁:GitHub Release tag 必须等于 v${package.json.version};预发布后缀与 Release 的 prerelease 状态一致;预发布只能推到项目声明的非 latest dist-tag,仅无后缀稳定版进 latest;稳定版发布前查当前 latest,semver 低于现有 latest 时拒绝发布。 Step 5 发布与回滚:发布前干净提交加标签并记录锁文件与组成基线哈希;发布后以消费者身份重装并冒烟测试;回滚优先撤销发布(删除标签/重指旧提交),不要用补丁掩盖问题。

安全边界:任何发布、标签推送、hub 注册写入前先展示计划并确认;绝不自动升版;绝不发布含凭据、.npmrc 内容、会话日志或私有路径的产物;不切换包管理器或改写其它锁文件,失败只回滚本次运行拥有的路径并报告残留。

参考资料:references/publish-playbook.md(未发布队列安装、双兼容模式、CI/发布门禁、实际坑列表、回滚方案);references/profile-dependency-management.md(profile 安装/更新、github 依赖锁缓存、重命名三处同步、junction 清理、主机升级联动)。以上为资料所述内容,未提及的功能、收费与价格信息暂未提供。