自研小程序审查交付
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_f12a44b7/self-dev-miniprogram-review-delivery
技能介绍
要解决的问题
微信小程序项目上线前,通常要经历部署、审查、发布等多个环节。这些环节分散在不同工具链里:miniprogram-ci 负责上传代码,CNB 负责代码托管与协作,云开发(CloudBase)负责后端函数。人工串联这些步骤时,容易遗漏审查点、忘记上传凭据,或在多人协作中缺少评审记录。
这个技能把整条交付链路整理成一套可重复执行的流程,适合希望用自动化方式串起「部署 → 审查 → 发布」的团队。
技能如何工作
阶段 0:CI 自动部署
技能先检查环境:CNB_TOKEN 是否配置、CNB_API 默认指向 https://api.cnb.cool、Node.js 是否 ≥ 18。部署阶段需要用户提供三个凭据:微信小程序 AppID、代码上传密钥(private.key)、腾讯云 API SecretId/Key。技能强调凭据由用户通过安全渠道传入,不要硬编码。
工作流支持从 CNB 源码仓库克隆 → 构建 → 上传到微信后台。
阶段 1:代码审查
解压项目后,用子代理扫描 JS 文件,关注三个方向:
- 安全问题(SQL 注入、未校验输入、硬编码密钥)
- 云函数逻辑缺陷(竞态条件、缺少事务、非原子操作)
- 小程序 API 使用(
wx.xxx调用是否正确、回调处理)
审查报告按三级分类输出:🔴 严重(P0) 安全漏洞与数据丢失风险;🟡 重要(P1) 逻辑缺陷与未处理异常;🔵 建议(P2) 代码规范与性能优化。
阶段 2:NPC 评审
NPC 是 CNB 云开发工程师,通过 Issue + @mention 触发。创建评审 Issue 时有两条硬规则:
- assignees 必须包含
["cnbnn"] - body 必须包含
@tencent/cloud/cloudbase/community(云开发工程师)才能触发 NPC,且必须包含积分授权声明,否则 NPC 可能因积分不足无法执行任务
合并 NPC PR 时,add/add 冲突(两边都新增同名文件)优先采用 NPC 版本,因为其中包含修复。
阶段 3:云函数专项评审
单独派 Issue 给 NPC,专注云函数评审,要点包括:
- 原子操作:用
_.inc()替代 read-modify-write - 事务保护:用
db.runTransaction()包裹关键操作 - 输入与权限校验:
wx.cloud.callContext/ openid 验证 - 错误处理:完整 try-catch,错误信息不泄露内部细节
- 性能:避免 N+1 查询,合理使用索引
阶段 4:打包发布
运行 scripts/pack.sh 打包,自动排除 .git/、node_modules/、miniprogram_npm/。随后通过 CNB API 创建 Release,上传 zip 附件,body 中附带完整改动清单。
阶段 5:交付测试
生成 P0 安全验证、P1 功能回归、P2 边界异常三个优先级的测试用例清单,输出为 Markdown 格式,可直接作为测试依据。
适用边界与注意点
miniprogram-ci不支持设置体验版,体验版仍需用户在微信后台手动操作。- 低内存服务器执行
npm install miniprogram-ci可能 OOM,需要设置NODE_OPTIONS限制。 - 密钥通过即时通讯工具传输可能被截断,建议先用
openssl rsa -in private.key -check -noout验证,再通过 SSH/scp 等安全通道传递。 - NPC 派活时,仅设置 assignees 不够,body 中的 @mention 和积分授权声明缺一不可。
- CNB Release 上传需要
asset_name和size参数。 - 各步骤查询具体 API 调用方式时,需要阅读
references/cnb-api.md。
使用场景
- 小程序源码更新后,需要从 CNB 仓库拉取、构建并上传到微信后台的开发团队
- 多人协作小程序项目,需要在合并前对 JS 代码做安全与竞态条件审查的负责人
- 通过 Issue 触发 CNB 云开发工程师评审,并处理 NPC PR 冲突的仓库维护者
- 小程序上线前,需对云函数做事务保护与权限校验专项评审并打包发布 Release
适合人员
- 小程序开发团队的技术负责人,需要在每次源码更新后自动化部署并上传到微信后台
- 多人协作小程序项目的代码审查员,需要在合并前系统性检查安全漏洞和逻辑缺陷
- 使用 CNB 托管代码的团队维护者,需要通过 Issue 触发云开发工程师评审并管理 NPC PR
- 小程序上线发布负责人,需要在发布前完成云函数评审、打包构建和 Release 发布全流程