أقسام قاعدة المعرفة ▾

التنقل

▸ ابدأ من هنا حسب الدور

الفئات

أدوات 52
قاموس المصطلحات 12

الأدوات

Kimi Code CLI: عميل Moonshot AI بمفتاحك الخاص عبر Gonka

Kimi Code CLI (الأمر kimi) — وكيل طرفية (Terminal Agent) للتطوير من Moonshot AI: يقوم بقراءة وتعديل الكود، وتشغيل الأوامر، والبحث في الملفات، وتوزيع المهام الفرعية على الوكلاء المساعدين. النسخة الحالية حلت محل عميل Python kimi-cli: وهي مكتوبة بلغة TypeScript، ويتم تثبيتها كملف تنفيذي واحد، وهي مفتوحة المصدر بموجب ترخيص MIT. كل ما يلي مرتبط بالإصدار 2.0.2 الصادر في 19 سبتمبر 2026 — والذي قمنا من خلاله بتنفيذ رحلتنا من التثبيت وحتى تلقي رد الوكيل في 23 سبتمبر.

يعمل Kimi Code بشكل افتراضي على نماذج Kimi من خلال تسجيل الدخول إلى الحساب (/login)، ولكن يمكن أن يحتوي على أي عدد من الموفرين: أي endpoint متوافق مع OpenAI يمكن وصفه ببضعة أسطر في ~/.kimi-code/config.toml، ولا حاجة لحساب Moonshot لذلك. JoinGonka Gateway — هو endpoint من هذا النوع لشبكة Gonka اللامركزية.

مباشرة إلى المهم: لا توجد نماذج Kimi في شبكة Gonka حالياً — حيث كانت الشبكة تدعم Kimi K2.6 من مايو إلى سبتمبر 2026. تعمل اليوم عليها نماذج DeepSeek V4 Flash و GLM-5.3 Flash و MiniMax M2.7، وهذا الدليل يتناول كيفية تشغيل Kimi Code عليها. يظل الوكيل كما هو، وتتغير النموذج والسعر: $0.0069 لكل مليون رمز إدخال، وهو سعر موحد لجميع نماذج الشبكة. بعد تأكيد العنوان، سيصل إلى حسابك 3M رمز مجاني — وهي كافية لتكرار كل هذا بنفسك.

بداية سريعة: التثبيت وأمر واحد

الخطوة 1: تثبيت Kimi Code. الطرق الرسمية من التوثيق:

# macOS and Linux: prebuilt binary, no Node.js needed
curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash

# Windows (PowerShell); Git for Windows is required before the first run
irm https://code.kimi.com/kimi-code/install.ps1 | iex

# npm (Node.js 22.19 or newer)
npm install -g @moonshot-ai/kimi-code

يضع السكربت الملف التنفيذي في ~/.kimi-code/bin/kimi ويضيف هذا المجلد إلى PATH عبر ملف إعدادات الصدفة. الإصدارات المبنية تدعم glibc فقط: على Alpine وأنظمة musl الأخرى سيتوقف ويقترح استخدام npm. افتح الطرفية من جديد وتحقق: kimi --version.

الخطوة 2: الحصول على المفتاح. سجّل في gate.joingonka.ai/register، وأكّد العنوان، وأنشئ في قسم «مفاتيح API» مفتاحاً بالبادئة jg-.

الخطوة 3: تشغيل المثبّت.

npx @joingonka/setup --tool kimi-code

سيسألك المثبّت عن المفتاح (لا يمكن تمريره ضمن وسائط سطر الأوامر) ولن يكتب في ~/.kimi-code/config.toml سوى جداوله الخاصة:

  • المزوّد [providers.joingonka] بنوع openai — أي بروتوكول Chat Completions — مع عنوان البوابة والمفتاح في الحقل api_key؛ وستحصل الملفات على الصلاحيات 600;
  • جدول [models."joingonka/…"] لكل نموذج في الشبكة — مع نافذة السياق وسقف الاستجابة الحقيقيين وقدرات صريحة: استدعاء الأدوات للجميع، والاستدلال لـ DeepSeek V4 Flash وGLM-5.3 Flash، وMiniMax M2.7 يقتصر على الأدوات؛
  • default_model — DeepSeek V4 Flash، إذا لم يكن النموذج الافتراضي قد اختير بعد أو كان يشير إلى نموذج غادر شبكة البوابة؛ ولا يمس اختيار مزوّد آخر دون العلم --model، بل يكتفي باقتراح أمر للتشغيل لمرة واحدة؛
  • سيحفظ نسخة من الملف السابق، ولن يمس مزوّدي الآخرين أو حقولك في جداول البوابة، وفي النهاية سيرسل طلباً حياً إلى البوابة ليخبرك هل قُبل المفتاح والعنوان والنموذج.

