ABC 医疗云 API 文档查询工具。读取和查询 ABC API 的 OpenAPI 规范文档(5000+ 接口),支持按模块、路径、方法搜索,自动解析 $ref 引用。采用按模块拆分的缓存结构,查询速度快。使用场景:(1) 查询 API 接口定义 (2) 搜索特定功能接口 (3) 查询 Schema 定义 (4) 查看接口统计信息
Scanned 9/4/2026
Install to Claude Code
npx -y skills add NeverSight/skills_feed --skill abc-apifox --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Abc Apifox?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/neversight-abc-apifox)More formats (shields.io, HTML) on the badges page.
---
name: abc-apifox
description: ABC 医疗云 API 文档查询工具。读取和查询 ABC API 的 OpenAPI 规范文档(5000+ 接口),支持按模块、路径、方法搜索,自动解析 $ref 引用。采用按模块拆分的缓存结构,查询速度快。使用场景:(1) 查询 API 接口定义 (2) 搜索特定功能接口 (3) 查询 Schema 定义 (4) 查看接口统计信息
---
# ABC Apifox Skill
本 skill 提供 ABC 医疗云 API 文档查询功能。
## 环境配置
### 必需的环境变量
```bash
# 设置 Apifox Access Token(必需)
export APIFOX_ACCESS_TOKEN="你的 Apifox Access Token"
# 设置项目 ID(可选,默认为 4105462)
export APIFOX_PROJECT_ID="4105462"
```
获取 Token:登录 [Apifox](https://apifox.com) > 账号设置 > API 访问令牌
### 依赖安装
```bash
pip3 install requests
```
### 首次使用:初始化缓存
首次使用前需要初始化缓存(只需执行一次),执行以下命令:
```bash
# 初始化环境(自动安装依赖、检查配置、下载缓存)
python3 scripts/apifox.py init
```
初始化过程会自动:
1. 检查并安装 Python 依赖(requests)
2. 运行环境检查(验证 APIFOX_ACCESS_TOKEN 配置)
3. 从 Apifox 下载最新 API 文档并构建缓存
缓存初始化后,后续查询直接从本地读取,无需重复初始化。如需更新缓存,可使用 `refresh_oas` 命令。
### 工作原理
**缓存架构**:按模块拆分的缓存结构
1. **智能拆分**:接口按模块拆分,Schema 按首字母分组
2. **按需加载**:查询时只加载相关模块文件
3. **缓存持久**:缓存永久有效,需要手动刷新获取最新文档
4. **自动保护**:查询时内部自动检查缓存状态
## 使用方式
```bash
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` 确认接口存在**:
```bash
# 错误做法:直接查询可能不存在的接口
python3 scripts/apifox.py get_path --path "/rpc/xxx/yyy" --method POST
# 正确做法:先搜索确认存在
python3 scripts/apifox.py search_paths --keyword "xxx"
# 然后根据搜索结果获取详情
python3 scripts/apifox.py get_path --path "/rpc/xxx/yyy" --method GET
```
### 2. HTTP 方法判断
根据路径特征判断 HTTP 方法:
| 路径特征 | 常见方法 | 示例 |
|---------|---------|------|
| `/page`、`/list`、`/query` | GET | 分页查询、列表查询 |
| `/create`、`/add` | POST | 创建资源 |
| `/update`、`/modify` | PUT/POST | 更新资源 |
| `/delete`、`/remove` | DELETE | 删除资源 |
| `/xxx/{id}` | GET | 获取单个资源 |
## 使用示例
### 获取接口详情
```bash
# 获取接口详情(自动推断模块)
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 定义
```bash
# 获取 Schema 定义
python3 scripts/apifox.py get_schema --name CreateGoodsStockCheckOrderReq
```
### 搜索接口
```bash
# 搜索盘点相关接口
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
```
### 模块查询
```bash
# 列出所有模块
python3 scripts/apifox.py list_modules
# 获取特定模块的所有接口
python3 scripts/apifox.py get_module --module api.stocks
```
### 文档管理
```bash
# 初始化环境(首次使用前必须执行)
python3 scripts/apifox.py init
# 查看缓存状态
python3 scripts/apifox.py status
# 刷新文档(从 Apifox 获取最新数据)
python3 scripts/apifox.py refresh_oas
# 清除缓存
python3 scripts/apifox.py clear_cache --force
```
## 输出格式
所有命令返回 JSON 格式:
```json
{
"success": true,
"data": "返回的数据"
}
```
错误时返回:
```json
{
"success": false,
"error": "错误信息"
}
```
## 缓存结构
```
cache/
├── meta.json # 元数据 + 全局索引
├── modules/ # 按模块拆分的接口数据
│ ├── api.stocks.json # 库存相关接口
│ ├── rpc.advice.json # 医嘱相关接口
│ └── ...
└── schemas/ # Schema 定义缓存(按首字母分组)
├── a.json # A 开头的 Schema
├── b.json
├── ...
└── _.json # 非字母开头的 Schema(中文、数字等)
```
## 模块命名规则
| 路径格式 | 模块名 | 示例 |
|---------|-------|------|
| `/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 # 功能测试脚本
```
## 开发工具
### 环境检查 (`check_env.py`)
检查环境配置和 API 连接状态:
```bash
python3 scripts/check_env.py
```
**检查项目**:
- 环境变量是否配置
- Python 依赖是否安装
- 缓存状态
- API 连接测试
**使用场景**:
- 首次配置后验证环境
- API 连接异常时诊断
- 修改环境变量后确认生效
### 功能测试 (`test_apifox.py`)
冒烟测试套件,验证核心功能正常:
```bash
python3 scripts/test_apifox.py
```
**测试内容**:
- 缓存加载
- 搜索性能(平均应 < 100ms)
- 模块过滤
- 方法过滤
- 接口详情获取
- Schema 获取
- 模块列表
**使用场景**:
- **修改代码后必须运行**,确保功能正常
- 部署前的回归测试
- 性能退化检测
### 依赖安装 (`requirements.txt`)
```bash
# 安装依赖
pip3 install -r scripts/requirements.txt
```
## 开发工作流
修改功能后必须执行冒烟测试:
```bash
# 1. 修改代码
vim scripts/cache_manager.py
# 2. 运行测试(必须)
python3 scripts/test_apifox.py
# 3. 测试通过后提交
git add scripts/cache_manager.py
git commit -m "fix: ..."
```
**测试失败时**:
- 检查修改是否破坏了现有功能
- 运行 `check_env.py` 诊断环境问题
- 修复后重新测试直到通过
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!