资讯动态

BrowserSkill发布流水线解析:3条流水线实现自动化Release与Chrome/Edge商店自动上架指南

发布时间:2026/9/21 19:12:09 来源:尧图企业网站定制
BrowserSkill发布流水线解析3条流水线实现自动化Release与Chrome/Edge商店自动上架指南【免费下载链接】BrowserSkillLet AI agents use your real, logged-in browser without interrupting your work. CLI extension for browser automation across any shell-capable AI agent.项目地址: https://gitcode.com/GitHub_Trending/br/BrowserSkillBrowserSkill 是一款让 AI 智能体接管你已登录的真实浏览器的开源工具由 CLI、浏览器扩展和 Agent 插件三个组件组成。它的发布流水线用统一版本号 标签触发 三条 CI 流水线实现了从版本号更新、多平台构建到 GitHub Release 发布、npm 发布、Chrome Web Store 与 Edge Add-ons 自动上架的全程自动化发布者几乎不需要手动操作。统一版本号一次发布覆盖三个组件浏览器自动化工具想做到发布不翻车最难的不是构建而是三个组件版本对不齐CLI 和扩展说不同版本的话用户装完一个旧一个。BrowserSkill 的解法很直接从 0.2.0 起CHANGELOG.md 明确约定CLI / Extension / DSH Plugin 共用同一个版本号当前为 0.3.0。三个组件的版本分别写在三个位置组件版本所在文件CLI / 守护进程RustCargo.toml 的 workspace 版本浏览器扩展apps/extension/package.jsonAgent 插件npm 包packages/dsh-plugin-browserskill/package.json手动改这三处很容易漏所以项目提供了一个统一发布脚本 scripts/release.mjs一条命令完成所有事改版本把三处文件统一 bump 到目标 semver 版本更新日志自动在 CHANGELOG.md 补上版本日期支持预先写好的日期占位符2026-XX格式提交打标签生成一次chore(release): x.y.z提交并打上cli-v/ext-v/dsh-plugin-v前缀的标签安全护栏支持--dry-run预览全部改动、--no-commit只改文件不提交、--only ext只操作部分组件。脚本还固化了一个值得借鉴的推送顺序约定先推扩展标签商店审核最慢先让它跑着再推 CLI 和插件标签。想分阶段放量时还可以用--push-tags --only ext单独补推某个标签无需再次 bump 版本。三条标签触发的 Release 流水线三个标签对应三条互相独立的流水线定义在 .github/workflows/ 目录下。每条流水线的结构几乎一样都是四段式resolve— 从标签名或手动触发解析出版本号guard— 版本守卫核对标签版本与源码文件中的版本是否一致不一致直接失败。这是防止标签打错了的最后一道闸门build / publish— 构建产物或执行发布release— 汇总分发。各流水线都配置了concurrency防止重复发布并且都支持在界面手动触发workflow_dispatch手动触发时版本直接取自源码文件方便补发。CLI 流水线5 平台矩阵交叉编译release-cli.yml 由cli-v*标签触发构建任务是一个 5 平台矩阵macOSARM64 x64tar.gzLinux x64 / ARM64musl 静态链接tar.gzARM64 使用专用 ARM RunnerWindows x64zip每个产物命名为bsk-v版本-平台三元组由 softprops/action-gh-release 一步发布到 GitHub Release 并标记为 latest。最后一步是整个自动更新体系的锚点运行 scripts/render-version-json.mjs扫描所有产物计算SHA256 校验和生成version.json清单包含各平台下载 URL、版本号、发布时间一并上传——后面客户端怎么知道有新版本就靠这份清单。插件流水线带环境保护的 npm 发布release-dsh-plugin.yml 由dsh-plugin-v*标签触发比 CLI 简单得多但有两条值得注意的细节发布步骤绑定在npm-publish环境保护下NPM_TOKEN以 Environment Secret 形式存放密钥不落在仓库里发布前先跑typecheck和test测试不过就不会污染 npm registry。最终把wxg-prc-cpg/browser-skill-dsh-plugin包以--access public发布到 npm。扩展流水线一次构建两处上架release-extension.yml 是最长的一条ext-v*标签触发后依次执行构建用 WXT 框架执行pnpm ext:build:zipapps/extension/package.json 中的zip脚本把扩展产物重命名为browser-skill-extension-v版本-chrome.zipGitHub Release发布 zip 并自动生成 Release Notes注意刻意设为make_latest: false避免扩展包干扰 CLI 的 latest 标记publish-cws上架 Chrome Web Storepublish-edge-addons上架 Microsoft Edge Add-ons。两个商店发布任务与 GitHub Release 并行互不阻塞。Chrome Web Store 自动上架服务账号 REST API很多团队的商店上架还停在开发者后台手动点上传而 BrowserSkill 的publish-cws任务走的是Chrome Web Store API v2 全自动路线换令牌从仓库 Secret 取出 Google 服务账号 JSON用client_emailprivate_key现场签发一个 RS256 JWT到 Google OAuth 换取临时 access_tokentoken 会被 add-mask 脱敏不会泄漏到日志上传以application/zipPOST 到/upload/v2/item:upload端点轮询CWS 的上传是异步的脚本每 5 秒查一次状态最多 30 次约 2.5 分钟等uploadState变为SUCCEEDED发布调用:publish端点提交DEFAULT_PUBLISH扩展即进入商店审核队列。所需配置只有两样Publisher ID、Extension ID仓库变量和服务账号 JSONSecret配置缺失会在开工前就报错退出。Edge Add-ons 自动上架异步操作 ID 轮询publish-edge-addons任务对接的是微软 Partner Center 的 Add-ons API流程同样是三步但异步模型更明显上传草稿包POST 到products/product/submissions/draft/package接口返回202 Location 头从中提取 operation ID轮询操作状态每 5 秒查询一次该 operation直到Succeeded同样最多 30 次创建提审POST 到submissions端点提交发布附带自动化发布说明再对这次提交做一次 operation 轮询。配置上有个小坑被代码专门防住了EDGE_ADDONS_PRODUCT_ID必须是Partner Center 的产品 GUID而非商店里公开可见的扩展 ID脚本会用正则校验格式填错会立刻失败并给出提示。发布之后CLI 客户端自动更新商店解决的是装得上而 CLI 解决的是用得久。crates/bsk-cli/src/cli/update.rs 实现了完整的客户端更新链路清单驱动daemon 定期拉取 Release 里的version.jsonbsk update命令则按需检查对比本地版本完整性校验下载归档后先验 SHA256 再替换与构建端render-version-json.mjs计算的校验和严格对应节流与容错daemon 每 30 分钟检查一次用25 分钟新鲜度窗口的巧妙设计保证每次 tick 都会真正刷新缓存用户可控macOS / Linux 用户一行命令安装install.sh 自动识别平台架构、下载校验、落到~/.local/binWindows 用户有对应的 install.ps1 安装器可用BSK_AUTO_UPDATEoff关闭自动更新。Windows 下替换正在运行的 exe涉及句柄继承等系统级细节crates/bsk-cli/src/cli/update/windows.rs 专门处理了更新辅助进程的句柄隔离确保守护进程退出后端口不被残留句柄占住。小结这套流水线做对了什么单一版本号 统一发布脚本杜绝三组件版本漂移--dry-run/--only让发布可预览、可分阶段标签即发布cli-v/ext-v/dsh-plugin-v三类标签各走一条流水线guard 步骤兜底防错商店上架 API 化CWS 服务账号 JWT 异步轮询、Edge 的 operation ID 轮询把人工传包点按钮变成可重复的 CI 步骤密钥与配置分层Secret 放环境保护、ID 放仓库变量、清单放 Release仓库里没有任何凭据发布与更新闭环version.json SHA256 校验让 CLI 用户无感升级。对任何需要同时维护 CLI 扩展 npm 包的项目这套一个脚本管版本、三条流水线管分发、REST API 管商店的发布架构都是可以直接抄作业的成熟范式。【免费下载链接】BrowserSkillLet AI agents use your real, logged-in browser without interrupting your work. CLI extension for browser automation across any shell-capable AI agent.项目地址: https://gitcode.com/GitHub_Trending/br/BrowserSkill创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价