作者:互联网 时间: 2026-10-05 10:30:02
准备试用API-Sentinel之前,先别急着安装;这个项目提供的是利用AI工具做出的skills合集. studyingPupil/API-Sentinel .。对软件开发任务来说,依赖、接口和异常处理往往比主路径更影响采用往往决定它能否落地,不能只用安装成功来判断。我的评估方法是在隔离分支完成一个可回滚的小任务,然后检查安装步骤、接口契约、测试结果和错误信息是否与文档一致。它对需要可检查开发流程而非单次演示的工程师更有价值,但正式采用前仍要复查许可证、近期提交和问题区回应。

API 哨兵 / API 哨兵
AI API 使用情况监视器。跟踪您的 OpenAI、Claude、DeepSeek 和 GLM 余额, 查看每日消耗率,在耗尽前获取警报,并打开实时仪表板。
坚控多个 AI API 的剩余额度、消耗速度、预计耗尽时间,并在额度告急前多渠道推送预警。
两种模式/两种部署方式
| Docker 组合 | GitHub 页数 | |
|---|---|---|
| 仪表板 | http://localhost:3000 |
https://用户名.github.io/api-sentinel/ |
| 通知 | 电子邮件//飞书/WeCom | 仅电子邮件 |
| 数据库 | SQLite(本地) | 存储库中的 JSON 文件 |
| 需要服务器 | 是的(你的机器) | 否(GitHub 运行它) |
| 设置时间 | 〜5分钟 | 〜3分钟 |
| 成本 | 免费(您的硬件) | 免费(GitHub 操作) |
| 最适合 | 功能齐全、实时 | 零服务器,快速启动 |
模式1:GitHub页面(推荐大多数用户)
零服务器。零成本。 Fork,添加4个秘密,完成。
设置/快速配置
Step 1: Fork this repo
Click "Fork" at top-right of this page.
Step 2: Add your secrets
Your fork → Settings → Secrets and variables → Actions → New repository secret
Name Value (example)
───────── ─────────────────────────────────
DEEPSEEK_KEY sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
EMAIL_PROVIDER qq
EMAIL_USER [email protected]
EMAIL_AUTH xxxxxxxxxxxxxxxx (SMTP auth code, NOT password)
Optional: OPENAI_KEY, CLAUDE_KEY (Admin Key required)
Step 3: Enable Pages
Settings → Pages → Source: Deploy from a branch → Branch: main, Folder: /docs → Save
Step 4: Open Dashboard
https://YOUR_USERNAME.github.io/api-sentinel/
(replace YOUR_USERNAME with your GitHub username)
该操作每小时自动运行一次。您还可以从“操作”选项卡手动触发它。
电子邮件提供商/支持的邮箱
| 提供者 | SMTP | 港口 | 授权 |
|---|---|---|---|
| QQ 邮件 | smtp.qq.com | 587 | SMTP 授权码 / 授权码 |
| 邮箱 | smtp.gmail.com | 587 | 应用密码 |
| 163 邮件 | smtp.163.com | 25 | SMTP 授权码 |
| 展望 | smtp.office365.com | 587 | 账户密码 |
| 定制 | (用户定义) | (用户定义) | — |
有关完整配置参考,请参阅 config.example.yml。
模式2:Docker Compose(全功能)
所有通知渠道。带有交互式图表的实时仪表板。
git clone https://github.com/YOUR_USERNAME/api-sentinel.git
cd api-sentinel
docker compose up -d
打开http://localhost:3000→添加API密钥→开始坚控。
通知通道(Docker 模式)
| 频道 | 配置 |
|---|---|
| 电子邮件 | QQ / Gmail / 163 / Outlook / 自定义 SMTP |
| TG 平台 | 机器人代币+聊天 ID |
| 飞鼠 | Webhook URL |
| WeCom | Webhook URL |
三个警报级别:3天→24小时→6小时。同一关卡不会触发两次;升级总是火爆。
支持的提供商
| 提供者 | 自动刷新 | 总学分 | 进度条 | 预测 |
|---|---|---|---|---|
| OpenAI | 计费 API | 是的 | 是的 | 是的 |
| 克劳德 | 成本报告 API(需要管理员密钥) | 仅限企业 | 仅限企业 | 是的 |
| DeepSeek | 余额 API | 否 | 否 | 是的 |
| GLM | 手动输入/手动输入 | 否 | 否 | 是(2 个以上快照后) |
特点/功能
建筑/项目结构
api-sentinel/
├── .github/workflows/check.yml # GitHub Actions (hourly check)
├── config.example.yml # Secret reference
├── docker-compose.yml # Docker mode
│
├── backend/ # FastAPI (Docker mode)
│ └── app/
│ ├── adapters/ # Provider adapters (OpenAI, Claude, DeepSeek, GLM)
│ ├── notifiers/ # Notification channels (Email, T@elegrimm, Feishu, WeCom)
│ ├── services/ # Fetcher, Predictor, Alerter
│ └── routers/ # REST API endpoints
│
├── frontend/ # Next.js Dashboard (Docker mode)
│ └── src/components/ # ApiCard, UsageTrendChart, AddCredentialForm, etc.
│
├── scripts/
│ └── standalone.py # Independent check script (GitHub Pages mode)
│
└── docs/ # GitHub Pages static site
├── index.html # Bilingual Dashboard / 双语看板
└── data.json # Usage data (auto-updated by Action)
开发/本地开发
# Backend (needs Python 3.12+)
cd backend
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000
# Frontend (needs Node 18+)
cd frontend
npm install
npm run dev
# Standalone script (GitHub Pages mode test)
export DEEPSEEK_KEY=sk-xxx
export EMAIL_PROVIDER=qq
export [email protected]
export EMAIL_AUTH=your-auth-code
python scripts/standalone.py
技术栈/技术栈
| 图层 | 科技 |
|---|---|
| 后端 | FastAPI + SQLAlchemy + SQLite + APScheduler |
| 前端 | Next.js + TypeScript + TailwindCSS + 图表 |
| 独立式 | Python 3.12 + stdlib(smtplib、urllib) |
| 部署 | Docker Compose / GitHub 操作 + 页面 |
FAQ / 常见问题
Why 克劳德需要管理员密钥吗?
Anthropic 的计费 API 需要一个管理密钥(sk-ant-admin...),而不是常规的 API 密钥。在 console.anthropic.com → 设置 → 管理密钥中创建一个。
Why 是 GLM 只能手动输入吗?
智普AI的开放平台没有公开计费REST API。从控制台手动输入您的余额。该系统仍然跟踪手动更新的趋势。
How 我可以获得 QQ 邮件 SMTP 授权码吗?
登录mail.qq.com→设置→账户→POP3/SMTP服务→生成授权码。
Can 我更改检查频率?
是的。编辑 .github/workflows/check.yml — 更改 cron 行。默认值为 0 * * * *(每小时)。