Spaces:
Running
Running
Commit History
-
Update NVIDIA NIM models - keep top 5, add minimax-m2.7 Running
ef22b95
-
Fix Silicon Flow model IDs with correct API names
24b9325 -
Keep only 5 best Silicon Flow models for free tier
5bba595 -
Add high-rate-limit Silicon Flow models for free tier usage
c9c8b95 -
Add routing debug log to trace provider resolution.β
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>65739aa
-
$(cat <<EOFβ
Add Groq provider support with ultra-fast inference models. Groq API key validated and working. Models added: - groq/llama-3.3-70b-versatile (fast, 70B reasoning) - groq/llama-3.1-8b-instant (fastest, 8B general) - groq/qwen3-32b (fast, reasoning capable) Files modified: - config/provider_catalog.py: Added GROQ_DEFAULT_BASE and groq provider descriptor - providers/defaults.py: Re-export GROQ_DEFAULT_BASE - config/settings.py: Added groq_api_key and provider_is_configured check - providers/registry.py: Added _create_groq factory - providers/groq/client.py: New provider client - providers/groq/__init__.py: New provider init - core/model_capabilities.py: Registered groq models - api/routes.py: Added groq models to REQUESTED_PROVIDER_MODELS - .env: Added GROQ_API_KEY Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> EOF )98fdd46 -
$(cat <<EOFβ
Update Cerebras model list based on API test results. Cerebras key only has access to llama3.1-8b currently. qwen-3-235b-a22b-instruct-2507 exists but is rate-limited. zai-glm-4.7 and gpt-oss-120b are not accessible with this key. Also added all models to CEREBRAS_MODEL_MAP for flexibility. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> EOF )0ba585f -
$(cat <<EOFβ
Fix model ID format for Cerebras and Silicon Flow providers. Cerebras API expects bare model IDs (e.g. "qwen-3-235b-a22b-instruct-2507") not the full "provider/model" format. Strip cerebras/ prefix before sending. Silicon Flow API similarly expects bare model IDs. Strip silicon/ prefix. Also updated REQUESTED_PROVIDER_MODELS and MODEL_CAPABILITIES to use correct ref format (cerebras/qwen-3-235b-a22b-instruct-2507, etc.). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> EOF )58a3721 -
Add Cerebras and Silicon Flow models to REQUESTED_PROVIDER_MODELSβ
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>0223890 -
Add Cerebras and Silicon Flow provider supportβ
- Cerebras: qwen/qwen-3-235b-a22b-instruct-2507 (Qwen 3 235B) - Silicon Flow: Qwen3.6-35B/27B, Qwen3.5-35B/27B (VLM multimodal), Gemma-4-26B/31B reasoning models - Both use OpenAI-compatible /chat/completions via OpenAIChatTransport - API keys: CEREBRAS_API_KEY, SILICON_API_KEY Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>43ea069 -
Extend session visibility in admin dashboard with configurable retentionβ
- Add retention_seconds param to SessionTracker (default 30min) - Sessions now stay visible 30min after last request instead of 2min - Add SESSION_RETENTION_MINUTES env var for configuration - Show Active/Idle status in admin UI (<5min vs >5min idle) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>6339a53 -
Implement image support in proxy with vision-aware routingβ
- Add AnthropicβOpenAI image block conversion with size validation - Update ModelCapabilities with granular vision support fields - Support base64-encoded images with memory optimization - Add 20MB image size limit guard in conversion - Clear base64 data from request blocks to reduce memory footprint - Update mistral-large-3-675b model entry with vision capabilities - Enable vision-aware model routing for image requests Closes: image upload support in Claude Code proxy Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>574e4e7 -
NIM speed optimization β adaptive rate limiting and increased throughputβ
- Add AdaptiveRateLimiter with auto-backoff on 429s (starts at 100 req/min, backs off to 10, recovers gradually) - Increase NIM rate limit to 100 req/min with 40 max concurrency (configurable via NIM_RATE_LIMIT, NIM_MAX_CONCURRENCY) - Tighten NIM timeouts: connect=8s, first_chunk=20s, fallback_first_chunk=12s - Lock-free fast path in StrictSlidingWindowLimiter (reduces contention under load) - Faster retry delays: base=0.3s, max=20s, jitter=0.1s - Max out HTTP connection pool: 100 keepalive, 500 connections, 5s expiry - Aggressive HTTP pool warmup on startup (forces TCP+TLS connection establishment) - Record 429s to ModelHealthTracker for adaptive recovery - Update CLAUDE.md with per-provider health params and session cleanup notes Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>aa9c0b0
-
Fix stale sessions in admin dashboard and improve auto-routing healthβ
- Add session cleanup background task (runs every 60s) to remove inactive sessions - Wire cleanup loop into AppRuntime startup/shutdown lifecycle - Per-provider health parameters: NIM gets tighter TTL (15s/2 failures), Zen looser (60s/5) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>188ffa9 -
Optimize auto routing: Zen unlimited, smarter fallback skippingβ
- Zen provider gets 9999 req/min scoped limiter (no rate limit wait) - Silent skip for blocked NIM providers (no failure penalty) - Zen blocked check uses debug instead of warning level - Minor ruff fixes (quoted types, ternary style) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>9358a6f -
Track sessions via X-Session-ID header for accurate admin dashboardβ
Claude Code --session-id <uuid> sends X-Session-ID on every request. Use this header as the session identifier instead of inferring from client IP (gateway_<ip>), which is unreliable when multiple sessions share an IP. Fall back to gateway IP for non-session-ID requests. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>948c8f9 -
Add free Zen models: big-pickle, ring-2.6-1t-free, nemotron-3-super-freeβ
Only free tier models that are Claude Code capable per opencode.ai Zen API. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>04fcbd7 -
Speed up NIM provider with failure tracking and faster timeoutsβ
- Add ModelHealthTracker for per-model failure tracking (30s TTL) - Faster timeouts: connect=10s, first_chunk=30s, fallback=20s - Auto model pre-checks health before attempting requests - Record failures on timeout/rate-limit for smart fallback - Skip unhealthy models in both router and services Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>a5ea640
-
Speed optimizations and enhanced auto-model fallback routingβ
- Connection pool tuning: increased max_connections (100β200), max_keepalive (20β50), reduced keepalive_expiry (30sβ15s) - NIM concurrency: increased max_concurrency for better throughput - Faster timeouts: connect (30β15s), first_chunk (60β45s), fallback (60β30s) - Retry backoff: reduced base_delay (1β0.5s), max_delay (60β30s) - New trivial request fast-path for hi/ok/status checks - Auto model now routes to all 7 NIM models by default - Pre-flight rate limit check before trying each candidate - Timeout/transient errors trigger automatic fallback to next model - Import cleanup for httpx/asyncio at module level Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>ebba9d6 -
Performance optimizations for faster proxy routingβ
- Remove cleanup from hot path in session tracking - Skip _cleanup_old_sessions on every track_request call - Add track_request_async for contexts needing async guarantees - Add provider warmup on startup to eliminate cold-start penalty - Pre-establish HTTP connections before first request Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>49813da -
Display admin dashboard on root pageβ
- Root "/" now shows admin dashboard instead of JSON - Uses same template as /admin endpoint - Auto-refresh every 10 seconds Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>1985e64 -
Track sessions by gateway client IPβ
- Add _get_client_ip() to detect gateway/proxy requests - Track sessions only when X-Forwarded-For, X-Real-IP, X-Client-IP, or Via headers present - Each unique client IP behind a gateway = one session - Direct connections are not tracked Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>f56589d -
Fix: use sync version of track_request to avoid SyntaxErrorβ
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>b5bd2a8 -
Fix: sessions tracking now works correctly in dashboard and JSONβ
- Added `track_request` calls in services.py for both single-model and fallback paths - Sessions now show in `/admin` and `/api/admin/sessions` - Added `/` root endpoint to show active sessions count Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>ef123a8 -
Add admin dashboard for session monitoringβ
- Create api/admin.py with /admin and /api/admin/sessions endpoints - Add Bootstrap-styled templates/admin.html dashboard - Auto-refresh every 10 seconds for real-time monitoring - Shows session info, provider load, and summary stats Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>f3220aa -
Add smart task-aware routing (Phase 1)β
- core/model_capabilities.py: Model capability registry - core/task_detector.py: Detect task requirements from requests - core/chain_engine.py: Multi-model pipeline engine (placeholder) - api/model_router.py: Add resolve_with_task_awareness method Now 'auto' model can detect coding/reasoning and route to best model.4974012 -
Performance optimizations for proxy speed and shared sessionsβ
- Per-provider rate limiting: Zen gets unlimited, NVIDIA NIM gets 40/min - Higher Zen concurrency: 4x max_concurrency for fast minimax model - Connection pool tuning: Keepalive connections for faster reuse - Session tracker: Fair resource sharing across Claude Code instances - Smart auto-routing: Prioritize Zen (no limits), then by load Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>cc3287d -
Remove groq/cerebras, add zen model
d6a1875 -
Deploy claude-code-nvidia proxy to Hugging Face Spacesβ
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>0157ac7