SuperAPI AI 工具集

erpnext-code-validator

部署与运维

查看项目

更新于 10-16 06:17

技能介绍

用途:在部署前审查 ERPNext/Frappe 代码,依据既有模式、常见陷阱和版本兼容要求进行校验,目标是提前发现错误而非事后排查。适用于代码生成后待审查、代码报错排查、上线前验证以及最佳实践代码评审等场景。

主要能力:按代码类型执行针对性检查,包括 Client Script(JavaScript)、Server Script(Python 沙箱)、Controller(完整 Python)、hooks.py 配置、Jinja 模板和白名单方法;随后检查通用规则(错误处理、用户反馈、安全、性能)并验证版本兼容性(v14/v15/v16 特性、弃用模式、版本特定行为),最终生成校验报告,分为必须修复的严重错误、应修复的警告和可选建议,并在发现错误时给出修正后的代码。

典型检查点:Server Script 中禁止 import 语句(如应改用 frappe.parse_json()、frappe.utils.X(),requests 不可用)、禁止 self. 引用(应使用 doc.)、校验错误应使用 frappe.throw();Client Script 中禁止 frappe.db.get_value() 与 frappe.get_doc()(仅服务端可用),frappe.call() 需使用 callback 或 async/await,字段变更后需 frm.refresh_field();Controller 中 on_update 内修改 self.field 不会保存(应使用 frappe.db.set_value()),需调用 super(),避免在生命周期钩子中 self.save() 造成循环保存。通用规则涵盖 SQL 注入、权限绕过、XSS、敏感数据泄露、静默失败、循环内查询等。

使用方式:先识别代码类型,再运行对应检查清单,检查通用规则与版本兼容性,最后输出校验报告。提供快速、标准、深度三种校验深度,默认使用标准级别。

限制:资料未提供具体安装命令、收费方式、平台支持范围及实际效果数据;版本兼容性仅列出 v14/v15/v16 的差异说明。