🚀 专业的 AI 模型压力测试工具,支持 Gemini、OpenAI、Claude 多种模型的 RPM 承受能力和稳定性测试。
- ✅ Gemini - Google Gemini 系列模型
- ✅ OpenAI - GPT-3.5、GPT-4 等模型
- ✅ Claude - Anthropic Claude 系列模型
- ✅ 统一接口 - 简单切换不同AI提供商
- ✅ 流式/非流式 - 支持流式和非流式两种请求模式
- 🎯 固定测压模式: 设定固定RPM持续测试,支持设置测试时长
- 📈 自动测压模式: 从起始RPM逐步递增,自动找出承受极限
- 📝 固定语句模式: 使用相同的测试语句(支持最多200,000字符)
- 🎲 随机语句模式: 自动随机变化测试语句,避免风控检测
- ⚡ 配置记忆: 自动保存和加载测试配置
- 🔄 后台运行: 测压任务在服务器后台运行,关闭浏览器不影响
- 📊 历史记录: 完整的测试历史管理和数据可视化
- 📈 实时图表: Chart.js驱动的专业趋势图表
- 📝 详细日志: Winston结构化日志系统
- ✅ 模块化设计 - 清晰的分层架构(MVC)
- ✅ API 文档 - Swagger/OpenAPI 3.0
- ✅ 安全加固 - CORS、频率限制、参数验证
- ✅ Docker支持 - 开箱即用的容器化部署
使用Docker Hub镜像(最快捷)
# 使用docker run
docker run -d \
--name autoceya \
-p 8998:8998 \
-e AUTH_SECRET=your_password_here \
-v $(pwd)/data:/app/data \
-v $(pwd)/logs:/app/logs \
bohesocool/autoceya:latest
# 或使用docker-compose
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
autoceya:
image: bohesocool/autoceya:latest
container_name: autoceya
ports:
- "8998:8998"
environment:
- AUTH_SECRET=your_secure_password_here
volumes:
- ./data:/app/data
- ./logs:/app/logs
restart: unless-stopped
EOF
docker-compose up -d访问: http://localhost:8998
# 1. 克隆项目
git clone https://github.com/bohesocool/autoCeya.git
cd autoCeya
# 2. 安装依赖
npm install
# 3. 配置环境变量
cp .env.example .env
# 编辑 .env 文件,设置 AUTH_SECRET
# 4. 启动服务
npm start访问: http://localhost:8998
使用配置的密钥登录系统
示例配置:
Gemini:
URL: https://generativelanguage.googleapis.com
模型: gemini-1.5-flash
提供商: Gemini
API密钥: 你的Gemini API密钥
OpenAI:
URL: https://api.openai.com
模型: gpt-4
提供商: OpenAI
API密钥: 你的OpenAI API密钥
Claude:
URL: https://api.anthropic.com
模型: claude-3-opus-20240229
提供商: Claude
API密钥: 你的Claude API密钥
固定测压模式:
- 设定一个固定的RPM值
- 可选设置测试时长(分钟)
- 适合测试特定负载下的稳定性
自动测压模式:
- 从起始RPM(默认10)开始
- 每分钟自动增加10 RPM
- 持续增加直到达到承受极限
流式请求 (Stream):
- 使用 Server-Sent Events (SSE) 逐步接收响应
- 可以测量首字节时间(TTFB)
- 更接近实际应用场景
- 适合测试流式输出的性能
非流式请求 (Non-Stream):
- 一次性接收完整响应
- 响应时间为总等待时间
- 适合测试批量处理场景
性能对比:
- 流式请求通常首字节时间更快
- 非流式请求总响应时间可能更短
- 建议根据实际应用场景选择
点击"🚀 开始测压"按钮启动测试
重要特性:
- ✅ 配置会自动保存
- ✅ 测试在服务器后台运行
- ✅ 可以随时关闭页面,稍后回来查看进度
点击"📊 历史记录"查看所有测试记录:
- 完整的测试数据和统计
- 趋势曲线图可视化
- 支持删除和清空记录
系统会自动判定API承受能力极限:
- ✅ 成功率阈值: 低于80%(可配置)
⚠️ 连续失败: 连续失败10次以上(可配置)- ⏱️ 响应超时: 平均响应时间超过150秒(可配置)
| 参数 | 说明 | 默认值 |
|---|---|---|
| AUTH_SECRET | 登录密钥(必填) | your_secure_password_here |
| PORT | 服务器端口 | 8998 |
| DEFAULT_SUCCESS_THRESHOLD | 成功率阈值(%) | 80 |
| DEFAULT_MAX_FAILURES | 最大连续失败次数 | 10 |
| DEFAULT_RESPONSE_TIME_THRESHOLD | 响应时间阈值(ms) | 150000 |
autoMode: {
initialRPM: 10, // 起始RPM
incrementRPM: 10, // 每次增加的RPM
incrementInterval: 60000, // 增长间隔(毫秒)
maxRPM: 1000 // 最大RPM限制
}完整 API 文档:访问 http://localhost:8998/api-docs 查看 Swagger 交互式文档
- POST /api/login - 登录接口
- POST /api/start - 启动测压
- POST /api/stop - 停止测压
- GET /api/status - 获取当前状态
- GET /api/history - 获取历史记录列表
- GET /api/history/:id - 获取单条历史记录详情
- DELETE /api/history/:id - 删除历史记录
- POST /api/history/clear - 清空所有历史记录
- GET /health - 健康检查
- GET /metrics - 系统指标
- Node.js + Express - Web框架
- WebSocket (ws) - 实时通信
- Winston - 日志系统
- Swagger - API文档
- better-sqlite3 - SQLite数据库
- 原生HTML5/CSS3/JavaScript
- Chart.js - 数据可视化
- WebSocket API - 实时数据
分层架构 (MVC)
├── Presentation Layer (表现层)
│ ├── Routes (路由)
│ └── Middlewares (中间件)
├── Business Layer (业务层)
│ ├── Controllers (控制器)
│ └── Services (服务)
├── Data Layer (数据层)
│ └── Database (数据库)
└── Infrastructure Layer (基础设施层)
├── Config (配置)
├── Utils (工具)
└── Logger (日志)
autoCeya/
├── src/ # 源代码目录
│ ├── config/ # 配置管理
│ ├── controllers/ # 控制器层
│ ├── services/ # 服务层
│ ├── routes/ # 路由层
│ ├── middlewares/ # 中间件
│ ├── utils/ # 工具类
│ └── swagger.js # Swagger配置
├── public/ # 前端静态文件
│ ├── login.html # 登录页面
│ ├── dashboard.html # 控制面板
│ ├── history.html # 历史记录列表
│ └── detail.html # 历史记录详情
├── data/ # SQLite数据库目录
├── logs/ # 日志目录
├── server-new.js # 主服务器文件
├── database.js # 数据库管理模块
├── package.json # 依赖管理
├── Dockerfile # Docker配置
├── docker-compose.yml # Docker Compose配置
└── .env.example # 环境变量示例
# 拉取最新镜像
docker-compose pull
# 重启服务
docker-compose up -d# 拉取最新代码
git pull origin main
# 安装依赖
npm install
# 重启服务
npm start- ✅ 务必修改默认密钥: 在
.env中设置强密码 - ✅ 不要提交 .env 文件: 已在
.gitignore中排除 - ✅ 使用HTTPS: 生产环境建议配置SSL证书
- ✅ 限制访问IP: 可通过防火墙限制访问来源
- ✅ 定期更新依赖: 运行
npm audit检查安全漏洞 - ✅ 使用固定版本: 生产环境使用特定版本号而非
latest
- 登录页面: 简洁优雅的渐变背景登录界面
- 控制台: 实时数据展示,关键指标一目了然
- 历史记录: 精美的列表和详情展示
- 趋势图表: 交互式Chart.js图表,完整展示测试过程
欢迎提交Issue和Pull Request!
MIT License
本工具仅用于测试目的,请勿用于非法用途。使用本工具进行API测试时,请确保:
- 你有权限测试目标API
- 遵守API提供商的服务条款
- 不要对他人的服务造成损害
- 合理控制测试强度
如有问题,请提交Issue或联系维护者。
查看详细文档: QUICK_START.md
Enjoy Testing! 🚀