L’OpenAI Agents SDK con un base URL personalizzato
Passa all’SDK questo client, impostalo sulle chat completions e disattiva il tracing: i tuoi agenti useranno i modelli Claude, GPT e Grok con la tua chiave AIGROW.
Hai già un codice? Riscattalo su Accesso API, poi crea una chiave.
Python, prima di creare un agente
from openai import AsyncOpenAI
from agents import (
Agent,
Runner,
set_default_openai_api,
set_default_openai_client,
set_tracing_disabled,
)
client = AsyncOpenAI(base_url="https://aigrow.gg/v1", api_key="ag_your_key_here")
set_default_openai_client(client, use_for_tracing=False)
set_default_openai_api("chat_completions")
set_tracing_disabled(True)
agent = Agent(name="Assistant", model="claude-opus-5.5")
result = Runner.run_sync(agent, "Reply with the word ready")
print(result.final_output)Sostituisci ag_your_key_here con una chiave presa da Accesso API.
Dove si trova l'impostazione
- Pacchetto Python
pip install openai-agents
Oppure un agente alla volta
OpenAIChatCompletionsModel imposta un singolo agente sulle chat completions tramite il suo client e lascia invariate le impostazioni predefinite dell’SDK.
from openai import AsyncOpenAI
from agents import Agent, OpenAIChatCompletionsModel, set_tracing_disabled
set_tracing_disabled(True)
client = AsyncOpenAI(base_url="https://aigrow.gg/v1", api_key="ag_your_key_here")
agent = Agent(
name="Assistant",
model=OpenAIChatCompletionsModel(model="gpt-6-astra", openai_client=client),
)Oppure con le variabili d’ambiente
Il client OpenAI legge da solo queste due variabili, e l’ultima disattiva il tracing. Il tuo codice chiama comunque set_default_openai_api("chat_completions") prima della prima esecuzione.
export OPENAI_BASE_URL=https://aigrow.gg/v1
export OPENAI_API_KEY=ag_your_key_here
export OPENAI_AGENTS_DISABLE_TRACING=1Quale modello usare
Inserisci l'id esattamente come è scritto qui.
- Claude Opus 5.5
claude-opus-5.5 - È l’impostazione predefinita in ogni blocco di questa pagina e il modello Claude più economico qui per token inviato e ricevuto. Contesto: 1.000.000 token.
- Grok 4.7
grok-4.7 - Il prezzo di output più basso qui. Il suo contesto è la metà di quello dei modelli Claude. Contesto: 500.000 token.
- GPT-6 Astra
gpt-6-astra - Per un modello GPT. Costa per token quanto Fable, più di Opus. Contesto: 1.050.000 token.
- Claude Fable 5.1
claude-fable-5.1 - Costa più di Opus per token. Confronta i due sulla classifica di coding prima di passare all’altro. Contesto: 1.000.000 token.
Il listino prezzi riporta ogni id con la sua tariffa in crediti, i prezzi dell'API di Claude riportano i prezzi di listino e la classifica per il coding confronta i modelli su prompt di programmazione.
Verifica che funzioni
Prima la chiave da sola, poi OpenAI Agents SDK con la chiave.
La chiave
Richiedi l'elenco dei modelli. Serve una chiave valida e non costa nulla.
curl https://aigrow.gg/v1/models -H "Authorization: Bearer ag_your_key_here"{
"object": "list",
"data": [
{ "id": "claude-opus-5.5", "object": "model", ... },
{ "id": "claude-fable-5.1", "object": "model", ... },
{ "id": "gpt-6-astra", "object": "model", ... },
{ "id": "claude-sonnet-5.5", "object": "model", ... },
{ "id": "gpt-6.1-sol", "object": "model", ... },
{ "id": "grok-4.7", "object": "model", ... },
...
],
"has_more": false
}OpenAI Agents SDK
Salva il blocco come check.py, inserisci la tua chiave ed eseguilo.
python check.pyreadyQuando non funziona
Prima gli errori di OpenAI Agents SDK, poi le risposte che l'endpoint dà a qualsiasi strumento.
- 404 a ogni esecuzione
- L’SDK usa ancora la Responses API, che è l’impostazione predefinita. Chiama set_default_openai_api("chat_completions") prima della prima esecuzione, oppure assegna all’agente un OpenAIChatCompletionsModel.
- Errore 401 del client di tracing
- Il tracing carica ogni esecuzione su OpenAI con la stessa chiave delle chiamate al modello, e una chiave AIGROW non è una chiave OpenAI. set_tracing_disabled(True) lo interrompe; set_tracing_export_api_key con una chiave di platform.openai.com lo mantiene attivo.
- Il mio strumento mostra un errore 401 o di autenticazione
- La chiave manca o è stata digitata in modo errato. Copiala di nuovo da Accesso API nella dashboard e assicurati che venga inviata come chiave, non come nome di un modello. Una chiave revocata dà lo stesso errore: creane una nuova e sostituiscila.
- Ricevo un errore 402 o un messaggio sul credito
- Il tuo saldo è esaurito. Apri Accesso API nella dashboard, riscatta un codice o acquista un altro pacchetto e la richiesta successiva andrà a buon fine. Non serve cambiare nient’altro.
- Compare 404 o Unknown model
- Il modello deve essere uno di quelli serviti dall’endpoint, per esempio claude-opus-5.5. Funzionano anche le grafie originali del provider (claude-opus-5-5, anthropic/claude-opus-5.5), ma un id con data o qualsiasi modello fuori dal catalogo viene rifiutato prima che la richiesta sia inoltrata, e non viene addebitato nulla. Con la tua chiave richiedi GET /v1/models per l’elenco aggiornato, oppure leggi gli id nel listino.
- Le richieste vengono rifiutate con errore 429
- La capacità dell’endpoint è condivisa da tutti i clienti: circa 20 richieste al minuto e 4 contemporaneamente. Ogni risposta 429 include un header retry-after, e gli SDK di OpenAI e Anthropic attendono quel tempo e riprovano da soli. In un ciclo scritto da te, attendi i secondi indicati oppure riduci la concorrenza.
- Il modello al momento non è disponibile
- Un 404 che indica che il modello non è al momento disponibile significa che è temporaneamente fuori servizio presso il provider a monte, non che c'è un problema con la tua chiave o il tuo saldo. Riprova tra qualche istante oppure invia la richiesta a un altro modello.
- Ricevo un errore 502 o 503
- Un problema temporaneo a monte o di configurazione, che non viene addebitato sul tuo saldo. Riprova la richiesta; se continua a fallire, scrivici tramite lo store e ce ne occuperemo.
Cosa non funziona tramite AIGROW
Gli strumenti ospitati, come WebSearchTool e FileSearchTool, che OpenAI offre solo con la Responses API. Le function tool che scrivi tu vengono eseguite nel tuo codice e funzionano.
Le trace sulla dashboard di OpenAI senza una chiave OpenAI. Il caricamento richiede una chiave di platform.openai.com, impostata con set_tracing_export_api_key.
Campi che solo la Responses API conosce, come previous_response_id e conversation_id. Con le chat completions l'SDK li scarta senza segnalare alcun errore.
Ricerca web in tempo reale all’interno del modello. Uno strumento di ricerca web inviato con una richiesta riceve risposta da ciò che il modello già sa, senza risultati in tempo reale. Uno strumento che recupera pagine sulla tua macchina funziona comunque.
Qualsiasi endpoint oltre a questi tre: /v1/messages, /v1/chat/completions e /v1/models. La Responses API, gli embedding e il conteggio dei token rispondono 404.
I campi del router, come models, route, provider e plugins. Vengono scartati, quindi una richiesta va sempre al solo modello che indica.
Quanto costa un mese di OpenAI Agents SDK
OpenAI Agents SDK viene fatturato per token alle tariffe in crediti del listino prezzi. Un agente rinvia l'intera conversazione a ogni passaggio, quindi un compito lungo costa più di quanto suggerisca il suo ultimo messaggio; il registro attività su Accesso API mostra quanto è costata ogni richiesta.
Domande su OpenAI Agents SDK e su un'API personalizzata
- L'OpenAI Agents SDK può usare un altro provider?
- Sì, qualsiasi endpoint che parli il protocollo OpenAI. Passa a set_default_openai_client un client AsyncOpenAI con base_url https://aigrow.gg/v1 e la tua chiave, poi chiama set_default_openai_api("chat_completions").
- Perché l'Agents SDK restituisce un errore 404 con una base URL personalizzata?
- Per impostazione predefinita chiama la Responses API, mentre l'endpoint serve solo chat completions. Basta passare a set_default_openai_api("chat_completions") oppure a OpenAIChatCompletionsModel.
- Che cosa fa il tracing senza una chiave OpenAI?
- Il tracing è attivo per impostazione predefinita e carica ogni esecuzione su OpenAI con la stessa chiave usata per le chiamate al modello, quindi con una chiave AIGROW il caricamento fallisce con un errore di tracing 401. Disattivalo con set_tracing_disabled(True) o OPENAI_AGENTS_DISABLE_TRACING=1, oppure fornisci una chiave OpenAI con set_tracing_export_api_key.
- Un agente può funzionare con un modello Claude?
- Sì. L'endpoint serve i modelli Claude sul protocollo OpenAI, quindi model="claude-opus-5.5" funziona con il client del blocco, senza installare alcun adattatore.
Fonti: OpenAI Agents SDK Models · OpenAI Agents SDK Configuration · OpenAI Agents SDK Tracing · OpenAI Agents SDK Tools. Consultato il 21 ottobre 2026.
Configura un altro strumento
- Claude CodeProtocollo Anthropic
Quattro variabili d’ambiente, nella shell o in settings.json.
- ClineProtocollo OpenAI
Il provider OpenAI Compatible, quattro campi nella schermata delle impostazioni.
- Roo CodeProtocollo OpenAI
Il provider OpenAI Compatible, con gli stessi campi di Cline.
- Kilo CodeProtocollo OpenAI
Un provider personalizzato nella scheda Providers; l’elenco dei modelli si compila da solo.
- ContinueProtocollo OpenAI
Una voce in models nel file config.yaml, con provider openai e un apiBase.
- AiderProtocollo OpenAI
OPENAI_API_BASE e OPENAI_API_KEY, poi openai/ prima dell’id del modello.
- OpenCodeProtocollo OpenAI
Un blocco provider in opencode.json e la chiave tramite /connect.
- ZedProtocolli Anthropic e OpenAI
Un provider compatibile con Anthropic per Claude, uno compatibile con OpenAI per GPT e Grok.
- GooseProtocollo OpenAI
Il provider OpenAI con OPENAI_HOST, oppure un file di provider personalizzato.
- Vercel AI SDKProtocolli Anthropic e OpenAI
Il provider OpenAI Compatible per ogni modello, oppure il provider Anthropic per Claude.
- LangChainProtocolli Anthropic e OpenAI
ChatOpenAI con base_url per ogni modello, oppure ChatAnthropic per Claude.
La guida all'API comprende gli SDK, curl, gli endpoint e i limiti di frequenza.
Incolla il blocco e OpenAI Agents SDK funziona con il tuo credito.
Acquista un pacchetto di credito, riscatta il codice ricevuto via email su Accesso API, crea una chiave e inseriscila al posto di ag_your_key_here.