Sections de la base de connaissances ▾
Navigation
▸ Commencez ici Par rôlesCatégories
- Cursor + Gonka AI — LLM pas cher pour le codage
- Claude Code + Gonka AI — LLM pour le terminal
- OpenClaw + Gonka AI — Agents IA accessibles
- OpenCode + Gonka AI — IA gratuite pour le code
- Continue.dev + Gonka AI — IA pour VS Code/JetBrains
- Cline + Gonka AI — Agent IA dans VS Code
- Aider + Gonka AI — programmation en binôme avec l'IA
- LangChain + Gonka AI — Applications IA pour des centimes
- n8n + Gonka AI — Automatisation avec IA pas chère
- Open WebUI + Gonka AI — Votre propre ChatGPT
- LibreChat + Gonka AI — ChatGPT open-source
- Hermes Agent + Gonka AI — Agent autonome pour des centimes
- Kilo Code + Gonka AI — Agent IA dans VS Code
- Roo Code + Gonka AI — Agent IA autonome dans VS Code
- LlamaIndex + Gonka AI — Applications RAG pour une bouchée de pain
- PydanticAI + Gonka — Agents IA typés pour une bouchée de pain
- Vercel AI SDK + Gonka AI — Applications IA en TypeScript pour une bouchée de pain
- TanStack AI + Gonka — Applications IA en TypeScript pour une bouchée de pain
- API démarrage rapide — curl, Python, TypeScript
- JoinGonka Gateway — présentation complète
- Management Keys — SaaS sur Gonka
- L'API AI la moins chère : comparaison des fournisseurs 2026
- Limite de requêtes Cursor Pro atteinte — analyse et alternative économique
- Claude Code moins cher — analyse de facture et changement
- Cline brûle votre argent — pourquoi l'agent consomme autant
- OpenClaw coûte cher — pourquoi l'agent consomme des tokens et comment économiser
- OpenRouter : une alternative bon marché — comparaison avec JoinGonka Gateway
- Meilleur modèle AI pour le codage en 2026 : comparaison et tarifs
- Alternative bon marché à GitHub Copilot sans limites
- Alternative bon marché à Windsurf sans crédits ni limites
- L'API la moins chère pour les agents AI en 2026
- ZCode : inférence GLM abordable au lieu du GLM Coding Plan
Outils
TanStack AI + Gonka — Applications IA en TypeScript pour une bouchée de pain
TanStack AI (@tanstack/ai) est un SDK typé pour TypeScript de l'équipe TanStack (auteurs de Query, Router, Table). Une architecture Provider-agnostic : chat en streaming, tool calling natif, agents, sortie structurée et multimodalité via un ensemble unique d'adaptateurs. Des bindings prêts à l'emploi pour React, Vue, Svelte, Solid et Preact (useChat et autres hooks) ainsi qu'un client headless pour le serveur.
Le problème reste le même que pour tout framework AI — le coût de l'inférence. TanStack AI prend en charge OpenAI, Anthropic et Gemini nativement, mais les tarifs directs de ces fournisseurs ($2.50–15 pour 1M de jetons) rendent les chats et agents en production coûteux : les dialogues en streaming et les cycles d'outils consomment rapidement des millions de jetons.
Une caractéristique clé de TanStack AI est la fonction openaiCompatible() : un moyen de premier ordre pour connecter n'importe quel endpoint compatible OpenAI. Cela signifie que JoinGonka Gateway s'intègre sans adaptateurs personnalisés — il suffit de spécifier baseURL, la clé et la liste des modèles. Résultat : le même chat et les mêmes agents typés, mais pour $0.003/1M de jetons via le réseau décentralisé Gonka au lieu de $2.50–15 chez OpenAI.
Étape 1 : Installer TanStack AI et obtenir la clé
Installation des paquets (noyau + adaptateur OpenAI, où vit openaiCompatible) :
# pnpm
pnpm add @tanstack/ai @tanstack/ai-openai
# npm
npm install @tanstack/ai @tanstack/ai-openaiPour l'interface de chat sur React, ajoutez le client et les hooks :
pnpm add @tanstack/ai-client @tanstack/ai-reactClé API JoinGonka : si vous n'en avez pas encore — inscrivez-vous sur gate.joingonka.ai/register, obtenez 10 millions de jetons gratuits et créez une clé jg-xxx dans le tableau de bord → Clés API. Une seule clé et un seul solde fonctionnent pour les formats OpenAI et Anthropic.
Étape 2 : Connecter Gonka via openaiCompatible
Dans TanStack AI, un fournisseur compatible OpenAI personnalisé se configure avec la fonction openaiCompatible() : vous définissez baseURL, apiKey et la liste des modèles une seule fois, puis vous choisissez le modèle à chaque appel. Notre Gateway utilise le format Chat Completions, nous conservons donc api: 'chat-completions' (c'est la valeur par défaut).
import { openaiCompatible } from '@tanstack/ai-openai'
// Le fournisseur Gonka — configuré une seule fois
export const gonka = openaiCompatible({
name: 'gonka',
baseURL: 'https://gate.joingonka.ai/v1',
apiKey: process.env.GONKA_API_KEY!, // jg-votre-clé
api: 'chat-completions',
models: [
'moonshotai/Kimi-K2.6', // défaut
'MiniMaxAI/MiniMax-M2.7',
],
})Chat en streaming côté serveur (par exemple, un gestionnaire de route dans n'importe quel framework fullstack ou TanStack Start). On définit la longueur de la réponse via modelOptions — c'est le seul point pour les paramètres wire natifs (max_tokens, temperature) :
import { chat, toServerSentEventsResponse } from '@tanstack/ai'
import { gonka } from './gonka'
export async function POST(request: Request) {
const { messages } = await request.json()
const stream = chat({
adapter: gonka('MiniMaxAI/MiniMax-M2.7'),
messages,
modelOptions: { max_tokens: 8192 }, // plafond de sortie via Gateway
})
return toServerSentEventsResponse(stream)
}Client React via le hook useChat — streame les réponses du serveur vers l'UI :
import { useChat } from '@tanstack/ai-react'
function Chat() {
const { messages, sendMessage, status } = useChat({ api: '/api/chat' })
return (
<div>
{messages.map((m) => (
<p key={m.id}><b>{m.role}:</b> {m.content}</p>
))}
<button onClick={() => sendMessage('Qu'est-ce que Gonka?')}>
Demander
</button>
</div>
)
}Sans serveur : le même fournisseur fonctionne directement dans un script ou backend — appelez chat() et lisez le flux. La connexion à Gonka est identique pour toutes les variantes.
Paramètres des modèles via Gateway : le contexte des deux modèles est de 200K jetons. Le plafond max_tokens est de 8192 pour tous les modèles du réseau. Si max_tokens n'est pas précisé, la valeur par défaut pour le non-stream est de 1500, donc pour les réponses longues, définissez-le explicitement.
Comparaison des coûts
TanStack AI fonctionne aussi bien via les tarifs directs OpenAI/Anthropic que via Gonka — seule l'adresse baseURL change. Mais le prix diffère de plusieurs ordres de grandeur. Comparons les charges de travail typiques d'une application de production sur TanStack AI :
| Scénario | Jetons | OpenAI / Anthropic | JoinGonka Gonka |
|---|---|---|---|
| Une réponse chat streaming | ~3K | $0.008 — $0.045 | $0.000014 |
| Cycle d'agent avec tool calling | ~15K | $0.04 — $0.22 | $0.000072 |
| 1 000 dialogues par jour | ~3M | $7.50 — $45 | $0.014 |
| Mois de production (~100M) | ~100M | $250 — $1 500 | $0.48 |
L'approche provider-agnostic de TanStack AI signifie que passer à Gonka ne nécessite que la modification d'une ligne (baseURL), sans réécriture de code. En même temps, vos outils typés, votre sortie structurée et vos hooks React restent inchangés. Pour une application avec des milliers d'utilisateurs, la différence représente des dizaines de milliers de dollars par mois.
Prix Gonka : entrée ~$0.003 pour 1M de jetons, sortie ×3. C'est des centaines à des milliers de fois moins cher que les tarifs directs d'OpenAI et Anthropic.
Outils typés et sélection du modèle
La fonctionnalité principale de TanStack AI est le contrat unique toolDefinition() : l'outil est décrit une fois (entrée/sortie via Zod, ArkType, Valibot ou JSON Schema), et l'implémentation est liée côté serveur ou client. Kimi K2.6 et MiniMax-M2.7 prennent en charge le tool calling natif via Gonka, les agents fonctionnent donc de manière fiable — sans analyse de réponses textuelles.
import { chat, toolDefinition } from '@tanstack/ai'
import { gonka } from './gonka'
import { z } from 'zod'
const getWeather = toolDefinition({
name: 'getWeather',
description: 'Obtenir la météo dans une ville',
inputSchema: z.object({ city: z.string() }),
outputSchema: z.object({ tempC: z.number() }),
}).server(async ({ city }) => {
return { tempC: 21 } // votre appel API réel
})
const stream = chat({
adapter: gonka('MiniMaxAI/MiniMax-M2.7'),
messages: [{ role: 'user', content: 'Quelle est la météo à Moscou?' }],
tools: [getWeather],
modelOptions: { max_tokens: 8192 },
})Quel modèle choisir :
- moonshotai/Kimi-K2.6 — puissant pour le codage, le raisonnement et les scénarios avec agents. Plafond de réponse 8192.
- MiniMaxAI/MiniMax-M2.7 — défaut, équilibre entre vitesse et qualité, contexte long. Plafond de réponse 8192.
Grâce au runtime adapter switching dans TanStack AI, vous pouvez conserver les deux modèles dans le même fournisseur et basculer entre eux à la volée — par exemple, tâches d'agent intensives sur Kimi, réponses rapides sur MiniMax.
Vous voulez en savoir plus ?
Explorez d'autres sections ou commencez à gagner des GNK dès maintenant.
Obtenez 10M de jetons gratuits →