static audit · 2026-10-26T04:02:10.825Z

danny-avila/LibreChat

120 source files scanned · 2 LLM call site(s) · ~8% of LLM spend looks recoverable (static heuristics)

$13.5per 10k runs today (gemini-2.5-flash, ~2000 prompt tokens)
$12.42per 10k runs with fixes applied

badge   ![TokenZero audit](https://tokenzero.sh/v1/badge/audit/aud_pt5ubYXHhOXexrM8EVhgWg.svg)

repo badge   [![LLM spend audited by TokenZero](https://tokenzero.sh/v1/badge/repo/danny-avila/LibreChat.svg)](https://tokenzero.sh/audit/danny-avila/librechat)

Models referenced

gemini-2.5-flash-image ×1

Findings

SeverityWhereFindingEst.
mediumapi/server/controllers/agents/openai.js:1039LLM call inside a loop
Per-item calls repeat the full prompt prefix for every element. If items are independent and latency-tolerant, the provider Batch API is 50% cheaper, and OpenAI Flex processing (`service_tier: "flex"`) gives the same 50% on ordinary calls without restructuring; if the prefix is shared, caching pays off immediately.
Fix: Batch where possible, or set `service_tier: "flex"` on OpenAI calls that can wait; otherwise keep the shared prefix cache-formatted (TokenZero does this automatically).
25%

Fix all of it with one line

OPENAI_BASE_URL=https://tokenzero.sh/v1
ANTHROPIC_BASE_URL=https://tokenzero.sh

Keys pass through untouched. Cache formatting and exact caching are on by default; cascade routing stays opt-in. How it works