Skip to content

Manual de uso de Switch En desarrollo ​

Primeros pasos

Conecta cualquier cliente OpenAI a Switch

Una vez iniciado, Switch expone localmente un endpoint compatible con la API de OpenAI; basta con cambiar una línea de base_url para que todas las solicitudes se enruten automáticamente a través de Switch.

Integración rápida ​

Una vez iniciado, Switch expone localmente un endpoint compatible con la API de OpenAI en http://localhost:19090/v1 (el puerto predeterminado del gateway de Switch es 19090). Cambia el base_url de tu aplicación/SDK a esta dirección y todas las solicitudes se enrutarán automáticamente a través de Switch. Pon cualquier valor en api_key (por ejemplo, switch); Switch utiliza la provider key de la configuración.

  1. Apunta el base_url del cliente al endpoint local de Switch, pon cualquier valor en api_key (por ejemplo, switch) y realiza las solicitudes con normalidad:

    bash
    curl http://localhost:19090/v1/chat/completions \
      -H "Content-Type: application/json" -H "Authorization: Bearer switch" \
      -d '{"model":"gpt-4o","messages":[{"role":"user","content":"Hello"}]}'
    python
    from openai import OpenAI
    
    client = OpenAI(
        base_url="http://localhost:19090/v1",
        api_key="switch",
    )
    resp = client.chat.completions.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": "Hello"}],
    )
    print(resp.choices[0].message.content)
    javascript
    import OpenAI from "openai";
    
    const client = new OpenAI({
      baseURL: "http://localhost:19090/v1",
      apiKey: "switch",
    });
    const resp = await client.chat.completions.create({
      model: "gpt-4o",
      messages: [{ role: "user", content: "Hello" }],
    });
    console.log(resp.choices[0].message.content);
  2. Con el SDK de OpenAI (Python / Node.js) solo cambias base_url/baseURL y api_key; el resto de la llamada se mantiene igual. Switch utiliza la provider key de la configuración para realizar el enrutamiento real, y el cliente no necesita conocer el proveedor de destino.

Por qué api_key puede tener cualquier valor

Switch actúa como un proxy local y utiliza la provider key real guardada en la configuración para llamar al proveedor de destino. El api_key del lado del cliente solo sirve como marcador de posición; basta con poner switch.
Integración

Uso en herramientas de programación con IA

En todas las herramientas, indica http://localhost:19090/v1 como API Base / dirección del endpoint, y switch como API Key.

Uso en herramientas de programación con IA ​

En todas las herramientas, indica http://localhost:19090/v1 como API Base / dirección del endpoint, y switch como API Key:

Cursor

Ajustes (Ctrl+,) → busca «AI» → cambia «OpenAI API Base» a esa dirección → guarda; el autocompletado y el chat pasarán automáticamente por Switch.

Continue (VS Code)

Edita ~/.continue/config.json y, en cada elemento de model, define "provider": "openai", "apiBase": "http://localhost:19090/v1" y "apiKey": "switch"; en "model" pon deepseek-chat / gpt-4o, etc.

Cherry Studio

Ajustes → Configuración de API → selecciona «OpenAI compatible personalizado» → indica la dirección y la Key → «Probar conexión».

Lobe Chat

Ajustes → Modelos de lenguaje → OpenAI → indica la API Key y la dirección del endpoint.

Tiempo de ejecución

Monitorización, conmutación y streaming

Monitorización de solicitudes ​

La pestaña «Registros» muestra los registros de solicitudes en tiempo real, con los campos: hora (marca de tiempo), modelo, proveedor (destino de enrutamiento real), duración (ms), Token (prompt/completion) y estado (200 / 4xx-5xx). Con «Exportar CSV» puedes exportar los registros de los últimos 7 días para el cálculo de costes.

Conmutación de proveedor con un clic ​

Al hacer clic en el icono de la barra de menús (macOS) / la bandeja del sistema (Windows) puedes: cambiar el «proveedor activo actual», desactivar temporalmente un proveedor (depuración) y ver un resumen del consumo de hoy.

Respuestas en streaming ​

Compatible por completo con las respuestas en streaming SSE, que se transmiten directamente desde el proveedor de destino: tras chat.completions.create(..., stream=True), itera sobre chunk.choices[0].delta.content.

Avanzado

Balanceo de carga

Cuando configuras varios proveedores para un mismo modelo, puedes distribuir las solicitudes por turnos (round-robin) o por peso.

Avanzado: balanceo de carga ​

Cuando configuras varios proveedores para un mismo modelo, puedes distribuir las solicitudes por turnos (round-robin) o por peso:

json
{
  "routing": {
    "rules": [
      {
        "pattern": "deepseek-chat",
        "providers": [
          { "name": "Lurus API", "weight": 70 },
          { "name": "DeepSeek Official", "weight": 30 }
        ],
        "strategy": "weighted_random"
      }
    ]
  }
}
Solución de problemas

Solución de problemas

Despliega el síntoma correspondiente para ver los pasos de resolución.

Solución de problemas ​

"connection refused" — conexión rechazada

Switch no está iniciado o el puerto es incorrecto. Comprueba el proceso y el puerto:

  • Proceso: Windows tasklist | findstr LurusSwitch / macOS·Linux ps aux | grep lurus-switch
  • Puerto: curl http://localhost:19090/v1/models
401 / 403 — fallo de autenticación

La API Key del proveedor está mal configurada. Vuelve a introducirla en la interfaz de configuración y haz clic en «Probar» para verificar la conectividad.

Latencia anormalmente alta
  1. Comprueba en los registros si el enrutamiento llega al proveedor correcto.
  2. Una latencia alta en proveedores extranjeros (OpenAI / Anthropic) es normal (300-1500 ms).
  3. Cambia a un nodo nacional de Lurus API (normalmente < 200 ms).
La aplicación de macOS no responde

Haz clic derecho en la barra de menús → «Salir» y reinicia, o ejecuta en la terminal:

bash
pkill -f LurusSwitch && open -a "Lurus Switch"

Siguientes pasos ​

Próximos pasos

Powered by Lurus Technologies