Changelog
What's new in llm-observer
LLM Observer v2.0.0
See the assets below to install.
Release v1.12.0
Release v1.12.0 - 2026-04-02
Added
- Optimization Engine v2 — 20+ rules analyze your AI usage patterns and produce specific, actionable recommendations with estimated dollar savings.
- Optimization score (0-100) showing how well-optimized your usage is
- Five rule categories: model selection (4 rules), context efficiency (5), provider optimization (3), workflow efficiency (4), agent optimization (4)
- Per-recommendation config snippets (copy-pasteable IDE settings)
- Category and impact level filtering on the Optimize page
- Savings-per-category breakdown chart
- Optimization result caching (1-hour TTL, invalidated on new data)
- Optimization score badge on Overview page
- Optimization insights in AI Wrapped monthly reports
- Tip indicators on Sessions page for sessions that trigger rules
Changed
- Redundant pattern detection (from v1.10.0) consolidated into the optimization engine as rule C3
- Subscription value insight (from v1.8.0) consolidated as rule P2
Breaking changes
- None
— ROI Analysis + Forecasting
Git-correlated ROI metrics (cost per commit, lines per dollar, efficiency score). Spend forecasting with scenario analysis. Migration calculator with quality warnings.
— Subagent Observability
Subagent tree view for Claude Code. Agent type classification (Explore/Plan/Execute/Validate). Tool usage analytics with cost by operation. Redundant pattern detection.
— Session Explorer
Zero-config session parsing for Claude Code, Cursor, and Aider. Browse every AI session sorted by cost. Incremental parsing. Agentic vs interactive classification.
— AI Wrapped
Monthly and yearly spending reports. Shareable visual cards (1200x630px). Four insight algorithms: model optimization, cache efficiency, subscription value, budget compliance. Privacy toggles.
— Release
Version 1.6.0 release.
— Network Monitor
Per-app AI cost attribution via OS-level network detection. New Apps dashboard page. Subscription-mode detection. Custom app naming.
— Budgets + Alerts
Per-provider and per-model budgets. Three-threshold alerts (80/90/100%). Kill switch for proxy requests. Desktop notifications. Slack webhook integration.
— Dashboard Polish
Unified Control Room polishing and precise subscription proration.
— Unified Dashboard + Subscriptions
One page showing API spend + manual subscription costs. Pre-populated templates for 10+ AI services. Setup wizard. Subscription proration.
— OpenAI Usage API Sync
OpenAI admin API integration. Multi-provider aggregated dashboard. Provider filter on Sync page.
— Anthropic Usage API Sync
Add your Anthropic Admin API key for billing-accurate spend tracking. Background polling every 60 seconds. Sync dashboard with provider status cards.
— Provider Error Forwarding
402/429 errors from providers passed through with _source metadata.
— Foundation
Database migrations, AES-256-GCM encryption, comprehensive test suite, proxy with request logging, budget guard middleware.
— Budget Guard V2
Pre-estimation blocks expensive requests before money is spent. Safety buffer prevents overshoot. Three estimation presets. Enhanced 429 responses with suggested actions.
— Package fixes, README, routing
What's changed since v1.0.0
🐛 Bug fixes
- Fixed duplicate
upgradecommand crashing CLI on startup (Error: cannot add command 'upgrade' as already have command 'upgrade') - Fixed /api/settings/alert-rules returning 404 (settings router now correctly mounted at /settings)
- Fixed Requests page white crash screen
(
TypeError: Cannot read properties of undefined (reading 'length')) - Fixed SSE router event forwarding typo
- Resolved pricing sync bugs and query error handling
📦 npm package improvements
- Added README.md to published package (was missing in v1.0.0)
- Expanded keywords from 5 → 20 for better npm search discoverability
- Improved package description
- Moved better-sqlite3 from dependencies → devDependencies (eliminates native binary compilation on user install)
- Fixed bin field path warning during npm publish
- Added bugs URL and homepage fields
🏗️ Refactoring
- Settings router mounted at /settings prefix (breaking for any direct API callers)
- CLI metadata and routing improvements
- Package.json author, repository, engines fields cleaned up
⬆️ Upgrade
npx llm-observer@latest start
or
npm update -g llm-observer
Full changelog: https://github.com/Ranjitbehera0034/llm-observer/compare/v1.0.0...v1.0.1
— LLM Observer: Initial Public Release
🚀 LLM Observer is live on npm
Privacy-first, local-only LLM cost tracking for developers. Your API keys, prompts, and responses never leave your machine.
Install
npx llm-observer start
Proxy starts on port 4000. Dashboard opens at http://localhost:4001.
What's included
Proxy (port 4000)
- Intercepts and forwards requests to OpenAI, Anthropic, Google Gemini, Mistral, Groq, and any local/custom OpenAI-compatible endpoint (Ollama etc.)
- Token counting and cost calculation for 80+ models across 11 providers
- Streaming SSE support for all providers
- Budget guard — blocks requests when daily spend limit is hit
- Rate limit guard — configurable per-project request throttling
- Anomaly detection — fires alert when spend spikes 5× rolling average
- Request tagging via x-llm-observer-tags header
Dashboard (port 4001)
- Control Room — real-time spend counter, stat cards, 7-day cost trajectory chart
- Live Traffic — SSE-powered request log with filters by provider, model, status
- Trace Detail — full request/response inspection, token breakdown, cost per call
- Cost Optimizer — duplicate prompt detection, model downgrade suggestions
- Projects — multi-project cost isolation with per-project budgets
- Alerts — webhook rules for budget thresholds (Slack, Discord, any HTTP)
- Settings — API key management for all 6 providers
CLI
- llm-observer start / stop / status
- llm-observer stats / logs / export
- llm-observer projects list/create
- llm-observer budget set
- llm-observer upgrade (Lemon Squeezy + Razorpay India)
- llm-observer activate <key>
Database
- SQLite at ~/.llm-observer/data.db — fully local
- 84 models pre-seeded with current pricing
- Versioned migration system
- 7-day log retention (free tier)
Quick start
Point your OpenAI client at the proxy:
baseURL: 'http://localhost:4000/v1/openai'
Point your Anthropic client:
baseURL: 'http://localhost:4000/v1/anthropic'
Links
- npm: https://www.npmjs.com/package/llm-observer
- Docs: https://github.com/Ranjitbehera0034/llm-observer#readme