知識ベースのセクション ▾
ナビゲーション
▸ ここから始める 役割別カテゴリー
- Cursor + Gonka AI — コーディングのための安価な LLM
- Claude Code + Gonka AI — ターミナルのための LLM
- OpenClaw + Gonka AI — 利用しやすい AI エージェント
- OpenCode + Gonka AI — コードのための無料 AI
- Continue.dev + Gonka AI — VS Code/JetBrains のための AI
- Cline + Gonka AI — VS Code の AI エージェント
- Aider + Gonka AI — AI とのペアプログラミング
- LangChain + Gonka AI — ごくわずかなコストの AI アプリケーション
- n8n + Gonka AI — 安価な AI による自動化
- Open WebUI + Gonka AI — 独自の ChatGPT
- LibreChat + Gonka AI — オープンソースのChatGPT
- Hermes Agent + Gonka AI — 格安の自律型エージェント
- Kilo Code + Gonka AI — VS Code内のAIエージェント
- Roo Code + Gonka AI — VS Code内の自律型AIエージェント
- LlamaIndex + Gonka AI — 超低コストの RAG アプリケーション
- PydanticAI + Gonka — 超低コストのタイプ付き AI エージェント
- Vercel AI SDK + Gonka AI — TypeScript での超低コスト AI アプリケーション
- TanStack AI + Gonka — TypeScript での超低コスト AI アプリケーション
- APIクイックスタート — curl, Python, TypeScript
- JoinGonka Gateway — 完全な概要
- マネジメントキー — Gonka 上の SaaS
- 最安AI API:2026年プロバイダー比較
- Cursor Proのクエリ制限が終了 — 原因分析と安価な代替案
- Claude Codeがより安く — 請求額の内訳と切り替え
- Clineのコスト高騰 — なぜエージェントがこれほど消費するのか
- OpenClawは高くつく — なぜエージェントはトークンを浪費するのか、どう節約すべきか
- OpenRouter:安価な代替手段 — JoinGonka Gatewayとの比較
- 2026年コーディングに最適なAIモデル:比較と価格
- GitHub Copilot の低コスト代替ツール:制限なし
- クレジット制限なし!Windsurfの安価な代替手段
- 2026年、AIエージェントのための最も安価なAPI
- ZCode:GLM Coding Planの代わりに使える格安GLM推論
ツール
TanStack AI + Gonka — TypeScript での超低コスト AI アプリケーション
TanStack AI (@tanstack/ai) は、TanStack(Query、Router、Tableの開発チーム)によるTypeScript向けの型安全なSDKです。プロバイダー非依存のアーキテクチャを持ち、ストリーミングチャット、ネイティブツール呼び出し、エージェント、構造化出力、マルチモーダルを共通のアダプターセットで実現します。React、Vue、Svelte、Solid、Preact用のバインディング(useChat等のフック)に加え、サーバー用のヘッドレスクライアントも提供されています。
あらゆるAIフレームワークと同様の課題は、推論コストです。TanStack AIはデフォルトでOpenAI、Anthropic、Geminiをサポートしていますが、これらの直接プロバイダー料金(1Mトークンあたり$2.50〜$15)は、実稼働環境やエージェントにとって高額です。ストリーミング対話やツールのサイクルは、消費トークンを急増させます。
TanStack AIの最大の特徴は、openaiCompatible()関数です。これはOpenAI互換エンドポイントを接続するための最高の方法です。つまり、JoinGonka Gatewayはカスタムアダプターなしで統合可能です。baseURL、キー、モデルリストを指定するだけです。結果として、OpenAIの$2.50〜$15に対し、分散型ネットワークGonkaを通じて$0.003/1Mトークンで、同じ型安全なチャットとエージェントを実現します。
ステップ 1: TanStack AI をインストールし、キーを取得する
パッケージのインストール (コア + OpenAI アダプター、openaiCompatible が含まれています):
# pnpm
pnpm add @tanstack/ai @tanstack/ai-openai
# npm
npm install @tanstack/ai @tanstack/ai-openaiReact 上のチャットインターフェースの場合は、クライアントとフックを追加します:
pnpm add @tanstack/ai-client @tanstack/ai-reactJoinGonka API キー: まだお持ちでない場合は、gate.joingonka.ai/register で登録し、10M の無料トークンを取得し、ダッシュボード → API Keys で jg-xxx キーを作成します。1つのキーと1つの残高が、OpenAI 形式と Anthropic 形式の両方で機能します。
ステップ 2: openaiCompatible を介して Gonka を接続する
TanStack AIでは、カスタムのOpenAI互換プロバイダーを openaiCompatible() 関数で設定します。baseURL、apiKey、モデルリストを一度設定すれば、呼び出しごとにモデルを選択できます。当社のGatewayはChat Completions形式に対応しているため、api: 'chat-completions'(デフォルト値)のままにします。
import { openaiCompatible } from '@tanstack/ai-openai'
// Gonkaプロバイダー — 一度設定するだけ
export const gonka = openaiCompatible({
name: 'gonka',
baseURL: 'https://gate.joingonka.ai/v1',
apiKey: process.env.GONKA_API_KEY!, // jg-your-key
api: 'chat-completions',
models: [
'moonshotai/Kimi-K2.6', // デフォルト
'MiniMaxAI/MiniMax-M2.7',
],
})サーバーサイドでのStreamingチャット(例: あらゆるfullstackフレームワークのルートハンドラーやTanStack Startなど)。modelOptionsを通じてレスポンスの長さを設定します。これがネイティブの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 }, // Gateway経由の出力上限
})
return toServerSentEventsResponse(stream)
}Reactクライアントでは useChat フックを使用して、サーバーからの応答を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('Gonkaとは何ですか?')}>
質問する
</button>
</div>
)
}サーバーレスの場合:同じプロバイダーをスクリプトやバックエンドで直接動作させることができます。chat()を呼び出してストリームを読み取るだけです。Gonkaへの接続方法はすべてのバリエーションで共通です。
Gateway経由のモデルパラメータ:両モデルのコンテキストは200Kトークンです。すべてのネットワークモデルの max_tokens 上限は8192です。max_tokens が指定されていない場合、non-streamのデフォルトは1500となるため、長い回答が必要な場合は明示的に設定してください。
コスト比較
TanStack AIは、OpenAI/Anthropicの直接契約でもGonka経由でも同じように快適に動作し、変更するのはbaseURLのみです。しかし価格は桁違いです。TanStack AIの実稼働アプリケーションにおける典型的な負荷を比較します:
| シナリオ | トークン数 | OpenAI / Anthropic | JoinGonka Gonka |
|---|---|---|---|
| 1回のストリーミングチャット回答 | ~3K | $0.008 — $0.045 | $0.000014 |
| Tool callingありのエージェントサイクル | ~15K | $0.04 — $0.22 | $0.000072 |
| 1日1,000回対話 | ~3M | $7.50 — $45 | $0.014 |
| 月間の生産稼働 (~100M) | ~100M | $250 — $1 500 | $0.48 |
TanStack AIのプロバイダー非依存アプローチにより、Gonkaへの切り替えはbaseURLを1行修正するだけで済み、コード全体を書き直す必要はありません。その間、型安全なツール、構造化出力、Reactフックはそのまま維持されます。何千人ものユーザーを抱えるアプリケーションでは、その差額は月間数万ドルに達します。
Gonkaの価格: 入力トークンが1Mあたり~$0.003、出力は×3です。これはOpenAIやAnthropicの直接料金よりも数百〜数千倍安価です。
型安全なツールとモデルの選択
TanStack AIの主な特徴は、統一された toolDefinition() コントラクトです。ツールを一度定義すれば(Zod、ArkType、Valibot、またはJSON Schemaによる入出力)、実装はサーバーまたはクライアントに紐付けられます。Kimi K2.6とMiniMax-M2.7はGonka経由のネイティブなtool callingをサポートしているため、テキストレスポンスをパースすることなく、エージェントが確実に動作します。
import { chat, toolDefinition } from '@tanstack/ai'
import { gonka } from './gonka'
import { z } from 'zod'
const getWeather = toolDefinition({
name: 'getWeather',
description: '都市の天気を調べる',
inputSchema: z.object({ city: z.string() }),
outputSchema: z.object({ tempC: z.number() }),
}).server(async ({ city }) => {
return { tempC: 21 } // 本当のAPI呼び出し
})
const stream = chat({
adapter: gonka('MiniMaxAI/MiniMax-M2.7'),
messages: [{ role: 'user', content: 'モスクワの天気は?' }],
tools: [getWeather],
modelOptions: { max_tokens: 8192 },
})モデルの選び方:
- moonshotai/Kimi-K2.6 — コーディング、推論、エージェントシナリオに優れています。応答上限は8192。
- MiniMaxAI/MiniMax-M2.7 — デフォルト。速度と品質のバランスが良く、長いコンテキストに対応。応答上限は8192。
TanStack AIの実行時アダプター切り替え機能により、1つのプロバイダーで両方のモデルを保持し、即座に切り替えることができます。例えば、重いエージェントタスクにはKimi、高速な応答にはMiniMaxを使用するといった使い分けが可能です。