# LiteLLM Dashboard — Open WebUI Tool A simple, three-function Open WebUI Tool for checking LiteLLM proxy health, cost breakdowns, and recent request history. ## Functions ### `litellm_health` Check LiteLLM proxy health and authentication status. Returns which models are healthy/unhealthy, their rate limits, and any auth errors. ### `litellm_cost` Get LiteLLM cost breakdown for a date range. Returns per-model and per-day spend, token counts, cache hit rate, and request stats. ### `litellm_history` Get recent LiteLLM request history. Returns the most recent N requests with model, call type, status, duration, token counts, cache hit %, and per-request cost. Useful for understanding which models are being called and how much individual requests cost. **Parameters:** - `limit` (int, 1-50, default 20): Number of recent requests to show - `show_cost` (bool, default true): Include per-request cost - `show_failed` (bool, default true): Include failed requests. Set false to hide auth failures, routing errors, and probe noise. **Cost awareness:** This function hits `/spend/logs` which returns all historical logs. For large deployments, this can be a heavy query. Use reasonable `limit` values. ## Valves (Configuration) | Valve | Default | Purpose | |-------|---------|---------| | `litellm_url` | `http://localhost:4000` | LiteLLM proxy base URL | | `litellm_master_key` | (empty) | LiteLLM master API key (password field) | Both valves are passed at runtime — no hardcoded keys. The tool is portable to any LiteLLM proxy instance. ## Installation 1. Copy `litellm_dashboard.py` to your Open WebUI Workspace or import via Admin → Tools 2. Configure the two valves with your LiteLLM proxy URL and master key 3. Enable the tool on a per-model or per-chat basis ## Requirements - `requests` (standard pip package) - Open WebUI 0.4.0+ - A running LiteLLM proxy instance ## Design Principles - **Three functions, that's it.** No scope creep. - **Portable.** No hardcoded URLs or keys. - **Token-efficient.** Strips `litellm_metadata` (~2KB/model) from health responses. Formats cost data as readable text, not raw JSON dumps. - **General-purpose.** Works with any LiteLLM proxy instance. - **Read-only.** GET endpoints only. No mutations, no risk. ## Documentation - **[ARCHITECTURE.md](ARCHITECTURE.md)** — Full architecture and design doc: API endpoints, response processing, stripped fields, error paths, future considerations. - **This README** — Quick reference: install, functions, valves, design principles. ## License MIT