核心功能与用法
wip-release 是一款面向 @wipcomputer 生态的本地发布流水线工具,通过单一命令串联版本管理、文档同步与多平台发布。核心工作流为:语义化版本升级(patch/minor/major)→ 自动更新 CHANGELOG → 同步 SKILL.md 版本号 → NPM 发布 → GitHub Release 创建 → 可选的网站自动部署。
CLI 提供三级控制粒度:--dry-run 用于发布前预览,--no-publish 实现仅打标不发布,--skip-product-check 绕过产品文档门禁。模块化 API 支持 release(), detectCurrentVersion() 等函数,可直接嵌入自动化脚本。
显著优点
- 流程闭环:将分散在 git tag、package.json、CHANGELOG、SKILL.md、NPM、GitHub 的发布动作原子化为一键操作
- 产品文档门禁:针对含
ai/目录的仓库,强制检查 dev-updates、roadmap、readme-first 的更新状态,minor/major 级别阻塞发布,patch 级别警告提示 - SKILL.md 网站同步:通过
.publish-skill.json配置,自动将 SKILL.md 推送至独立网站仓库,实现文档与发布的实时同步 - 多接口兼容:CLI、Node.js 模块、MCP Server 三种调用方式,适配本地开发、CI/CD、AI Agent 不同场景
局限性与风险
- 预发布版本不支持:alpha/beta/rc 等 prerelease 版本尚未实现
- 仓库结构依赖:强制要求 package.json,无 Node 项目无法使用;产品门禁仅识别特定
ai/目录结构 - 凭证集中管理:依赖 1Password CLI (
op) 和本地密钥文件,增加单点故障风险;若~/.openclaw/secrets/op-sa-token泄露,将导致 NPM 发布凭据暴露 - 分支保护冲突:直接 push 可能触发 GitHub 分支保护失败,需确保在 PR 合并后执行
- 网站部署非阻塞:同步失败不中断发布流程,可能导致文档版本与代码版本不一致
适合人群
- 维护 @wipcomputer 系列包的开发者
- 追求发布流程标准化、减少手动操作失误的小团队
- 需要将 SKILL.md 作为产品文档对外同步的开源项目维护者
- 使用 1Password 作为密钥管理基础设施的组织
安全风险提示
- 密钥路径硬编码:
~/.openclaw/secrets/op-sa-token路径固定,跨平台兼容性受限 - 权限边界模糊:
opCLI 调用需 Service Account Token,该 token 通常具备 1Password vault 级读取权限,超出单一 npm token 最小权限原则 - MCP 路径暴露:
.mcp.json配置示例使用绝对路径/path/to/tools/...,实际部署时可能暴露服务器目录结构