api-doctor:110条确定性AST规则,捕捉AI生成代码中的不良API集成
api-doctor 是一个开源CLI工具,使用110条确定性AST规则扫描AI生成的代码,以发现错误的API集成。它覆盖安全性、正确性、可靠性和集成问题,支持Supabase、Auth0、Firebase等提供商。与基于AI的工具不同,它每次输出相同,便于测试AI代码。
近日,一款名为 api-doctor 的开源工具在Hacker News上引起了广泛关注。该工具旨在解决AI生成代码中常见的API集成错误问题。与传统的基于AI的代码审查工具不同,api-doctor 采用110条确定性AST(抽象语法树)规则对代码进行静态分析,而非依赖可能产生不一致结果的AI提示。这意味着对于相同的输入,它能保证一致的输出结果,从而为开发者提供可靠且可重复的代码审查体验。
api-doctor 目前支持11个主流API提供商,包括Resend、Supabase、Auth0、Firebase、Lovable、Browserbase、OpenAI Computer Use、TipTap、ElevenLabs、Twilio和OpenAI Realtime,共覆盖110条具体规则。这些规则被精心设计并分为四个关键类别:安全性(映射到CWE和OWASP标准,检测硬编码API密钥、客户端包中的秘密、未验证签名前读取的Webhook等)、正确性(检测错误的端点或API使用,如通过批量发送营销邮件、缺少取消订阅链接、在生产环境中使用测试域名等)、可靠性(预防生产故障模式,如缺失幂等性键、未强制批量限制、未映射错误码等)、以及集成(填补AI代理可能遗漏的接线缺口,如缺少标签、未记录请求ID、使用裸发件人地址而非“名称”标准格式等)。
该工具的突出优势在于其确定性。正如开发者所强调的:“你不能用AI来测试AI代码。api-doctor打破了这一循环。相同的规则,相同的输出,每次都是。不是模型调用,也不是提示词。”这种设计使得测试AI生成代码变得简单而可靠。
在安装与使用方面,api-doctor 主要作为一个CLI命令运行,用户只需在项目目录中执行“npx @api-doctor/cli .”即可开始扫描。此外,它还可以作为代理技能集成到Claude Code、Cursor或Windsurf等开发环境中,通过“npx @api-doctor/cli install”命令进行安装。
关于隐私与遥测,api-doctor 收集匿名使用数据以帮助开发者了解工具的实际效用。它通过PostHog收集CLI版本、Node.js版本、运行平台、运行上下文(本地、CI或代理)、检测到的API提供商名称、触发的规则名称(不含代码)、评分和发现计数、项目运行之间的分数差异(本地存储),以及哈希后的项目标识符。工具明确声明永远不会收集用户的代码内容、原始文件路径、项目名称或个人身份信息。用户可以通过添加“--no-telemetry”标志或设置环境变量“API_DOCTOR_TELEMETRY=0”或“DO_NOT_TRACK=1”来退出遥测。
api-doctor 采用MIT许可证开源,源代码托管在GitHub上,并鼓励社区贡献新的提供商规则。该工具由Qualty开发,旨在帮助开发者在不完全信任AI生成代码的情况下,快速发现并修复API集成问题。