أقسام قاعدة المعرفة ▾
التنقل
▸ ابدأ من هنا حسب الدورالفئات
- Cursor + Gonka AI - LLM رخيص للبرمجة
- Claude Code + Gonka AI - LLM للطرفية
- OpenClaw + Gonka AI - وكلاء AI متاحون
- OpenCode + Gonka AI - AI مجاني للكود
- Continue.dev + Gonka AI - AI لـ VS Code/JetBrains
- Cline + Gonka AI - وكيل AI في VS Code
- Aider + Gonka AI - برمجة زوجية مع AI
- LangChain + Gonka AI - تطبيقات AI بتكلفة زهيدة
- n8n + Gonka AI - أتمتة مع AI رخيص
- Open WebUI + Gonka AI - ChatGPT الخاص بك
- LibreChat + Gonka AI — ChatGPT مفتوح المصدر
- وكيل هيرميس + جونكا AI - وكيل مستقل بسعر زهيد
- Kilo Code + Gonka AI - وكيل ذكاء اصطناعي في VS Code
- Roo Code + Gonka AI - وكيل ذكاء اصطناعي مستقل في VS Code
- LlamaIndex + Gonka AI - تطبيقات RAG بتكلفة زهيدة
- PydanticAI + Gonka - وكلاء AI محددون النوع بتكلفة زهيدة
- Vercel AI SDK + Gonka AI - تطبيقات AI على TypeScript بتكلفة زهيدة
- TanStack AI + Gonka - تطبيقات AI على TypeScript بتكلفة زهيدة
- بدء سريع لواجهة برمجة التطبيقات - curl، Python، TypeScript
- JoinGonka Gateway - مراجعة كاملة
- مفاتيح الإدارة — SaaS على Gonka
- أرخص واجهة برمجة تطبيقات AI: مقارنة المزودين 2026
- تم استنفاد حد طلبات Cursor Pro — تحليل وبديل رخيص
- Claude Code أرخص — تحليل الفاتورة والتحويل
- Cline يحرق الأموال — لماذا ينفق الوكيل الكثير
- OpenClaw مكلف — لماذا يحرق الوكيل التوكنز وكيف توفر
- OpenRouter: بديل رخيص — مقارنة مع JoinGonka Gateway
- أفضل نموذج AI للبرمجة في 2026: مقارنة وأسعار
- بديل رخيص لـ GitHub Copilot بدون قيود
- بديل رخيص لـ Windsurf بدون أرصدة وبدون حدود
- أرخص واجهة برمجة تطبيقات (API) لوكلاء AI في 2026
- ZCode: استنتاج GLM رخيص بدلاً من GLM Coding Plan
أدوات
Vercel AI SDK + Gonka AI - تطبيقات AI على TypeScript بتكلفة زهيدة
Vercel AI SDK هو الـ SDK الأكثر شيوعاً لبناء تطبيقات الذكاء الاصطناعي باستخدام TypeScript و JavaScript. واجهة برمجة تطبيقات موحدة generateText و streamText، البث المباشر (streaming) إلى واجهة المستخدم، استدعاء أدوات أصلي، ومساعدات جاهزة لـ Next.js App Router — كل ما تحتاجه لروبوتات الدردشة، الوكلاء وخطوط أنابيب RAG على الويب.
المشكلة هي نفسها التي تواجه أي تطبيق LLM — تكلفة المزود. واجهة الدردشة التي تعمل بالبث ترسل سجل المحادثة مع كل رسالة، والوكيل يمرر السياق عبر عشرات الخطوات. مع أسعار Anthropic ($3-15/1M) و OpenAI ($2.5-10/1M)، حتى مشروع صغير في بيئة الإنتاج (prod) قد يتحول إلى فاتورة بمئات الدولارات شهرياً.
JoinGonka Gateway — هي نقطة اتصال متوافقة مع OpenAI فوق شبكة Gonka اللامركزية. يتصل Vercel AI SDK بها كأي مزود متوافق مع OpenAI — بدون fork، وبدون محولات خاصة. نفس نموذج Kimi K2.6، ونفس streamText، ولكن بتكلفة $0.003 لكل 1 مليون توكن مدخل — أرخص بمئات إلى آلاف المرات.
الخطوة 1: الحصول على المفتاح وربط المزود
مفتاح API الخاص بـ JoinGonka: سجل في gate.joingonka.ai/register — نمنحك 10M توكن مجاني عند البدء. في Dashboard، قم بإنشاء مفتاح يبدأ بالبادئة jg-.
تثبيت الحزم. بالنسبة لنقاط النهاية المتوافقة مع OpenAI، توصي Vercel AI SDK باستخدام الموفر @ai-sdk/openai-compatible:
npm install ai @ai-sdk/openai-compatibleالاتصال الأساسي — نقوم بإنشاء مثيل للموفر عبر createOpenAICompatible واستدعاء generateText:
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
import { generateText } from 'ai';
const gonka = createOpenAICompatible({
name: 'gonka',
baseURL: 'https://gate.joingonka.ai/v1',
apiKey: process.env.GONKA_API_KEY, // jg-your-key
});
const { text } = await generateText({
model: gonka('MiniMaxAI/MiniMax-M2.7'),
prompt: 'اشرح ماهي شبكات الاستنتاج اللامركزية',
});
console.log(text);يقوم المعامل apiKey تلقائيًا بإضافة الترويسة Authorization: Bearer jg-your-key — لا حاجة لإعداد إضافي. احفظ المفتاح في متغير البيئة GONKA_API_KEY (على سبيل المثال في .env.local)، وليس في الكود نفسه.
البديل — حزمة @ai-sdk/openai مع المصنع createOpenAI({ baseURL, apiKey }). كلاهما يعملان؛ بالنسبة لنقاط النهاية التي لا تنتمي إلى OpenAI، تنصح وثائق AI SDK باستخدام @ai-sdk/openai-compatible تحديدًا — فهو لا يضيف افتراضات خاصة بـ OpenAI غير ضرورية.
الخطوة 2: التدفق ومُعالج مسار Next.js
الميزة الرئيسية لـ Vercel AI SDK هي دفق الاستجابة. تبدأ دالة streamText ببث التوكنات فورًا، ويقوم المساعد toUIMessageStreamResponse() بإخراج الدفق الجاهز مباشرة من معالج المسارات في Next.js App Router.
معالج الخادم (Server handler) app/api/chat/route.ts:
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
import { streamText, convertToModelMessages, type UIMessage } from 'ai';
const gonka = createOpenAICompatible({
name: 'gonka',
baseURL: 'https://gate.joingonka.ai/v1',
apiKey: process.env.GONKA_API_KEY,
});
// السماح بالبث لمدة تصل إلى 30 ثانية
export const maxDuration = 30;
export async function POST(req: Request) {
const { messages }: { messages: UIMessage[] } = await req.json();
const result = streamText({
model: gonka('MiniMaxAI/MiniMax-M2.7'),
system: 'أنت مساعد مفيد. أجب باختصار وفي صلب الموضوع.',
messages: convertToModelMessages(messages),
maxOutputTokens: 8192, // سقف المخرجات عبر Gateway
});
return result.toUIMessageStreamResponse();
}على جانب العميل، قم بتوصيل الخطاف useChat من @ai-sdk/react — وسيقوم ذاتيًا بطلب /api/chat وعرض دفق الرسائل. في هذه الأثناء، يقوم الطرف الخلفي (backend) بالاتصال بـ Gonka بدلاً من OpenAI.
برنامج نصي بدون واجهة مستخدم (Node، مكرر غير متزامن فوق الدفق):
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
import { streamText } from 'ai';
const gonka = createOpenAICompatible({
name: 'gonka',
baseURL: 'https://gate.joingonka.ai/v1',
apiKey: process.env.GONKA_API_KEY,
});
const result = streamText({
model: gonka('MiniMaxAI/MiniMax-M2.7'),
prompt: 'اكتب قصيدة هايكو عن الحوسبة الموزعة',
});
for await (const chunk of result.textStream) {
process.stdout.write(chunk);
}معلمات النماذج. تتوفر نموذجان عبر Gateway، كلاهما بسياق 200 ألف توكن؛ سقف الاستجابة (maxOutputTokens) يصل إلى 8192 لكل منهما:
moonshotai/Kimi-K2.6— الافتراضي (Kimi K2.6);MiniMaxAI/MiniMax-M2.7(MiniMax M2.7).
إذا لم يتم تعيين maxOutputTokens، فبالنسبة لطلبات غير البث، سيعيد Gateway افتراضيًا ما يصل إلى 1500 توكن — بالنسبة لدردشات البث، يُفضل تحديد القيمة بوضوح.
مقارنة التكلفة
Vercel AI SDK عادة ما تقع خلف واجهة تفاعلية — دردشة، وكيل، مساعد في تطبيق. كل رسالة تسحب معها سجل المحادثة، وكل خطوة يقوم بها الوكيل تسحب سياق الأدوات. لذلك، التكلفة الفعلية لا تُحسب لكل طلب واحد، بل حسب حمل الإنتاج (prod). لنقارن سيناريوهات نموذجية:
| السيناريو | التوكنات | Anthropic / OpenAI | JoinGonka Gonka |
|---|---|---|---|
| رسالة واحدة في الدردشة | ~3K | $0.01 — $0.05 | $0.000014 |
| محادثة من 20 رد | ~150K | $0.50 — $2.25 | $0.00072 |
| استجابة RAG (بحث + توليد) | ~5K | $0.015 — $0.05 | $0.000024 |
| خطوة وكيل مع tool calling | ~10K | $0.03 — $0.10 | $0.000048 |
| 10,000 طلب يومياً (prod) | ~50M | $150 — $500 | $0.24 |
سعر JoinGonka — حوالي $0.003 لكل 1 مليون توكن مدخل، والمخرجات أغلى بثلاث مرات تقريباً. بالنسبة لتطبيق يحتوي على آلاف الطلبات يومياً، هذا هو الفرق بين فاتورة بمئات الدولارات وفاتورة سنتات. الـ 10 مليون توكن المجانية كافية لتشغيل وتصحيح المشروع بالكامل قبل إطلاقه في الإنتاج.
استدعاء الأدوات والوكلاء
يقوم Vercel AI SDK بوصف الأدوات بشكل توضيحي من خلال كائن tools ومخطط zod. يدعم Kimi K2.6 استدعاء الوظائف (function calling) بشكل أصلي، لذا يتلقى AI SDK استدعاءات tool_calls مهيكلة دون الحاجة لتحليل نصوص الردود. يسمح المعامل stopWhen: stepCountIs(n) بعدة خطوات متتالية — حيث يقوم النموذج باستدعاء الأداة، والحصول على النتيجة، والاستمرار.
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
import { generateText, tool, stepCountIs } from 'ai';
import { z } from 'zod';
const gonka = createOpenAICompatible({
name: 'gonka',
baseURL: 'https://gate.joingonka.ai/v1',
apiKey: process.env.GONKA_API_KEY,
});
const { text } = await generateText({
model: gonka('MiniMaxAI/MiniMax-M2.7'),
stopWhen: stepCountIs(5),
tools: {
weather: tool({
description: 'معرفة حالة الطقس في المدينة',
inputSchema: z.object({ city: z.string() }),
execute: async ({ city }) => ({ city, tempC: 17 }),
}),
},
prompt: 'ما هي حالة الطقس في موسكو؟ أجب بجملة واحدة.',
});
console.log(text);يقوم النموذج باستدعاء أداة weather، ويحصل على النتيجة ويصيغ الرد النهائي. تبلغ تكلفة الدورة الكاملة حوالي $0.000048 عبر Gonka مقارنة بـ $0.03-0.10 لدى Anthropic أو OpenAI. بالنسبة للتطبيقات الوكيلة (agentic)، حيث يتوسع كل طلب من المستخدم إلى 5-10 خطوات، يتم قياس التوفير في بيئة الإنتاج بآلاف الدولارات شهرياً.
إذا كنت تبني تطبيق AI باستخدام لغة Python، ألقِ نظرة على دليل LangChain — حيث يتم اتباع نفس النهج باستخدام فئة متوافقة مع OpenAI.