هكذا بدا الناتج في تجربتنا (مختصراً):

Configured provider "joingonka" in ~/.kimi-code/config.toml
Base URL: https://gate.joingonka.ai/v1 (provider type "openai" — Chat Completions)
Models: joingonka/MiniMaxAI/MiniMax-M2.7, joingonka/deepseek-ai/DeepSeek-V4-Flash-0731, joingonka/zai-org/GLM-5.3-Flash
Default model: joingonka/deepseek-ai/DeepSeek-V4-Flash-0731
…
✓ Verified: the gateway accepted the key, base URL and model.

يحدد العلم --model نموذجاً افتراضياً آخر (glm أو minimax أو المعرّف الكامل)؛ أما الوضع بلا أسئلة فيأخذ المفتاح من متغير البيئة:

JOINGONKA_API_KEY=jg-your-key npx @joingonka/setup --tool kimi-code --model glm --non-interactive

ويراعي المثبّت تلقائياً مجلد البيانات المنقول عبر المتغير KIMI_CODE_HOME. أما ~/.kimi فهو مجلد عميل Python السابق kimi-cli: لا يقرأه Kimi Code 2.x، بل يعرض عند أول تشغيل نقل الإعدادات منه (والأمر kimi migrate يفعل الشيء ذاته).

الإعداد اليدوي: config.toml

كل ما يفعله المُثبِّت يمكن كتابته يدويًا. يحفظ Kimi Code الإعدادات بصيغة TOML؛ وتُوضع مفاتيح الجداول التي تحتوي على نقطة أو شرطة مائلة بين علامتي اقتباس. إليك المقطع الكامل لشبكة Gonka:

default_model = "joingonka/deepseek-ai/DeepSeek-V4-Flash-0731"

[providers.joingonka]
type = "openai"
base_url = "https://gate.joingonka.ai/v1"
api_key = "jg-your-key"

[models."joingonka/deepseek-ai/DeepSeek-V4-Flash-0731"]
provider = "joingonka"
model = "deepseek-ai/DeepSeek-V4-Flash-0731"
max_context_size = 380000
max_output_size = 32768
capabilities = ["thinking", "tool_use"]
display_name = "DeepSeek V4 Flash (Gonka)"

[models."joingonka/zai-org/GLM-5.3-Flash"]
provider = "joingonka"
model = "zai-org/GLM-5.3-Flash"
max_context_size = 390000
max_output_size = 8192
capabilities = ["thinking", "tool_use"]
display_name = "GLM 5.3 Flash (Gonka)"

# MiniMax M2.7، بخلاف DeepSeek وGLM، يُعرَّف دون thinking
[models."joingonka/MiniMaxAI/MiniMax-M2.7"]
provider = "joingonka"
model = "MiniMaxAI/MiniMax-M2.7"
max_context_size = 200000
max_output_size = 8192
capabilities = ["tool_use"]
display_name = "MiniMax M2.7 (Gonka)"
الحقلالقيمةما يهم
default_modelاسم مستعار للنموذجيشير إلى اسم الجدول [models."…"]، وليس إلى معرّف النموذج
max_context_sizeنافذة سياق النموذجحقل إلزامي؛ عليه يعتمد الوكيل في تحديد متى يضغط السياق
max_output_sizeسقف الرديُرسَل في الطلب بوصفه max_tokens — وقد تحققنا من ذلك على مستوى الشبكة. بدون هذا الحقل سيطلب Kimi Code حتى 131 072 رمزًا للرد، وهو أكثر مما تقدمه نماذج الشبكة
capabilitiesthinking، tool_useلا يخمّن Kimi Code قدرات النماذج غير المألوفة من أسمائها — أعلِنها صراحةً

