Protocoles pour les clients autochtones
SubLane guide : protocoles clients natifs.
Ces paramètres ont été introduits après v0.1.0-rc.1; que la version ne les inclut pas. Utilisez une compilation source jusqu'à ce qu'une version plus récente inclue ce changement.
Les abonnements Codex, Claude, Antigravity et Grok Build et les canaux API sont activés. Claude Messages, Gemini, Responses et Chat Completions sont des formats clients indépendants du fournisseur. Les ressources compatibles avec le modèle sont choisies selon le groupe de la clé, les droits et les règles de routage/repli. Chaque canal API définit son protocole : Messages peut rester natif ou être converti en Chat Completions, Responses ou Gemini. L’intégration SDK publique conserve les limites explicites et les états incomplets. /v1/responses/compact reste réservé à Codex. Les comptes et clients réels nécessitent une validation distincte.
Points de fin et authentification
| Protocole | Point d'arrivée | Pouvoirs |
|---|---|---|
| Claude Messages | POST /v1/messages | x-api-key ou Authorization: Bearer |
| Gemini JSON | POST /v1beta/models/{model}:generateContent | x-goog-api-key, Authorization: Bearerou key paramètre de requête |
| Gemini SSE | POST /v1beta/models/{model}:streamGenerateContent?alt=sse | Même Gemini JSON |
Utiliser une personne SubLane API key. Si plusieurs emplacements de justificatifs sont fournis, ils doivent être d'accord; un en-tête d'autorisation invalide ne peut pas revenir à une autre clé. Les cookies de session de navigateur ne sont pas des identifiants de passerelle. SubLane ne transmet pas les clés client, les cookies ou les chaînes de requête aux fournisseurs.
Utilisation GET /v1/models avec l'authentification du porteur pour découvrir les identifiants de modèle natifs autorisés. Gemini requêtes, le modèle dans l'URL est faisant autorité; un corps model ou stream champ ne peut pas surcharger l'itinéraire. streamGenerateContent retours SSE; alt peut être omise ou réglée sur sse.
Claude exemple
Jeu SUBLANE_URL à l'origine de l'instance SUBLANE_API_KEY à votre clé personnelle. YOUR_MODEL_ID avec un modèle du catalogue:
curl "$SUBLANE_URL/v1/messages" \
-H "x-api-key: $SUBLANE_API_KEY" \
-H 'anthropic-version: 2023-06-01' \
-H 'content-type: application/json' \
--data '{"model":"YOUR_MODEL_ID","max_tokens":1024,"messages":[{"role":"user","content":"Hello"}]}'Ajouter "stream": true pour les messages nommés SSE Le contenu des requêtes autochtones comprend les blocs de système, les outils, les résultats des outils, les contrôles de cache et la configuration de la pensée. Claude-les réponses format conservent les blocs de contenu et les signatures de pensée, sous réserve de la manipulation spécifique au fournisseur de l'exécuteur sélectionné. SSE les événements d'erreur. request-id et X-Request-ID identifier le dossier de requête correspondant.
Gemini exemple
curl "$SUBLANE_URL/v1beta/models/YOUR_MODEL_ID:generateContent" \
-H "x-goog-api-key: $SUBLANE_API_KEY" \
-H 'content-type: application/json' \
--data '{"contents":[{"role":"user","parts":[{"text":"Hello"}]}]}'Pour le streaming, utilisez :streamGenerateContent?alt=sse et curl --no-buffer. Responses contenir natif candidates, parties et pièces détachées usageMetadata; Antigravity's interne response l'enveloppe est enlevée par SDK. Les appels d'outils et les signatures pensées restent dans leur Gemini représentation. Les erreurs utilisent Google-style error.code, error.status et error.message. SSE des morceaux ont data: cadrage sans OpenAI's [DONE] marqueur.
Comportement partagé
- Les membres et les clés activés, l'expiration des clés, les autorisations de mise en commun, les politiques modèles, la disponibilité des comptes, la concordance et les limites des demandes des membres sont revérifiés par les services de passerelle existants.
- Chaque requête vérifie la clé, le membre, le groupe de ressources, la politique de modèles, la capacité et les limites du membre. Les nouvelles requêtes peuvent utiliser un abonnement ou un canal API selon le routage et le repli du groupe. Les conversations existantes gardent leur ressource ; sa désactivation ou son retrait ne déclenche aucun basculement automatique.
- Utilisation de l'affinité de conversation
Session_id; Claude utilise égalementmetadata.user_idlorsque aucune session explicite n'est fournie. Identificateurs sont projetés au membre et au pool. Les demandes sans identifiant d'affinité restent sans session. - L'annulation ferme les travaux en amont et libère les contrats de compte/membre. Les événements terminaux manquants et les événements mal formés ou surdimensionnés sont des échecs, des réponses vides non réussies. Les erreurs de streaming sont assainies après l'envoi des en-têtes.
- Demander l'historique des opérations d'étiquettes
messagesougemini, avec les ID de requête, la latence de premier sortie et l'utilisation de jetons disponibles. Les totaux d'entrée anthropique comprennent les lectures de cache et la création; Gemini l'entrée inclut déjà les jetons en cache, et son total de sortie inclut les jetons de réflexion. Gemini des morceaux d'utilisation sont consommés aprèsfinishReason. - Le corps des requêtes est limité par défaut à 128 MiB (
SUBLANE_MAX_REQUEST_BODY_MB) ; réponses et événements ont des limites distinctes de 8 MiB. Le délai total est de 30 minutes (SUBLANE_GATEWAY_REQUEST_TIMEOUT) et l’attente des en-têtes d’inférence de cinq minutes (SUBLANE_INFERENCE_HEADER_TIMEOUT), y compris pour les protocoles natifs. Les réponses en flux sont transmises progressivement.
Le schéma d'initialisation consolidé inclut les opérations de protocole natif dans l'historique des demandes. Aucun service persistant supplémentaire n'est nécessaire.
Portée et vérification
Cette matrice synthétique couvre Codex, Claude et Antigravity, tous activés à l’exécution. Grok Build et les canaux API sont également activés et disposent de tests distincts, hors de cette matrice de 24 cas :
| Protocole client | Codex compte | Claude compte | Antigravity compte |
|---|---|---|---|
| OpenAI Responses | Testé | Testé | Testé |
| OpenAI Chat Completions | Testé | Testé | Testé |
| Claude Messages | Testé | Testé | Testé |
| Gemini génération | Testé | Testé | Testé |
TestClientProtocolMatrix vérifie 24 combinaisons fournisseur/protocole/flux avec des services simulés. Des tests distincts couvrent Grok Build, les canaux API, les signatures, le cache, les droits, les nouvelles tentatives, l’annulation et les flux incorrects. Ils ne certifient pas tous les outils, modes de raisonnement, champs spécifiques ni parcours de clients réels.
La couverture utilise des comptes synthétiques et des fournisseurs fictifs, y compris des fournisseurs natifs JSON/SSE, outils/penser, traduction entre fournisseurs, autorisation, utilisation, interruption et annulation. Il n'établit pas compte réel complet Claude Code, Gemini Compatibilité CLI ou bureau. Les fonctionnalités natives avancées dépendent du fournisseur sélectionné et SDK chemin de conversion.
Dans API clés → Guide de configuration, choisissez votre client ou API format. Le guide fournit Codex configuration, Cline/OpenAI- configuration compatible et Chat Completions exemples, ou natifs Claude/Gemini demander des exemples, avec l'URL de base correcte et l'en-tête d'authentification. Sélectionnez un modèle dans le pool de la clé. Le guide ne récupère jamais le secret d'une clé; exemples lus SUBLANE_API_KEY de l'environnement client. CC Switch importation rapide soutiens Codex, OpenCode, Claude Code, OpenClaw, Hermès, Gemini CLI et Grok Build.
Gemini CLI 0.37.2 a en outre complété une demande de text-streaming et un aller-retour en lecture seule contre un paramètre de simulation isolé en utilisant une clé synthétique et un modèle. Ceci vérifie le chemin de requête CLI et la consommation de réponse; il ne valide pas l'inférence de l'abonnement réel, chaque fonctionnalité CLI, ou les flux de travail complets des autres clients.
Paramètres de compte de jetons, nombres de messages, fichiers, Gemini Vivre et Antigravity Les protocoles de connexion de bureau ne sont pas mis en œuvre par ce changement. Les actions non soutenues sont rejetées plutôt que traitées comme des demandes de génération. /v1/models catalogue.
Références au protocole: Claude Diffusion, Claude erreurset Gemini génération. Les limites d'acheminement et de compatibilité ont été comparées avec celles de sous-2api et Nouveau API; SubLane conserve sa propre autorisation, son propre cycle de vie et sa propre mise en œuvre de stockage.