大模型 API 压测与对比分析工具 —— macOS 桌面应用(Tauri 2 + Rust + React)。
面向 LLM 中转平台运营者:一键压测任意渠道(OpenAI / Claude / Gemini 协议),采集 TTFT / TPOT / RPM / token 吞吐等流式指标,留档、对比、自包含 HTML 报告。
- 三协议一键压测:OpenAI、Claude、Gemini原生流式解析,支持 endpoint 覆盖、自定义 Headers、自定义请求体,中转平台与官方渠道通用
- 流式指标全采集:TTFT / TPOT / E2E、实际 RPM / RPS、token 吞吐、在途并发、延迟分位数(P50/90/95/99),usage 缺失时本地估算兜底
- 实时监控:500ms 快照刷新的指标卡片、RPM 曲线、逐请求日志,暂停 / 恢复 / 停止、自动熔断、token 与费用上限
- 自包含 HTML 报告:单报告 8 张图表(直方图 / 散点 / 吞吐曲线 / 并发曲线 / 失败构成 / token 曲线 / 流式对比 / 分位数表),内联 ECharts,断网可开、可转发
- 对比分析:勾选 2–6 次测试一键对比,参数差异高亮、指标最优最差标注、自动结论,同渠道多次测试输出纵向趋势
- 渠道管理:渠道预设 + 测试连接,Key 本机存储、界面掩码、报告与日志脱敏
从 Releases 下载最新版 .dmg,双击安装即可(macOS 12+,Apple Silicon 与 Intel 均支持)。
需要 Rust 工具链与 Node.js(≥ 18)+ pnpm:
export PATH="$HOME/.cargo/bin:$PATH"
pnpm install
pnpm tauri dev # 开发模式
pnpm tauri build # 产出 .app / .dmg(src-tauri/target/release/bundle/)- 渠道预设:添加渠道(自定义 baseUrl、协议类型、API Key),可先「测试连接」验证
- 新建测试:配置请求数 / 并发 / 负载模式(固定 N / 固定时长 / 匀速 RPM)/ 流式占比 / 模型与 Prompt,启动前需为本次测试强制标注 channel_tag
- 实时监控:观察指标与日志,可暂停 / 恢复 / 停止,异常触发自动熔断
- 报告与对比:完成后查看报告、导出 HTML / CSV / JSONL;历史列表可筛选、克隆复跑、修正标签,勾选多次测试生成对比报告
- TTFT(流式) = 请求发出 → 首个含实际内容的增量事件(空 delta / 角色帧不算)
- 成功 = 2xx ∧ 流正常终止标记 ∧
completion_tokens > 0 - 实际 RPM = 完成请求数 ÷ 有效时长 × 60(剔除预热段)
- 预热:前
warmup_requests个请求只进明细、不进聚合与直方图
src-tauri/src/
├── engine/ 压测引擎:并发池 + 令牌桶限速 + 三负载模式 + 暂停/停止/熔断
│ 单请求计时打点 · HDR 直方图 + 500ms 快照 · 批量落库
├── protocol/ openai / claude / gemini SSE 状态机 + tiktoken 估算兜底
├── report/ Tera 自包含 HTML(单报告 8 图表 + 对比报告),内联 ECharts
├── commands.rs Tauri IPC 命令层
└── models.rs DTO 契约(与 src/types.ts 镜像)
src/
├── pages/ 新建测试 / 实时监控 / 历史 / 日志 / 对比 / 报告 / 渠道预设
├── modals/ channel_tag 强制标注 / 渠道编辑
├── charts/ 应用内与导出报告共用的一份图表配置
└── stores/app.ts 全局状态 + bench:// 事件订阅
详细设计见 docs/ARCHITECTURE.md。
cd src-tauri && cargo test --lib
pnpm exec tsc --noEmit && pnpm build环境要求、代码约定与提交流程见 CONTRIBUTING.md。
MIT © monkeyz6