أين تحفظ المفتاح. لا يأخذ Kimi Code المفاتيح من بيئة الطرفية: export OPENAI_API_KEY=… لا يؤثر عليه. هناك طريقتان، ولا يمكن استخدامهما معًا في الوقت نفسه:

الطريقةالصيغةكيف تتصرّف
المفتاح في الملفapi_key = "jg-…"هكذا يكتبه المُثبِّت؛ يعمل من أي بيئة، واحفظ الملف بأذونات 600
اسم المتغيّرapi_key_env = "JOINGONKA_API_KEY"تُقرأ القيمة من بيئة العملية عند كل طلب؛ وبدون المتغيّر يفشل التشغيل بخطأ يُذكر فيه اسمه

إذا وُجد الحقلان معًا في جدول واحد، سيرفضهما Kimi Code عند التشغيل: has both apiKey and apiKeyEnv set in config.toml - they are mutually exclusive. لاحظ أن kimi doctor لا يلتقط هذا التعارض — فهو يفحص شكل الملف فقط.

أي نوع من المزوّدين تختار. يدعم Kimi Code عدة بروتوكولات، وكذلك البوابة:

typebase_urlمتى تختاره
openaihttps://gate.joingonka.ai/v1الخيار الأساسي: المسار القياسي للبوابة، وهو ما يكتبه المُثبِّت
anthropichttps://gate.joingonka.aiتنسيق Anthropic Messages، والعميل يضيف المسار /v1/messages من تلقاء نفسه؛ وقد نجحت الدورة الكاملة مع الأدوات في تجربتنا

كل مزوّد في Kimi Code يتحدث بروتوكولًا واحدًا، لذا فإن البروتوكول الثاني يعني مزوّدًا ثانيًا باسم آخر. ولإضافة المزوّدين وحذفهم تفاعليًا استخدم الأمر /provider داخل الوكيل.

النماذج، Thinking والوكلاء الفرعيون

النموذج في Kimi Code هو alias — اسم الجدول [models."…"]. يسمّيه المثبّت وفق النمط joingonka/<model-id>، تمامًا كما يسمّي Kimi Code نماذجه الخاصة (kimi-code/k3)، وهذا الـ alias بالذات هو المطلوب في كل مكان يُختار فيه النموذج. أما المعرّف بدون بادئة، مثل MiniMaxAI/MiniMax-M2.7، فلن يجده Kimi Code.

أينكيفهل يُحفظ
config.tomldefault_model = "joingonka/deepseek-ai/DeepSeek-V4-Flash-0731"نعم، للجلسات الجديدة
علَم التشغيلkimi -m "joingonka/zai-org/GLM-5.3-Flash"لا، لهذا التشغيل فقط
الواجهة/model، اختيار من القائمةEnter يعيد كتابة default_model، وAlt+S للجلسة الحالية فقط

في تجربتنا بدا /model هكذا:

Select a model  (type to search)
Tab toggle provider · ↑↓ navigate · Enter select · Alt+S session-only · Esc cancel

 All   joingonka

   MiniMax M2.7 (Gonka)       joingonka
 ❯ DeepSeek V4 Flash (Gonka)  joingonka ← current
   GLM 5.3 Flash (Gonka)      joingonka

 Thinking  (←→ to switch)
  [ On ]    Off

مفتاح Thinking. مفتاح الاستدلال تحت القائمة لا يغيّر شيئًا بحد ذاته على نماذج الشبكة: فـ Kimi Code لا يرسل مستوى الاستدلال إلا للنماذج التي تُعلن عن مستوياته. وبالنسبة إلى GLM-5.3 Flash يستحسن فعل ذلك — فعندها يُطفأ الاستدلال بالقيمة low (التفاصيل في مراجعة النموذج). أضف إلى جدول النموذج ثلاثة حقول:

[models."joingonka/zai-org/GLM-5.3-Flash"]
# … fields written by the installer …
support_efforts = ["low", "high"]
default_effort = "high"
off_effort = "low"

