Fleeexdocs

Revenir au SDK OpenAI brut

Le protocole est iso-OpenAI : vous pouvez vous passer du SDK et pointer le client officiel OpenAI sur Fleeex.

@fleeex/sdk n'est jamais un verrou. Le protocole est iso-OpenAI : vous pouvez donc vous passer complètement du paquet et pointer le SDK OpenAI officiel sur l'URL de base Fleeex. Chaque requête est identique, à l'octet près, à ce qu'envoie @fleeex/sdk, et un test de non-régression le vérifie précisément.

import OpenAI from "openai";
 
const client = new OpenAI({
  apiKey: process.env.FLEEEX_API_KEY!,
  baseURL: "https://api.fleeex.dev/v1", // noter le /v1 final
  defaultHeaders: { "x-fleeex-user": "user-123" },
});
 
const completion = await client.chat.completions.create({
  model: "nova-lite",
  messages: [{ role: "user", content: "Bonjour !" }],
});

Ce que vous abandonnez

Par rapport à @fleeex/sdk, passer au client brut signifie :

  • Vous gérez la connexion. baseURL doit inclure /v1, et vous posez vous-même x-fleeex-user sur chaque requête.

  • Le 402 est plus difficile à exploiter. Il arrive sous forme d'OpenAI.APIError (status === 402). Le lien de rechargement est dans le corps de la réponse, mais le SDK OpenAI n'expose que le champ error du corps : topupUrl n'est donc pas facilement accessible. @fleeex/sdk le remonte dans PaymentRequiredError.topupUrl pour vous.

  • Pas d'aides de facturation. getBalance(), getConnection() et getUsageSummary() ne font pas partie du SDK OpenAI : appelez les routes vous-même, avec la même clé bearer et le même x-fleeex-user. Elles se trouvent à la racine, et non sous /v1 :

    AideRoute
    getBalance()GET /balance
    getConnection()POST /connect, où redirectUri voyage dans le corps pour rester hors des journaux d'accès
    getUsageSummary()GET /usage/summary

Vous n'abandonnez rien du côté des modèles : models.list() et models.retrieve() sont de simples appels OpenAI qui passent déjà par ce client. Voir Choisir un modèle.

base_url en un coup d'œil

Clientbase_urlx-fleeex-user
@fleeex/sdk (option baseURL)racine, sans /v1 (par défaut https://api.fleeex.dev)posé pour vous à partir de userId
SDK OpenAI brutavec /v1 (https://api.fleeex.dev/v1)vous le posez vous-même

Tout le reste (corps des requêtes, streaming, forme des réponses) est identique.