8e7790a75ca1c08150c342fe5860a67d7856ae1c
SiliconFlow API Key 验证器
这是一个全栈应用程序,用于验证和管理 SiliconFlow API Key,实时监控账户余额状态。
✨ 功能特性
- 🔐 API Key 管理: 安全地存储和管理多个API Key
- ✅ 实时验证: 批量或单独验证API Key有效性
- 💰 余额监控: 查看实时余额信息
- 📊 统计面板: 一目了然的账户状态统计
- 🎨 现代界面: 美观易用的用户界面
- 🔒 数据安全: 本地数据库存储,确保数据私密性
🚀 快速开始
1️⃣ 克隆和安装依赖
# 克隆仓库
git clone [your-repo-url]
cd siliconflow-api-key-validator
# 安装后端依赖
npm install
# 安装前端依赖
cd frontend
npm install
cd ..
2️⃣ 数据库初始化
# 创建数据库
npx prisma generate
npx prisma migrate dev --name init
3️⃣ 启动应用
开发模式
# 同时启动后端和前端开发服务器
npm run dev
# 或者分别启动
npm run server:dev # 后端 (端口3000)
cd frontend && npm run dev # 前端 (端口3001)
生产模式
# 构建
npm run build
# 启动生产服务器
npm start
🌐 访问应用
- 首页: http://localhost:3001
- API 地址: http://localhost:3000/api
- 健康检查: http://localhost:3000/health
📋 API 端点
API Keys 管理
GET /api/api-keys- 获取所有API KeyPOST /api/api-keys- 添加新API KeyPOST /api/api-keys/:id/validate- 验证单个API KeyPOST /api/api-keys/validate-all- 批量验证所有API KeyDELETE /api/api-keys/:id- 删除API Key
🛠️ 技术栈
后端
- Node.js + Express
- TypeScript - 类型安全
- Prisma - 数据库ORM
- SQLite - 轻量级数据库
- Axios - HTTP客户端
- CORS + Helmet + Compression - 安全与性能优化
前端
- React 18 + TypeScript
- Vite - 现代构建工具
- TailwindCSS - 样式框架
- Axios - HTTP客户端
- Lucide React - 图标库
📁 项目结构
siliconflow-api-key-validator/
├── src/
│ ├── config/
│ │ └── siliconflow.ts # SiliconFlow API 配置和验证逻辑
│ ├── services/
│ │ └── apiKeyService.ts # 业务逻辑服务
│ ├── routes/
│ │ └── apiKeys.ts # API 路由定义
│ ├── utils/
│ │ └── errors.ts # 自定义错误类
│ └── server.ts # Express 服务器入口
├── frontend/
│ ├── src/
│ │ ├── components/ # React 组件
│ │ ├── services/ # 前端 API 服务
│ │ ├── types/ # TypeScript 类型定义
│ │ ├── utils/ # 工具函数
│ │ └── App.tsx # 主应用组件
│ ├── package.json
│ ├── vite.config.ts
│ └── tailwind.config.js
├── prisma/
│ └── schema.prisma # 数据模型定义
└── README.md
🔧 环境变量配置
.env
PORT=3000
NODE_ENV=development
API_TIMEOUT=10000
📝 使用说明
添加API Key
- 在主页的"添加新API Key"表单中输入:
- API Key名称(如"生产环境")
- 实际的API Key
- 可选描述信息
验证API Key
- 单独验证: 点击卡片右上角的刷新图标
- 批量验证: 使用页面顶部"批量验证"按钮
查看账户信息
- 状态: 绿色表示有效,红色表示无效
- 余额: 显示实时账户余额
- 用户信息: 显示关联的账户邮箱和名称
- 验证统计: 显示验证次数和最后验证时间
🐛 故障排除
常见问题
- 端口占用: 确保3000和3001端口未被占用
- 数据库连接: 检查
prisma/dev.db文件是否存在 - 构建错误: 确保所有依赖已安装:
npm install和cd frontend && npm install - API验证失败: 检查网络连接和API Key格式
重置数据
# 删除数据库重新初始化
rm prisma/dev.db
npx prisma migrate dev --name init
🤝 贡献
欢迎提交Issue和Pull Request!
📄 许可证
MIT License - 详见 LICENSE 文件
Description
Languages
TypeScript
81.6%
Dockerfile
4.3%
CSS
4.1%
JavaScript
3.5%
Batchfile
2.9%
Other
3.6%