تحققنا مما يُرسَل إلى البوابة: مع تفعيل Thinking يرسل Kimi Code القيمة reasoning_effort: "high" فيستدل النموذج؛ ومع إطفائه يرسل "low" فيأتي الرد دون كتلة استدلال. وإعادة تشغيل المثبّت لن تمسّ هذه الحقول: فهو لا يعدّل إلا مفاتيحه الخاصة.

النموذج للوكلاء الفرعيين. الوكلاء الفرعيون المدمجون (coder وexplore وplan) يعملون افتراضيًا على نموذج الوكيل الرئيسي. ويمنحهم قسم [secondary_model] تجمّعًا يختار منه الوكيل الرئيسي بنفسه، مسترشدًا بالتلميحات. ويصلح أي alias لهذا التجمّع — DeepSeek V4 Flash أو GLM-5.3 Flash أو MiniMax M2.7:

[secondary_model]
default_model = "joingonka/deepseek-ai/DeepSeek-V4-Flash-0731"

[secondary_model.models]
"joingonka/deepseek-ai/DeepSeek-V4-Flash-0731" = "Long context and long output: big reads and edits."
"joingonka/zai-org/GLM-5.3-Flash" = "Reasoning model for tricky logic and debugging."

يجب أن تطابق مفاتيح التجمّع الـ aliases الموجودة في [models]: فبحسب التوثيق، الرابط المعلّق يمنع إنشاء الجلسة. ويُضاف سطر MiniMax M2.7 بالطريقة نفسها؛ أما الروابط إلى نماذج غادرت الشبكة فينظّفها المثبّت تلقائيًا عند إعادة التشغيل.

أي نموذج تختار. السعر واحد لدى جميع نماذج الشبكة، لذا الاختيار يتعلق بالسلوك. وهكذا تصرفت في Kimi Code 2.0.2 عند مهمة «اقرأ الملف واعثر على الخطأ» (مُتحقَّق منه في 23 سبتمبر 2026):

النموذجالسياق / الردكيف يتصرف في Kimi Code
DeepSeek V4 Flash380K / 32768خيار المثبّت: نافذة كبيرة وأعلى سقف للرد في الشبكة. يحلّ المهمة بشكل صحيح
GLM-5.3 Flash390K / 8192نموذج استدلالي: الاستدلال يجري في تدفق منفصل (في kimi -p — إلى stderr)، والرد في stdout. والاستدلال داخل حدّ الرد
MiniMax M2.7200K / 8192يحلّ المهمة بشكل صحيح في خطوتين؛ الاستدلال يجري في تدفق منفصل (في kimi -p — إلى stderr)، وفي stdout الرد فقط

التحقق: ما الذي يجب أن يحدث

أولاً، تأكد من أن Kimi Code يتعرّف على المزوّد وأن الملف يُحلَّل دون أخطاء:

$ kimi provider list
joingonka  type=openai  models=3  source=inline

Default model: joingonka/deepseek-ai/DeepSeek-V4-Flash-0731

$ kimi doctor
OK config.toml  ~/.kimi-code/config.toml

لا تنشر مخرجات kimi provider list --json في أي مكان: فالمفتاح فيها يظهر كنص مكشوف.

ثم — تشغيل تجريبي واحد. ضع في المجلد ملف calc.py يحتوي على دالة جمع لكنها في الحقيقة تطرح، واطلب منه إيجاد الخطأ:

kimi -p "Read calc.py and tell me in one sentence whether it has a bug."

في وضع -p تذهب الإجابة إلى stdout، بينما يذهب التفكير ومسار الأدوات إلى stderr، ما يجعل معالجة المخرجات عبر سكربت أمراً مريحاً. هكذا أجاب GLM-5.3 Flash:

• Yes: the `add` function in calc.py:2 returns `a - b` instead of `a + b`, so `add(2, 3)` prints `-1`.

