跳转至

代码审核

什么时候用?

  • 开发完成后会自动进入发布前审查(Basic),不需要单独发起
  • 已有一个扩展项目,只想拿到问题清单、不要改代码时,可以直接发起
  • 创建 / 转换 / 升级的入口还会自动做一次查重(Lite),确认这个库是否已经存在

两级审核

Lite 在开发入口解决「这个库是否已存在、该基于哪份源码开发」;Basic 在产物完成后决定「能不能发布」

具体要描述什么?

你需要提供 说明 是否必需
项目路径 要审查的扩展项目目录 必需
关注点 例如恶意代码、包体积、积木显示 可选
来源决定 查到同名库时是否允许改用官方仓库 可选

推荐提示词

方案 A:只报告问题,不改代码

使用 mindplus-extension-skills 审查 extensions/v2-xx
重点看有没有可疑的外部命令或网络发送、打包出来的 ZIP 会不会超过 5MB、每个积木的 opcode 是否有对应的生成器函数

方案 B:不要替换我的来源

使用 mindplus-extension-skills 创建扩展,用我给的 extensions/xx-source 开发
如果查到官方有同名库,先告诉我,不要自动换成官方仓库

方案 C:审查通过后发布

先对 extensions/v2-xx 做一次 Basic 审查,全部必需项通过后再提交并推送到 gitee.com/<你的账号>/ext2-xx 的 master 分支,有 P0 就停下来把问题列给我,不要自动改

AI 会怎么做

一、入口查重(Lite)

按模式查官方收录清单,并在 Gitee 官方组织 mind-plus 中检索公开仓库。同模式、同类型下 config.authorconfig.id 都相同才算同一个库;Gitee 账号归属、仓库数字 ID、显示名称、SKU、功能相似度都不作为判重依据

比对结果 处理
authorid 都相同 用已存在的库继续开发;非本人仓库先 fork 到你的个人账号
只有 id 相同、author 不同 不是同一个库。新目录追加 -作者id(中文转拼音),config.id 保持不变
author 相同,或名称 / SKU 相近 不算重复,作为候选线索继续核对

二、发布前审查(Basic)

八项必需检查,缺一项就不发布:

检查 通过条件
配置合规 当前模式的字段、类型与必需资源符合规范
扩展静态完整性 入口、资源、依赖、多语言、积木到生成器的映射完整
源码语义 代表性及高风险功能与需求、原库一致,并说明覆盖范围
恶意代码审查 在执行 npm 脚本或加载扩展之前审查源码、构建脚本与依赖,无未解释的危险行为
构建通过 实际执行构建、退出码为 0,产物来自当前源码
积木可见 产物正常加载,积木与二级菜单可用,参数、文字、图标、布局正常
积木可用 代表性积木实际生成预期代码 / 执行预期行为,记录输入、预期与实际结果
包体积 最终扩展 ZIP 不超过 5,000,000 字节,且包含 main.jsconfig.json

问题分级:

  • P0 -> 阻断,修复后重查受影响项
    编译不通过、config 不合规或必填缺失、入口或依赖缺失、积木与生成器映射断裂、核心行为与需求相反

  • P1 -> 提醒为主,默认不阻断发布
    命名、图片样式、积木颜色、非核心本地化、菜单分组

  • P2 -> 可以不改
    排版、代码风格、注释

构建通过不能替代积木显示与行为验证,只读源码也不能写成已实际运行。构建或观察条件不具备时记为 NOT_RUN / BLOCKED,项目保留但不发布;修复之后要重跑受影响的检查才算验证完成,复用旧结论不算通过