API-Sentinel:实践指南

作者:袖梨 2026-10-05

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

studyingPupil/API-Sentinel 项目截图 1

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 剩余金额
  • 燃烧率 — 24小时和7天平均消耗/日均消耗
  • Exhaustion Prediction — 预计耗尽日期 / 预计疲劳日期
  • 多渠道提醒 — 电子邮件、TG 平台、飞书、WeCom / 多渠道通知
  • Dedup — 每个警报级别只触发一次 / 同等级不重复部署
  • 升级 — L1→L2→L3 始终通知 / 等级升级一定通知
  • 颜色编码卡 — 绿色 (7d+) / 黄色 (3-7d) / 橙色 (1-3d) / 红色 (<24h)

建筑/项目结构

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 * * * *(每小时)。

相关文章

精彩推荐