خذ في الحسبان: في وضع -p لا يسأل Kimi Code عن أي شيء وينفّذ الأوامر من تلقاء نفسه — في تجربتنا حاول النموذج دون استئذان تشغيل python3 للتحقق من تخمينه. أول تشغيل للواجهة في مجلد جديد يبدأ بسؤال Trust this folder? — وهو يخص خوادم MCP الخاصة بالمشروع — وعلى شاشة الترحيب يظهر النموذج: Model: DeepSeek V4 Flash (Gonka). النصف الثاني من الاختبار هو لوحة تحكم البوابة: في قسم "الاستخدام" سيظهر الطلب في تصنيف حسب النماذج وحسب المفاتيح.

إذا حدث خطب ما، عادةً ما يُقرأ التشخيص مباشرة من الرسالة:

ما الذي يظهرماذا يعنيما العمل
No model configured. Run `kimi` and use /login to sign in …لم يُضبط المزوّد أو أن default_model فارغشغّل أداة التثبيت أو اكتب default_model
Model "deepseek-ai/DeepSeek-V4-Flash-0731" is not configured in config.toml.تم تمرير معرّف النموذج في -m بدلاً من الاسم المستعارأضف السابقة: joingonka/deepseek-ai/…
provider.auth_error: 401 Invalid API keyالبوابة لم تقبل المفتاحتحقق من api_key في [providers.joingonka]: فـ Kimi Code لا يقرأ متغيّرات الصدفة
declares api_key_env = "JOINGONKA_API_KEY" … but the environment variable is not set or is emptyتم اختيار طريقة المتغيّر لكنه غير موجود في البيئةصدّر المتغيّر قبل التشغيل أو ارجع إلى api_key
429 … currently overloaded in the Gonka network (rate limit)نفدت السعة المتاحة للنموذج في الشبكةمثل هذه الأخطاء يعيدها Kimi Code من تلقاء نفسه؛ وإن طال الأمر — غيّر النموذج عبر /model. الحالة ظاهرة على صفحة الحالة

كم تبلغ التكلفة

مع كل جملة تطلبها، يضيف Kimi Code موجه نظام (system prompt) وأوصافاً لحوالي عشرين أداة مدمجة، وعادة ما تستغرق المهمة عدة خطوات. في تشغيلنا، كانت كل خطوة تحمل حوالي 20 ألف رمز (token) مدخل، واستغرقت مهمة "اقرأ الملف، اعثر على الخطأ" خطوتين — حوالي 40 ألف رمز، كلها تقريباً في المدخلات. لذلك فإن سعر الرمز هنا هو العامل الحاسم.

عبر JoinGonka Gateway تبلغ تكلفة الرموز $0.0069 لكل مليون رمز مدخل و$0.021 لكل مليون رمز مخرج — السعر متطابق لجميع نماذج الشبكة ويتم تحديثه في هذه الصفحة من مصدر مباشر.

السيناريوالاستهلاكعبر البوابة (Gateway)
مهمة لمرة واحدة: قراءة ملف، العثور على خطأ~40K رمزجزء من سنت
يوم عمل نشط3-7M رمزبضعة سنتات
شهر تطوير نشط~150M رمزحوالي دولار

التقديرات في العمود الأيمن بناءً على الأسعار في سبتمبر 2026. للمقارنة — كيف يمكنك عموماً الدفع مقابل النماذج في Kimi Code:

الطريقةكيف يتم الاتصالما تحتاجه
Kimi Code (OAuth)/login، الدخول برمز الجهازحساب Kimi؛ الحدود والسعر حسب شروط الخدمة
Kimi Platform/login بمفتاح API الخاص بالمنصةمفتاح من platform.kimi.com أو platform.kimi.ai، الدفع حسب قائمة أسعار المنصة
JoinGonka Gatewayمزود في config.tomlمفتاح jg-…؛ لا حاجة لحساب Moonshot، الدفع مقابل الرموز الفعلية، الاستهلاك يظهر في لوحة التحكم

الاستهلاك الدقيق والرصيد المتبقي — في لوحة التحكم، في قسمي "الاستخدام" (Usage) و "الفواتير" (Billing). يراقب Kimi Code طول المحادثة بنفسه: يظهر شريط الحالة مقدار السياق المستخدم، ويقوم أمر /compact بضغط السجل يدوياً.

ما يجب مراعاته عند العمل

