Includes all changes from this release cycle: - Top header navigation (sidebar removed) - Accounts screen decomposition and visual redesign - Dev/prod environment isolation - Usage Analytics with accurate averages, cost reporting, OpenRouter pricing - Monitor moved to Usage with per-request token/cost tracking - Clickable traffic logs with expandable JSON body viewer - OpenCode IDE config in Quick Setup - API Proxy reorganization (flattened tabs) - CI/CD pipeline fixes (release config, Node version, pnpm alignment) - Repository cleanup (~80MB of binaries removed)
3.6 KiB
3.6 KiB
Proxy Page — UI/UX Improvements
Generated from designer agent analysis of
src/routes/proxy.tsxDate: 2026-04-22
Current Pain Points
- Visual noise: Gradient backgrounds (
bg-gradient-to-br) feel dated and clash with the dark, technical aesthetic - Information overload: All content is visible at once — no progressive disclosure
- Code examples dominate: Large, always-visible code blocks push important controls below the fold
- Inconsistent density: Too much padding in some areas, cramped in others
- Security concern: API key is displayed in plain text with only a basic copy button
- No status context: User can't see which account/model is being used for requests
Proposed Improvements
1. Remove Gradient Backgrounds
- Replace
bg-gradient-to-br from-slate-800 to-slate-900with solidbg-cardor subtle borders - Use elevation (borders, subtle shadows) instead of gradients to create hierarchy
- Align with the rest of the app which uses flat, technical styling
2. Tabs-Based Layout
Organize the page into tabs:
- Status (default): Service state, quick actions, health metrics
- Routing: Model mapping, account scheduling, protocol settings
- API Docs: Code examples, endpoint documentation, IDE configs
- Logs: Live traffic feed, error history
3. Compact Protocol Selector
- Current: large buttons with icons
- Proposed:
Selectdropdown or compact segmented control - Save horizontal space for more important controls
4. Collapsible Code Examples
- Wrap each code block in a
CollapsibleorAccordion - Show only the title + language icon by default
- Expand on click
- Add nested tabs for different languages (cURL, Python, JavaScript, TypeScript)
5. Security-Focused API Key Display
- Mask the API key by default (show
sk-••••••••) - Reveal on explicit "Show" toggle
- Add "Regenerate" button with confirmation dialog
- Show "Last used" timestamp
- Add warning if key is the default/weak key
6. Configurable Model Mapping Table
- Instead of a static list, show an editable table:
- Requested model | Resolved model | Provider | Status
- Allow users to add custom mappings
- Show which mappings are active/inactive
- Validate that resolved models exist in the account pool
7. Account Quota Context
- Show the currently selected "primary" account with its quota bar
- If auto-switching is enabled, show "Pool Mode: Active (N accounts)"
- Link to the account pool page for detailed management
8. Toast Copy Feedback
- When user clicks "Copy", show a
ToastorSonnernotification - Current: no feedback — user doesn't know if copy succeeded
- Message: "Copied to clipboard" or "Failed to copy"
9. Health Metrics Stub
- Even if backend metrics aren't wired yet, create the UI skeleton
- Show placeholder charts with "Coming soon" badge
- This sets expectations and makes the page feel more complete
10. Empty States
- When proxy is stopped, show a clear empty state:
- Icon:
ServerOfffrom lucide - Message: "Proxy is not running"
- Action: "Start Proxy" button prominently displayed
- Icon:
- When no accounts are configured, show a CTA to add accounts
Design Principles
- Density over whitespace: This is a developer tool — show more information per pixel
- Progressive disclosure: Hide advanced options behind tabs/accordions
- Immediate feedback: Every action should have a visible result (toast, spinner, state change)
- Security first: API keys and sensitive data should never be displayed casually