deepsite / OPENROUTER_DEBUG.md
dr-data
Fix preview component: eliminate blinking, ensure HTML updates, add smooth transitions
dcd5e1d

πŸ” OpenRouter Model Loading Debug Guide

πŸ› Issue: Cannot load models via OpenRouter

πŸ“Š Debugging Steps Added

I've added comprehensive logging to help identify the issue:

  1. Hook Debugging (/hooks/useOpenRouterModels.ts):

    • Console logs for fetch start/end
    • Response status logging
    • Model count logging
  2. API Route Debugging (/app/api/openrouter/models/route.ts):

    • Request logging
    • API key status logging
    • Success/error logging
  3. OpenRouter Client Debugging (/lib/openrouter.ts):

    • Request headers logging
    • Response status logging
    • Error details logging
  4. Component Debugging (/components/openrouter-model-selector/index.tsx):

    • Render state logging

πŸ”§ Fixes Applied

  1. Fixed Infinite Loop: Removed dependency array issue in useOpenRouterModels hook
  2. Updated Referer: Changed from deepsite.hf.co to localhost:3000 for local development
  3. Enhanced Error Handling: Better error messages and logging

πŸ§ͺ How to Debug

Step 1: Open Browser Console

  1. Go to http://localhost:3000
  2. Open Developer Tools (F12)
  3. Go to Console tab

Step 2: Test Settings Panel

  1. Open the AI chat settings
  2. Toggle "Use Custom OpenRouter Models" ON
  3. Watch console for logs starting with:
    • πŸ”„ (fetch start)
    • πŸ“‘ (request details)
    • πŸ“₯ (response status)
    • βœ… (success) or ❌ (error)

Step 3: Test Model Selector

  1. Click "Select Model" button
  2. Watch console for:
    • πŸ” OpenRouterModelSelector render logs
    • Loading state changes
    • Model count updates

Step 4: Test Direct API

  1. Go to http://localhost:3000/test-openrouter.html
  2. Click "Test API" button
  3. Check both page result and console logs

πŸ” Common Issues to Look For

Network Issues

  • Check Console β†’ Network tab
  • Look for /api/openrouter/models request
  • Status should be 200, not 404/500

CORS Issues

  • Error messages mentioning CORS
  • OpenRouter API blocking requests
  • Referer header issues

API Rate Limiting

  • OpenRouter returning 429 status
  • "Too many requests" errors

Environment Issues

  • Missing environment variables
  • Local development configuration

Code Issues

  • JavaScript errors in console
  • Component not mounting
  • Hook not calling fetch

πŸ“ Expected Console Output

Successful Flow:

πŸ”„ Fetching OpenRouter models...
πŸ“‘ Requesting: http://localhost:3000/api/openrouter/models
πŸ”„ OpenRouter models API called
πŸ”‘ API key provided: false
πŸ“‘ Fetching models from OpenRouter...
πŸ”— Headers: ['Content-Type', 'HTTP-Referer', 'X-Title']
πŸ“₯ OpenRouter API response status: 200
βœ… OpenRouter API returned 200+ models
βœ… Successfully fetched 200+ models from OpenRouter
πŸ“₯ Response status: 200
πŸ“‹ Response data: { success: true, data: [...] }
βœ… Successfully fetched 200+ models
πŸ” OpenRouterModelSelector render: { modelsCount: 200+, loading: false, error: null }

Error Flow Examples:

❌ Error fetching models: Failed to fetch
❌ OpenRouter API error: 403 Forbidden
❌ Network error: fetch failed

🚨 If Still Not Working

Check 1: API Endpoint Accessibility

Try: http://localhost:3000/api/openrouter/models Should return JSON with success: true

Check 2: OpenRouter API Direct

Try: https://openrouter.ai/api/v1/models Should return list of models

Check 3: Network Tab

  • Failed requests (red)
  • CORS errors
  • Timeout issues

Check 4: Console Errors

  • JavaScript compilation errors
  • React component errors
  • Network fetch errors

Let me know what you see in the console and I'll help identify the specific issue! πŸ”§