Skip to content

Manuel d’utilisation de Switch En développement ​

Démarrage

Connecter n’importe quel client OpenAI à Switch

Une fois lancé, Switch expose localement un point de terminaison compatible avec l’API OpenAI ; il suffit de modifier une ligne base_url pour que toutes les requêtes soient automatiquement routées par Switch.

Intégration rapide ​

Une fois lancé, Switch expose localement un point de terminaison compatible avec l’API OpenAI http://localhost:19090/v1 (le port par défaut de la passerelle Switch est 19090). Modifiez le base_url de votre application/SDK vers cette adresse, et toutes les requêtes seront automatiquement routées par Switch. Renseignez n’importe quelle valeur pour api_key (par exemple switch) ; Switch utilise la clé de provider définie dans la configuration.

  1. Pointez le base_url du client vers le point de terminaison Switch local, renseignez n’importe quelle valeur pour api_key (par exemple switch), puis envoyez vos requêtes comme d’habitude :

    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. Avec le SDK OpenAI (Python / Node.js), il suffit de modifier base_url/baseURL et api_key ; les autres appels restent inchangés — Switch effectue le routage réel à l’aide de la clé de provider définie dans la configuration, et le client n’a pas besoin de connaître le fournisseur en aval.

Pourquoi api_key peut prendre n’importe quelle valeur

En tant que proxy local, Switch utilise la véritable clé de provider enregistrée dans la configuration pour appeler le service en aval. Côté client, api_key ne sert que de valeur de remplacement ; il suffit de renseigner switch.
Intégration

Utilisation dans les outils de programmation IA

Pour tous les outils, renseignez http://localhost:19090/v1 comme API Base / adresse de l’interface, et switch comme API Key.

Utilisation dans les outils de programmation IA ​

Pour tous les outils, renseignez http://localhost:19090/v1 comme API Base / adresse de l’interface, et switch comme API Key :

Cursor

Paramètres (Ctrl+,) → rechercher « AI » → modifier « OpenAI API Base » vers cette adresse → enregistrer ; la complétion et les conversations passent automatiquement par Switch.

Continue (VS Code)

Éditez ~/.continue/config.json ; pour chaque entrée de modèle, définissez "provider": "openai", "apiBase": "http://localhost:19090/v1", "apiKey": "switch", et renseignez "model" avec deepseek-chat / gpt-4o, etc.

Cherry Studio

Paramètres → Configuration de l’API → choisir « OpenAI compatible personnalisé » → renseigner l’adresse et la clé → « Tester la connexion ».

Lobe Chat

Paramètres → Modèles de langage → OpenAI → renseigner l’API Key et l’adresse de l’interface.

Runtime

Surveillance, bascule et streaming

Surveillance des requêtes ​

L’onglet « Journaux » permet de consulter les journaux de requêtes en temps réel, avec les champs : heure (horodatage), modèle, fournisseur (cible de routage réelle), durée (ms), Token (prompt/completion), statut (200 / 4xx-5xx). « Exporter en CSV » permet d’exporter les enregistrements des 7 derniers jours pour les statistiques de coûts.

Bascule de fournisseur en un clic ​

Un clic sur l’icône de la barre de menus (macOS) / la zone de notification système (Windows) permet de : changer de « fournisseur actif courant », désactiver temporairement un fournisseur (débogage) et consulter l’aperçu de la consommation du jour.

Réponses en streaming ​

Les réponses en streaming SSE sont entièrement prises en charge et relayées en aval : après chat.completions.create(..., stream=True), itérez sur chunk.choices[0].delta.content.

Avancé

Répartition de charge

Lorsqu’un même modèle est configuré avec plusieurs fournisseurs, la répartition peut se faire par round-robin ou selon des pondérations.

Avancé : répartition de charge ​

Lorsqu’un même modèle est configuré avec plusieurs fournisseurs, la répartition peut se faire par round-robin ou selon des pondérations :

json
{
  "routing": {
    "rules": [
      {
        "pattern": "deepseek-chat",
        "providers": [
          { "name": "Lurus API", "weight": 70 },
          { "name": "DeepSeek Official", "weight": 30 }
        ],
        "strategy": "weighted_random"
      }
    ]
  }
}
Dépannage

Dépannage

Dépliez le symptôme correspondant pour voir les étapes de résolution.

Dépannage ​

« connection refused » — connexion refusée

Switch n’est pas lancé ou le port est incorrect. Vérifiez le processus et le port :

  • Processus : Windows tasklist | findstr LurusSwitch / macOS·Linux ps aux | grep lurus-switch
  • Port : curl http://localhost:19090/v1/models
401 / 403 — échec d’authentification

La clé d’API du fournisseur est mal configurée. Saisissez-la de nouveau dans l’interface de configuration et cliquez sur « Tester » pour vérifier la connectivité.

Latence anormalement élevée
  1. Vérifiez dans les journaux que le routage atteint bien le bon fournisseur.
  2. Une latence élevée pour les fournisseurs étrangers (OpenAI / Anthropic) est normale (300-1500 ms).
  3. Basculez sur les nœuds nationaux de Lurus API (généralement < 200 ms).
Application macOS qui ne répond plus

Faites un clic droit sur l’icône de la barre de menus puis « Quitter », et relancez ; ou exécutez dans le terminal :

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

Prochaines étapes ​

Étapes suivantes

Powered by Lurus Technologies