أوضاع الأذونات. في واجهة Kimi Code، يعمل الوضع الافتراضي Always Ask: تتم القراءة على الفور، بينما لا يتم تنفيذ التعديلات والأوامر إلا بعد تأكيدك. الوضع Ask When Needed (/yolo أو العلم --yolo) يتخطى التعديلات والأوامر الروتينية، ولكنه يسأل عن الملفات الحساسة والأوامر الخطيرة؛ الوضع Never Ask (/auto, --auto) لا يسأل عن أي شيء. يتم تفعيل وضع التخطيط عبر Shift-Tab. يتم تنفيذ التشغيل الفردي kimi -p دائماً دون أسئلة، لذا قم بتشغيله في حاوية أو نسخة عمل منفصلة.

ما يعمل بدون حساب Moonshot. يقوم الموفر الخاص بمعالجة كل ما يفعله النموذج: قراءة وتحرير الكود، الأوامر، الوكلاء الفرعيين، الجلسات، خوادم MCP. البحث عبر الويب هو خدمة من Moonshot: بدون تسجيل الدخول إلى الحساب، لا تتوفر أداة WebSearch في مجموعة الوكلاء، لكن تحميل الصفحة عبر العنوان (FetchURL) يظل متاحاً. نماذج الشبكة هي نماذج نصية، لذا فإن إدخال الصور والفيديو عليها لا يعمل.

القياس عن بعد والتحديثات. يتم تشغيل القياس عن بعد المجهول افتراضياً: لإيقافه، استخدم السطر telemetry = false في config.toml أو المتغير KIMI_DISABLE_TELEMETRY=1. يتم تثبيت التحديثات تلقائياً ([upgrade] auto_install = true في ~/.kimi-code/tui.toml)؛ إذا كنت بحاجة إلى القدرة على التنبؤ، قم بإيقاف التشغيل والتحديث عبر الأمر kimi upgrade. لا تقوم البوابة بتخزين محتوى المطالبات والردود — تبقى فقط إجماليات الاستهلاك في الإحصائيات.

بيئات متعددة. لا توجد إعدادات للموفرين على مستوى المشروع في Kimi Code. يمكنك فصل مفاتيح العمل والمفاتيح الشخصية عبر المتغير KIMI_CODE_HOME: معه تنتقل الإعدادات والجلسات والسجلات إلى دليل آخر، ويكتب المثبت الذي يتم تشغيله بنفس المتغير في نفس المكان.

في المحرر. يعمل Kimi Code داخل Zed وJetBrains وعملاء ACP الآخرين عبر الأمر kimi acp — مع نفس دليل البيانات ونفس الموفرين.

تقوم المختبرات التي تخدم الشبكة نماذجها بإصدار وكلائها الخاصين أيضاً: لدى MiniMax وكيل MiniMax Code يعمل عبر الطرفية، ولدى DeepSeek وكيل DeepSeek Harness، ولدى Z.ai (مؤلفو GLM) وكيل ZCode. جميعها تتصل بنفس البوابة بنفس المفتاح.

Kimi Code CLI هو وكيل طرفية من Moonshot AI، مفتوح لموفري الطرف الثالث: لا توجد نماذج Kimi حالياً في شبكة Gonka، لكنه يعمل بشكل طبيعي على DeepSeek V4 Flash وGLM-5.3 Flash وMiniMax M2.7 بدون حساب Moonshot. الطريق السريع هو npx @joingonka/setup --tool kimi-code: سيقوم المثبت بكتابة الموفر joingonka بنوع openai مع المفتاح، وجداول النماذج بحدود عادلة والنموذج الافتراضي في ~/.kimi-code/config.toml، ثم سيتحقق من الاتصال بطلب حي. يتم اختيار النموذج عبر الاسم المستعار joingonka/<id> — في /model أو عبر العلم -m؛ لكي يعمل مفتاح Thinking مع GLM-5.3 Flash، قم بالإعلان عن support_efforts وoff_effort = "low". للتحقق استخدم kimi provider list وkimi -p على ملف به خطأ؛ ادفع مقابل الرموز الفعلية بالسعر الموحد للشبكة.

تريد معرفة المزيد؟

استكشف الأقسام الأخرى أو ابدأ في كسب GNK الآن.

الحصول على مفتاح ورموز مجانية →