最近在 M2 上折腾了一圈,Qwen 从小到大跑了一遍,但总感觉缺一个趁手的快速测试工具。用常规的对话工具感觉有点重,或者看 token/s 费劲,索性自己 vibe 了一个,还能当个 apikey 存储器,分享下
ModelApiTester — 填地址、发消息、看结果,支持是否开启上下文

核心功能:
- 支持 OpenAI / Anthropic / Gemini 三种 API 格式,自动适配
- 流式输出 + 完成后 Markdown 渲染(公式、视频都能渲染)
- 每条回复能看到 prefill 耗时、decode 耗时、生成速度 tok/s 、总 token 数,对比模型性能很直观
- 多模态图片上传,文件附件
- 内置 32 条预设提示词,8 个维度(推理/代码/数学/指令遵循/创意写作/多语言/常识/安全)快速测模型能力,点一下就填进输入框,不用每次自己想 prompt
- 会话和配置存 SQLite ,刷新不丢
架构上:Rust 写了一层共享 core (业务逻辑 + SQLite ),上层接两个壳 —— axum HTTP 服务器和 Tauri 桌面应用,前端是同一套 Vue 3 。所以一套代码三种用法:
- 服务器部署 — 编译成单二进制 + 前端静态文件,丢服务器
./mat-server就跑起来了 - 桌面应用 — Tauri 打包成单文件,双击即用,数据存在本地
~/.mat-desktop/ - 源码编译 — 本地开发热更新
好处是核心逻辑只维护一份,加功能三个端同时生效;部署端也灵活,想放服务器长期保存就部署服务端+前端,想本地跑就下个桌面版。