Convex Code Reviewer 是一个面向 Convex 代码库的审查工具,主要用途是对 convex/ 目录中的代码进行结构化审查与审计,覆盖安全、授权、校验器、性能以及模式设计等方面。它依据 Convex 专用检查清单运行,并将发现的问题按严重程度分为 Critical(严重)、Important(重要)和 Suggestion(建议)三级。
主要能力围绕三轮检查展开。第一轮为安全检查:验证所有公开函数是否检查 ctx.auth.getUserIdentity(),验证读写操作前是否确认资源归属,确认不信任客户端提供的用户 ID,确认定时函数指向 internal.* 而不是 api.*。第二轮为性能检查:确认数据库查询不使用 .filter()(必须使用 withIndex),验证所有外键字段都有索引,确认查询处理器中不出现 Date.now(),确认对无界查询不使用 .collect()。第三轮为代码质量检查:确认每个公开函数都有参数与返回值校验器,不存在 any 类型,Promise 被 await,文档中的数组有界(少于 8192 个元素)。
在规则方面,缺少授权检查被标记为 Critical,因为任何未经认证的公开 mutation 都构成数据丢失风险;数据库查询使用 .filter() 被标记为 Important,因为它是全表扫描;查询处理器中使用 Date.now() 被标记为 Important,因为它会破坏响应性;缺少参数或返回值校验器被标记为 Important;定时任务指向 api.* 而非 internal.* 被标记为 Important。工具始终强调解释为何需要修改,而不只是说明修改什么。
使用方式为对 convex/ 目录中的代码执行审查,报告按严重程度分组呈现发现的问题,并给出原因与修复建议。适用场景包括在开发或审计阶段对 Convex 函数进行安全与性能检查。限制方面,资料未提供关于运行环境、安装命令、依赖要求、平台支持或收费方式的信息,暂未提供。