Implement complete UI for admin user usage analytics:
- UserUsage: Main component with state management and data fetching
- UserUsageBarChart: Horizontal bar chart for top users (10/25/50)
- UserUsageSummary: Five summary metric cards (total, spend, avg, power users, low users)
- UserUsageFilters: Tag filters, min/max spend, sort controls
- UserUsageTable: Paginated table with sortable columns
- types.ts: TypeScript interfaces for all components
Integration:
- Added "User Usage" option to UsageViewSelect (admin-only)
- Integrated UserUsage component into UsagePageView
- Connects to /admin/users/daily/activity endpoint via adminUsersDailyActivityCall()
Features:
- Server-side pagination for 1K+ users
- Tag-based filtering (User-Agent:claude-code, etc.)
- Min/max spend thresholds
- Sort by spend/requests/tokens
- Success rate badges with color coding
- Dynamic top N users selector
- Responsive layout with Tremor and Ant Design
Comprehensive validation report covering:
- Backend endpoint structure and functionality (10/10 checks passed)
- Proxy server integration (router properly registered)
- Frontend networking function (correctly implemented)
- Complete API specification and examples
- Testing guide with curl commands
- Security and performance notes
All components validated and ready for use.
Implements /admin/users/daily/activity endpoint for admins to view
usage metrics across all users with Claude Code filtering.
Backend changes:
- New endpoint: GET /admin/users/daily/activity
- Returns summary stats, top N users, and paginated user list
- Supports filtering by tags (e.g., User-Agent:claude-code)
- Supports spend thresholds (min/max)
- Supports sorting by spend/requests/tokens
- Pagination with configurable page size
- Admin-only access with permission checks
Frontend changes:
- Added adminUsersDailyActivityCall() in networking.tsx
- Follows same pattern as team/tag/org daily activity calls
- Supports tag filters, spend filters, sorting, pagination
Tests:
- Unit tests for core functionality
- Tests for filtering and pagination
- Mock-based tests for database queries
Endpoint design follows existing /user/daily/activity pattern:
- Single paginated endpoint
- Returns top users for visualization (bar chart)
- Returns paginated users for table display
- Returns summary metrics (totals, averages, counts)
Use cases supported:
- "Show me Claude Code power users" (filter by tag, sort by spend desc)
- "Show me users spending >$200/mo" (min_spend filter)
- "Show me lowest users" (sort by spend asc)
Next steps for UI:
- Create UserUsage component similar to EntityUsage
- Add "User Usage" option to UsageViewSelect dropdown
- Create bar chart component for top users
- Create table component for paginated user list
Add documentation explaining the difference between model formats:
- `gemini/model` → Gemini API (simple API key)
- `vertex_ai/model` → Vertex AI (GCP credentials)
- `model` (no prefix) → defaults to Vertex AI
This addresses user confusion when models without prefix require
GCP authentication instead of simple API key auth.
Ref #8424
- Add google-cloud-aiplatform as optional dependency in pyproject.toml
- Add 'google' extra for easy installation: pip install litellm[google]
- Improve error messages when Google SDK is not installed to guide users
Fixes#5483
Replace independent auto-incrementing chart versioning with 1-1 sync
to LiteLLM version. This allows users to easily map Helm chart versions
to LiteLLM versions without needing to inspect appVersion.
Changes:
- Remove auto-increment logic that read from OCI registry
- Chart version now equals LiteLLM tag without 'v' prefix (v1.81.0 -> 1.81.0)
- appVersion equals full Docker tag (v1.81.0)
- Update both ghcr_deploy.yml and ghcr_helm_deploy.yml workflows
Before: helm chart 0.1.837 -> user has to guess LiteLLM version
After: helm chart 1.81.0 -> matches LiteLLM v1.81.0
References:
- https://codefresh.io/docs/docs/ci-cd-guides/helm-best-practices/