Native desktop GUI app (C++) API tester to audit many LLM API keys in one run.
It measures:
- Auth/model-list reachability
- Rate/quota/limit headers returned by providers
- Available model list + sampled catalog
- Working vs failing models (real probe requests)
- Prompt test quality for reasoning, coding, and AX UI-tree interpretation
- Request-level latency, status, snippets, and raw logs
- Full export reports (TXT + JSON)
- OpenRouter
- Google AI Studio
- Mistral
- Vercel AI Gateway
- Groq
- Cohere
- AI21
- GitHub Models PATs:
chatgpt,chatgpt5,deepseek,jamba
src/main.cpp: GUI + key management + run/export controlssrc/audit_engine.*: provider audit logic and measurementssrc/report_writer.*: TXT/JSON report generationconfig/api_keys.json: saved keys (created at runtime)reports/: exported reports
- CMake 3.21+
- Ninja (recommended)
- C++20 compiler
curldev package- Internet access for FetchContent dependencies (raylib + nlohmann/json)
cmake --preset native-release
cmake --build --preset build-native-release
./build/native-release/api_testerInstall Zig, then use presets:
cmake --preset zig-linux-x86_64
cmake --build --preset build-zig-linux-x86_64
cmake --preset zig-linux-aarch64
cmake --build --preset build-zig-linux-aarch64
cmake --preset zig-windows-x86_64
cmake --build --preset build-zig-windows-x86_64
cmake --preset zig-macos-aarch64
cmake --build --preset build-zig-macos-aarch64If you need a different target triple, pass your own:
cmake -S . -B build/custom \
-G Ninja \
-DCMAKE_TOOLCHAIN_FILE=toolchains/zig-toolchain.cmake \
-DZIG_SYSTEM_NAME=Linux \
-DZIG_TARGET=x86_64-linux-musl
cmake --build build/custom- On startup, set and apply a Working Directory in the GUI.
- Everything is loaded/saved under that selected directory:
config/api_keys.jsonreports/llm_api_audit_*.txtreports/llm_api_audit_*.jsonlogs/llm_api_runlog_*.log
Run Full Auditperforms live API calls and writes a run log automatically.- Report files include API keys in plaintext by design (for full traceability). Keep them private.
Rotate any key that was shared in chat or saved into report files you distribute.