SuperAPI AI 工具集

doctor

编程与开发

查看项目

更新于 10-15 22:11

技能介绍

doctor 用于审计当前项目中已有的 PagoKit 生成集成,全程只读,不写文件。它以项目根目录的 PAGOKIT_INTEGRATION.md 为事实来源,该文件由 integration-specialist 生成,记录服务商 id、创建的文件、已处理与待办事件、部署目标、检测到的技术栈/ORM、last_generated_at 时间戳和固定 SDK 版本。若该文件不存在,不一定是错误,可能是早于 PagoKit 的集成;此时应询问用户是否由 PagoKit 生成,若不是,仍可审计已知服务商,需用户说明所用服务商。

审计按类别逐项执行并输出 [OK]/[WARN]/[FAIL] 行,最后汇总“N OK, M warnings, K failures”。类别包括:环境清洁(.gitignore 是否覆盖 .env、.env 是否被提交、.env.example 是否存在且仅含测试模式值);各服务商必需环境变量(读取 skills/doctor/PROVIDER_CHECKS.md 对应章节,与用户 .env 比对,检查存在性、格式、是否误用 live/prod 前缀);Webhook 处理质量(是否调用规范验证器或带 // @pagokit:signature-verified 标记、是否按技术栈捕获原始请求体、事件分支是否覆盖 providers.json.webhook.required_events_minimum、是否含 console.log(event)、是否按 replay_mitigation_strategy 做事件去重);幂等(checkout 是否用 crypto.randomUUID()/uuid.uuid4()/SecureRandom.uuid 生成幂等键、是否存在 idempotency_keys 表);数据库结构(Prisma/Drizzle/SQLAlchemy/Active Record 下 payments、subscriptions、customers、idempotency_keys、webhook_events_processed 等表);生产就绪指引(PAGOKIT_PRODUCTION_CHECKLIST.md 是否存在)。

输出格式为按类别分组的报告,并给出后续步骤。限制与反模式:报告时不得回显密钥值,只报 OK/FAIL;不得写文件、跑迁移或做任何修改;项目没有 PagoKit 产物时不应报错,而应提议为已知服务商做审计;不要优先建议需要 live 密钥的修复,应先确认测试沙箱通过。