Files
apikey-validator/README.md
2025-09-05 21:07:34 +08:00

4.2 KiB
Raw Blame History

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

🌐 访问应用

📋 API 端点

API Keys 管理

  • GET /api/api-keys - 获取所有API Key
  • POST /api/api-keys - 添加新API Key
  • POST /api/api-keys/:id/validate - 验证单个API Key
  • POST /api/api-keys/validate-all - 批量验证所有API Key
  • DELETE /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

  1. 在主页的"添加新API Key"表单中输入:
    • API Key名称如"生产环境"
    • 实际的API Key
    • 可选描述信息

验证API Key

  • 单独验证: 点击卡片右上角的刷新图标
  • 批量验证: 使用页面顶部"批量验证"按钮

查看账户信息

  • 状态: 绿色表示有效,红色表示无效
  • 余额: 显示实时账户余额
  • 用户信息: 显示关联的账户邮箱和名称
  • 验证统计: 显示验证次数和最后验证时间

🐛 故障排除

常见问题

  1. 端口占用: 确保3000和3001端口未被占用
  2. 数据库连接: 检查prisma/dev.db文件是否存在
  3. 构建错误: 确保所有依赖已安装: npm installcd frontend && npm install
  4. API验证失败: 检查网络连接和API Key格式

重置数据

# 删除数据库重新初始化
rm prisma/dev.db
npx prisma migrate dev --name init

🤝 贡献

欢迎提交Issue和Pull Request

📄 许可证

MIT License - 详见 LICENSE 文件