Seções da Base de Conhecimento ▾
Navegação
▸ Comece aqui Por funçõesCategorias
- Cursor + Gonka AI — LLM barato para codificação
- Claude Code + Gonka AI — LLM para terminal
- OpenClaw + Gonka AI — agentes AI acessíveis
- OpenCode: seu próprio modelo no terminal
- Continue.dev + Gonka AI — AI para VS Code/JetBrains
- Cline + Gonka AI — agente AI no VS Code
- Aider + Gonka AI — programação em par com AI
- LangChain + Gonka AI — aplicativos AI por uma fração do custo
- n8n + Gonka AI — automação com AI barata
- Open WebUI + Gonka AI — seu próprio ChatGPT
- LibreChat + Gonka AI — ChatGPT de código aberto
- Hermes Agent + DeepSeek na rede Gonka: agente autônomo por centavos
- Kilo Code + Gonka AI — Agente de IA no VS Code
- Roo Code + Gonka AI — Agente de IA autônomo no VS Code
- LlamaIndex + Gonka AI — Aplicações RAG por alguns centavos
- PydanticAI + Gonka — Agentes de IA tipificados por alguns centavos
- Vercel AI SDK + Gonka AI — Aplicações de IA em TypeScript por centavos
- TanStack AI + Gonka — Aplicativos de IA em TypeScript por centavos
- API início rápido — curl, Python, TypeScript
- JoinGonka Gateway — Visão geral completa
- Management Keys — SaaS na Gonka
- A API de IA mais barata: comparativo de provedores 2026
- Limite de solicitações do Cursor Pro esgotado — análise e uma alternativa barata
- Claude Code mais barato — análise de fatura e mudança de serviço
- Cline queima dinheiro — por que o agente gasta tanto
- OpenClaw custa caro — porque o agente queima tokens e como economizar
- OpenRouter: alternativa barata — comparativo com JoinGonka Gateway
- O melhor modelo de IA para codificação em 2026: comparação e preços
- Alternativa barata ao GitHub Copilot sem limites
- Alternativa barata ao Windsurf sem créditos e sem limites
- A API mais barata para agentes de IA em 2026
- ZCode: inferência GLM barata em vez do GLM Coding Plan
- JetBrains IDE + JoinGonka Gateway — seu próprio endpoint em vez de créditos
- GitHub Copilot BYOK: seus modelos em vez da cota
- Zed + JoinGonka Gateway — inferência barata no editor
- Pi + JoinGonka Gateway — agente terminal em inferência barata
- Codex CLI: sua própria chave em vez de assinatura
Ferramentas
TanStack AI + Gonka — Aplicativos de IA em TypeScript por centavos
TanStack AI (@tanstack/ai) — um SDK com segurança de tipos para TypeScript da equipe do TanStack (autores do Query, Router, Table). Arquitetura provider-agnostic: chat de streaming, tool calling nativo, agentes, saída estruturada e multimodalidade através de um conjunto unificado de adaptadores. Bindings prontos para React, Vue, Svelte, Solid e Preact (useChat e outros hooks) além de um cliente headless para o servidor.
O problema é o mesmo que em qualquer framework de IA — o custo da inferência. O TanStack AI suporta nativamente OpenAI, Anthropic e Gemini, mas as tarifas diretas desses provedores ($2.50–15 por 1M de tokens) tornam o chat e agentes em produção caros: diálogos de streaming e ciclos de ferramentas consomem milhões de tokens rapidamente.
A característica chave do TanStack AI é a função openaiCompatible(): uma forma de primeira classe de conectar qualquer endpoint compatível com OpenAI. Isso significa que o JoinGonka Gateway se integra sem adaptadores personalizados — você especifica o baseURL, a chave e a lista de modelos. O resultado: o mesmo chat e agentes com segurança de tipos, mas por $0.0069/1M de tokens através da rede descentralizada Gonka em vez de $2.50–15 da OpenAI.
Passo 1: Instalar TanStack AI e obter a chave
Instalação de pacotes (núcleo + adaptador OpenAI, onde reside openaiCompatible):
# pnpm
pnpm add @tanstack/ai @tanstack/ai-openai
# npm
npm install @tanstack/ai @tanstack/ai-openaiPara uma interface de chat no React, adicione o cliente e os hooks:
pnpm add @tanstack/ai-client @tanstack/ai-reactAPI-key da JoinGonka: se ainda não tiver — registre-se em gate.joingonka.ai/register, obtenha 3M de tokens gratuitos e crie uma chave jg-xxx no Dashboard → API Keys. Uma chave e um saldo funcionam tanto para o formato OpenAI quanto para o Anthropic.
Passo 2: Conecte o Gonka via openaiCompatible
No TanStack AI, um provedor personalizado compatível com OpenAI é configurado com a função openaiCompatible(): você define o baseURL, o apiKey e a lista de modelos uma vez e, em seguida, seleciona o modelo para cada chamada. Nosso Gateway fala o formato Chat Completions, por isso mantemos api: 'chat-completions' (este é o valor padrão).
import { openaiCompatible } from '@tanstack/ai-openai'
// Provedor Gonka — configurado uma vez
export const gonka = openaiCompatible({
name: 'gonka',
baseURL: 'https://gate.joingonka.ai/v1',
apiKey: process.env.GONKA_API_KEY!, // jg-sua-chave
api: 'chat-completions',
models: [
'MiniMaxAI/MiniMax-M2.7', // padrão
'deepseek-ai/DeepSeek-V4-Flash-0731',
'zai-org/GLM-5.3-Flash', // modelo de raciocínio
],
})Chat com streaming no servidor (por exemplo, um route handler em qualquer framework fullstack ou TanStack Start). O tamanho da resposta é definido através de modelOptions — este é o ponto único para parâmetros nativos de wire (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 }, // limite de saída através do Gateway
})
return toServerSentEventsResponse(stream)
}Cliente React através do hook useChat — transmite respostas do servidor para a 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('O que é Gonka?')}>
Perguntar
</button>
</div>
)
}Sem servidor: o mesmo provedor funciona em um script ou backend diretamente — invoque chat() e leia o fluxo. A conexão com a Gonka é a mesma para todas as variantes.
Parâmetros dos modelos via Gateway: o contexto é de 200K tokens para o MiniMax M2.7, 380K para o DeepSeek V4 Flash e 390K para o GLM-5.3 Flash. O limite max_tokens é de 8192 para o MiniMax M2.7 e GLM-5.3 Flash, e 32768 para o DeepSeek V4 Flash. Se max_tokens não for especificado, o padrão para non-stream é 1500; portanto, para respostas longas, defina-o explicitamente.
Comparação de custos
O TanStack AI funciona igualmente bem através das tarifas diretas da OpenAI/Anthropic e através da Gonka — apenas o baseURL muda. Mas o preço difere por ordens de magnitude. Vamos comparar cargas típicas de uma aplicação de produção no TanStack AI:
| Cenário | Tokens | OpenAI / Anthropic | JoinGonka Gonka |
|---|---|---|---|
| Uma resposta de chat em streaming | ~3K | $0.008 — $0.045 | $0.000028 |
| Ciclo do agente com tool calling | ~15K | $0.04 — $0.22 | $0.00014 |
| 1 000 diálogos por dia | ~3M | $7.50 — $45 | $0.028 |
| Mês de produção (~100M) | ~100M | $250 — $1 500 | $0.96 |
A abordagem provider-agnostic do TanStack AI significa que mudar para a Gonka é apenas editar uma linha (baseURL), e não reescrever o código. Ao mesmo tempo, suas ferramentas com segurança de tipos, saída estruturada e hooks de React permanecem inalterados. Para uma aplicação com milhares de usuários, a diferença é de dezenas de milhares de dólares por mês.
Preço da Gonka: entrada ~$0.0069 por 1M de tokens, saída ×3. Isso é centenas a milhares de vezes mais barato do que as tarifas diretas da OpenAI e Anthropic.
Ferramentas type-safe e seleção de modelo
A principal vantagem do TanStack AI é um contrato unificado toolDefinition(): a ferramenta é descrita uma vez (entrada/saída via Zod, ArkType, Valibot ou JSON Schema) e a implementação é vinculada no servidor ou cliente. MiniMax M2.7, DeepSeek V4 Flash e GLM-5.3 Flash suportam tool calling nativo via Gonka, por isso os agentes funcionam de forma confiável, sem necessidade de analisar respostas de texto.
import { chat, toolDefinition } from '@tanstack/ai'
import { gonka } from './gonka'
import { z } from 'zod'
const getWeather = toolDefinition({
name: 'getWeather',
description: 'Obter o clima em uma cidade',
inputSchema: z.object({ city: z.string() }),
outputSchema: z.object({ tempC: z.number() }),
}).server(async ({ city }) => {
return { tempC: 21 } // sua chamada real de API
})
const stream = chat({
adapter: gonka('MiniMaxAI/MiniMax-M2.7'),
messages: [{ role: 'user', content: 'Qual é o clima em Moscou?' }],
tools: [getWeather],
modelOptions: { max_tokens: 8192 },
})Qual modelo escolher:
- MiniMaxAI/MiniMax-M2.7 — padrão, equilíbrio entre velocidade e qualidade, contexto longo. Limite de resposta 8192.
- deepseek-ai/DeepSeek-V4-Flash-0731 — um dos contextos mais longos da rede (380K), prompts grandes baratos. Limite de resposta 32768.
- zai-org/GLM-5.3-Flash — modelo de raciocínio: raciocina antes de responder, é forte em lógica complexa; o contexto mais longo da rede (390K). Limite de resposta 8192; o raciocínio consome parte dos
max_tokens.
Graças ao runtime adapter switching no TanStack AI, você pode manter todos os três modelos em um único provedor e alternar entre eles dinamicamente — por exemplo, tarefas de raciocínio no GLM-5.3 Flash, respostas rápidas no MiniMax.