API 供应商状态查询与余额监控。
Scanned 2/10/2026
Install via CLI
openskills install aAAaqwq/AGI-Super-Skills# API Provider Status Skill
API 供应商状态查询与余额监控。
## 功能
- 查询各 API 供应商的余额/用量
- 生成统计报告
- 支持定时自动查询
## 支持的供应商
| 供应商 | 查询方式 | 登录状态存储 |
|--------|----------|--------------|
| Anapi (Claude) | API 直接查询 | 不需要登录 |
| GitHub Copilot | Playwright 抓取 | `~/.playwright-data/github` |
| 性价比 API | Playwright 抓取 | `~/.playwright-data/xingjiabiapi` |
| OpenRouter VIP | 暂不支持 | - |
| ZAI (智谱) | 暂不支持 | - |
## 查询方法详解
### 1. Anapi (Claude)
**方式**: 直接 API 调用(无需登录)
```bash
curl -s -H "User-Agent: Mozilla/5.0" \
"https://anapi.9w7.cn/api/apikeys/query?key=<YOUR_KEY>"
```
**返回数据**:
- `status`: 状态 (normal/expired/exhausted)
- `daily_success_count`: 今日请求数
- `global_daily_limit`: 每日限额
- `expires_at`: 到期时间
- `success_rate`: 成功率
### 2. GitHub Copilot Pro
**方式**: Playwright 抓取(需要先登录)
**查询页面**: `https://github.com/settings/copilot`
**登录流程**:
```python
from playwright.sync_api import sync_playwright
import os
user_data_dir = os.path.expanduser('~/.playwright-data/github')
os.makedirs(user_data_dir, exist_ok=True)
with sync_playwright() as p:
context = p.chromium.launch_persistent_context(
user_data_dir,
headless=False, # 显示浏览器让用户登录
)
page = context.pages[0] if context.pages else context.new_page()
page.goto('https://github.com/settings/copilot')
# 用户手动登录后,登录状态会保存到 user_data_dir
```
**抓取数据**:
- Premium requests 用量百分比
- 订阅状态 (Active/Inactive)
**正则匹配**:
```python
import re
usage_match = re.search(r'Premium requests\s*([\d.]+)%', text)
is_active = 'Copilot Pro is active' in text
```
### 3. 性价比 API (xingjiabiapi)
**方式**: Playwright 抓取(需要先登录)
**查询页面**: `https://xingjiabiapi.com/console`
**登录流程**:
```python
user_data_dir = os.path.expanduser('~/.playwright-data/xingjiabiapi')
# 同上,使用 launch_persistent_context
```
**抓取数据**:
- 当前余额
- 历史消耗
- 请求次数
- 总 Tokens
**正则匹配**:
```python
balance_match = re.search(r'当前余额💰([\d.]+)', text)
consumed_match = re.search(r'历史消耗💰([\d.]+)', text)
requests_match = re.search(r'请求次数(\d+)', text)
tokens_match = re.search(r'总Tokens(\d+)', text)
```
## 使用方法
### 命令行
```bash
# 生成完整报告
python3 ~/clawd/skills/api-provider-status/balance_checker.py report
# 查询指定供应商
python3 ~/clawd/skills/api-provider-status/balance_checker.py query anapi
python3 ~/clawd/skills/api-provider-status/balance_checker.py query github-copilot
python3 ~/clawd/skills/api-provider-status/balance_checker.py query xingjiabiapi
# JSON 格式查询所有
python3 ~/clawd/skills/api-provider-status/balance_checker.py all
```
### 用量统计
```bash
# 最近 12 小时用量
python3 ~/clawd/skills/api-provider-status/usage_tracker.py report 12
# 最近 24 小时用量
python3 ~/clawd/skills/api-provider-status/usage_tracker.py report 24
# JSON 格式
python3 ~/clawd/skills/api-provider-status/usage_tracker.py stats 12
```
## 首次登录设置
如果 Playwright 登录状态过期,需要重新登录:
```python
# GitHub 登录
cd ~/clawd/skills/playwright-automation
python3 << 'EOF'
from playwright.sync_api import sync_playwright
import os
user_data_dir = os.path.expanduser('~/.playwright-data/github')
os.makedirs(user_data_dir, exist_ok=True)
with sync_playwright() as p:
context = p.chromium.launch_persistent_context(
user_data_dir, headless=False
)
page = context.pages[0] if context.pages else context.new_page()
page.goto('https://github.com/login')
input('登录完成后按 Enter...')
context.close()
EOF
# 性价比登录
python3 << 'EOF'
from playwright.sync_api import sync_playwright
import os
user_data_dir = os.path.expanduser('~/.playwright-data/xingjiabiapi')
os.makedirs(user_data_dir, exist_ok=True)
with sync_playwright() as p:
context = p.chromium.launch_persistent_context(
user_data_dir, headless=False
)
page = context.pages[0] if context.pages else context.new_page()
page.goto('https://xingjiabiapi.com/')
input('登录完成后按 Enter...')
context.close()
EOF
```
## 定时任务
已配置 cron 任务每 12 小时自动查询并推送到 NewsRobot 群。
## 文件结构
```
skills/api-provider-status/
├── SKILL.md # 本文档
├── balance_checker.py # 余额查询脚本
└── usage_tracker.py # 用量统计脚本(从 OpenClaw 日志读取)
```
## 登录状态存储
```
~/.playwright-data/
├── github/ # GitHub 登录状态
└── xingjiabiapi/ # 性价比登录状态
```
No comments yet. Be the first to comment!