SuperAPI AI 工具集

abc-apifox

编程与开发

查看项目

更新于 10-15 08:14

技能介绍

ABC Apifox Skill 提供 ABC 医疗云 API 文档查询功能,基于 Apifox 的 OpenAPI 规范文档(5000+ 接口)构建本地缓存,供快速检索接口定义、Schema 与模块信息。

一、用途 该工具用于查询 ABC 医疗云 API 文档,主要使用场景包括:查询 API 接口定义、搜索特定功能接口、查询 Schema 定义、列出模块以及获取模块下的所有接口。

二、环境配置 必需的环境变量为 APIFOX_ACCESS_TOKEN,设置方式: export APIFOX_ACCESS_TOKEN="你的 Apifox Access Token" 可选环境变量为 APIFOX_PROJECT_ID,默认为 4105462: export APIFOX_PROJECT_ID="4105462" Token 获取方式:登录 Apifox > 账号设置 > API 访问令牌。 依赖安装:pip3 install requests

三、首次使用:初始化缓存 首次使用前需初始化缓存(只需执行一次): python3 scripts/apifox.py init 初始化过程会自动:检查并安装 Python 依赖(requests);运行环境检查(验证 APIFOX_ACCESS_TOKEN 配置);从 Apifox 下载最新 API 文档并构建缓存。 缓存初始化后,后续查询直接从本地读取,无需重复初始化。如需更新缓存,可使用 refresh_oas 命令。

四、工作原理 缓存架构为按模块拆分的缓存结构;接口按模块拆分,Schema 按首字母分组;查询时只加载相关模块文件(按需加载);缓存永久有效,需要手动刷新获取最新文档;查询时内部自动检查缓存状态。

五、使用方式 命令格式:python3 scripts/apifox.py <command> [参数] 所有命令默认返回 JSON 格式输出。

命令列表: 接口查询:get_path(获取接口详情,自动推断模块)、get_schema(获取 Schema 定义)、search_paths(搜索接口,关键词匹配)、list_modules(列出所有模块)、get_module(获取模块的所有接口)。 文档管理:init(初始化环境,安装依赖、检查配置、下载缓存)、refresh_oas(刷新 OpenAPI 文档)、status(查看缓存状态)、clear_cache(清除本地缓存,需要 --force)。

六、查询注意事项

  1. 查询前先搜索:获取接口详情前,必须先用 search_paths 确认接口存在。 错误做法:python3 scripts/apifox.py get_path --path "/rpc/xxx/yyy" --method POST 正确做法:先 python3 scripts/apifox.py search_paths --keyword "xxx",再根据搜索结果获取详情。
  2. HTTP 方法判断:根据路径特征判断,如 /page、/list、/query 常见为 GET;/create、/add 常见为 POST;/update、/modify 常见为 PUT/POST;/delete、/remove 常见为 DELETE;/xxx/{id} 常见为 GET。

七、使用示例 获取接口详情: python3 scripts/apifox.py get_path --path "/api/v3/goods/stocks/check/orders" --method POST 获取接口并解析 $ref 引用: python3 scripts/apifox.py get_path --path "/api/v3/goods/stocks/check/orders" --method POST --include_refs true 获取 Schema 定义: python3 scripts/apifox.py get_schema --name CreateGoodsStockCheckOrderReq 搜索接口: python3 scripts/apifox.py search_paths --keyword "盘点" python3 scripts/apifox.py search_paths --keyword "库存" --module api.stocks python3 scripts/apifox.py search_paths --keyword "order" --method POST --limit 10 模块查询: python3 scripts/apifox.py list_modules python3 scripts/apifox.py get_module --module api.stocks 文档管理: python3 scripts/apifox.py init python3 scripts/apifox.py status python3 scripts/apifox.py refresh_oas python3 scripts/apifox.py clear_cache --force

八、输出格式 所有命令返回 JSON 格式。成功时:{"success": true, "data": "返回的数据"};错误时:{"success": false, "error": "错误信息"}。

九、缓存结构 cache/ 目录下包含 meta.json(元数据 + 全局索引)、modules/(按模块拆分的接口数据,如 api.stocks.json、rpc.advice.json 等)、schemas/(Schema 定义缓存,按首字母分组,如 a.json、b.json、_.json 等)。 模块命名规则:路径 /api/v3/goods/stocks/xxx 对应模块 api.stocks;/rpc/advice/xxx 对应 rpc.advice;/api/global-auth/xxx 对应 api.global-auth。

十、文件结构 scripts/ 目录包含:apifox.py(Python CLI 实现,命令行入口)、apifox_client.py(客户端)、cache_manager.py(缓存管理器)、requirements.txt(Python 依赖)、check_env.py(环境检查脚本)、test_apifox.py(功能测试脚本)。

十一、开发工具 环境检查:python3 scripts/check_env.py,检查环境变量是否配置、Python 依赖是否安装、缓存状态、API 连接测试。适用于首次配置后验证环境、API 连接异常时诊断、修改环境变量后确认生效。 功能测试:python3 scripts/test_apifox.py,冒烟测试套件,测试缓存加载、搜索性能(平均应 < 100ms)、模块过滤、方法过滤、接口详情获取、Schema 获取、模块列表。适用于修改代码后确保功能正常、部署前的回归测试、性能退化检测。 依赖安装:pip3 install -r scripts/requirements.txt

十二、开发工作流 修改功能后必须执行冒烟测试:修改代码后运行 python3 scripts/test_apifox.py,测试通过后提交。测试失败时检查修改是否破坏现有功能,运行 check_env.py 诊断环境问题,修复后重新测试直到通过。

十三、限制 使用前必须配置 APIFOX_ACCESS_TOKEN;首次使用必须执行 init 初始化缓存;缓存需手动刷新才能获取最新文档;清除缓存需加 --force 参数。