
Claude Code أداة برمجة ذكية تعمل في سطر الأوامر. يقوم سلوكها الافتراضي على إرسال كل طلب إلى واجهة برمجة تطبيقات Anthropic، غير أن الطلبات لا تتساوى في ثقلها. التلخيص في الخلفية، والإكمال التلقائي القصير، وتحليل السياقات الطويلة، وإعادة الهيكلة التي تستدعي تفكيراً عميقاً — كل منها يحتاج إلى مستوى مختلف من النماذج. إرسال كل طلب عبر النموذج الأغلى يُراكم التكاليف بسرعة، بينما إرسال الكل عبر نموذج رخيص يُفسد الجودة.
يحل claude-code-router (اختصاراً CCR) هذه المعضلة بطبقة توجيه. يضع وكيلاً بين Claude Code وخلفيات النماذج، ويُفرِّع حركة المرور إلى مزودين ونماذج مختلفة بحسب نوع الطلب. انتشرت الأداة مؤخراً على وسائل التواصل الاجتماعي تحت عنوان استفزازي من قبيل “كيف تستخدم Claude Code مجاناً إلى الأبد”، لكن هذا المقال يتجاوز المبالغة ويركز على القيمة الحقيقية: توجيه النماذج والاستضافة الذاتية.
من منظور ThakiCloud، الجاذبية في CCR واضحة. نحن نُجدوِل وحدات GPU بـ Kueue على Kubernetes ونخدم النماذج المفتوحة بـ vLLM. تتيح CCR توجيه طلبات Claude Code إلى نقاط نهاية vLLM الداخلية، وهو ما يتطابق تماماً مع متطلب الأمان المتمثل في تشغيل أدوات إنتاجية المطورين دون إخراج الكود المصدري خارج المنظمة.
CCR خادم وكيل يستقبل الطلبات بصيغة رسائل Anthropic، ويحوِّلها اختيارياً إلى صيغة متوافقة مع OpenAI أو صيغة أخرى، ثم يُعيد توجيهها إلى المزود المُهيَّأ. لا يُعدِّل عميل Claude Code نفسه. تكفي إشارة متغيرات البيئة إلى CCR، وتتولى الأداة بعدها كل عمليات التوجيه.
القدرات الجوهرية:
default وbackground وthink وlongContext وwebSearch وimage وغيرها.openrouter وdeepseek وgemini وtooluse./model.ccr model.يوضح الرسم أعلاه تدفق التوجيه في بيئة ThakiCloud. تذهب مهام البرمجة الاعتيادية (default) إلى Qwen3 أو DeepSeek التي يخدمها mجموعة vLLM الداخلية؛ المهام الخفيفة في الخلفية تذهب إلى نسخة Ollama محلية؛ مهام التفكير العميق تصل إلى واجهة برمجة Anthropic عند الضرورة فحسب؛ طلبات السياق الطويل تمر عبر OpenRouter. هكذا يتوافق طبيعة الطلب مع تكلفة النموذج.
CCR موزَّعة كحزمة npm عالمية. الأمر الفعلي للتثبيت وناتجه:
npm install -g @musistudio/claude-code-router
التحقق من الإصدار بعد التثبيت:
$ ccr version
claude-code-router version: 2.0.0
الأوامر المتاحة تظهر بـ ccr -h. جزء من الناتج الفعلي:
Usage: ccr [command] [preset-name]
Commands:
start Start server
stop Stop server
restart Restart server
status Show server status
code Execute claude command
model Interactive model selection and configuration
preset Manage presets (export, install, list, delete)
install Install preset from GitHub marketplace
activate Output environment variables for shell integration
ui Open the web UI in browser
-v, version Show version information
يوجد ملف الإعدادات في ~/.claude-code-router/config.json. المقطعان الأساسيان هما مصفوفة Providers وكائن Router. مثال على إعداد يُسجِّل vLLM الداخلي لـ ThakiCloud ونسخة Ollama محلية معاً:
{
"LOG": true,
"API_TIMEOUT_MS": 600000,
"Providers": [
{
"name": "thaki-vllm",
"api_base_url": "http://vllm.internal.thaki:8000/v1/chat/completions",
"api_key": "internal",
"models": ["Qwen3-32B", "deepseek-v3"]
},
{
"name": "ollama",
"api_base_url": "http://localhost:11434/v1/chat/completions",
"api_key": "ollama",
"models": ["qwen2.5-coder:latest"]
}
],
"Router": {
"default": "thaki-vllm,Qwen3-32B",
"background": "ollama,qwen2.5-coder:latest",
"longContext": "thaki-vllm,deepseek-v3"
}
}
تشغيل الخادم وتوجيه Claude Code عبر CCR:
ccr start # تشغيل خادم التوجيه
ccr code "..." # تنفيذ Claude Code عبر CCR
# أو تطبيق متغيرات البيئة على مستوى الصدفة بأكملها
eval "$(ccr activate)"
بمجرد ضبط api_base_url على نقطة نهاية داخلية، يتدفق ذلك الحركة المرورية إلى نسخة vLLM في مجموعتنا بدلاً من Anthropic. الكود والمحادثات لا تغادر المنظمة.
يتحقق هذا المقال من الأداة عبر التثبيت والتشغيل. اكتمل التثبيت العالمي عبر npm في أقل من ثانية؛ الإصدار هو 2.0.0؛ ويكشف CLI بالضبط الأوامر الموثَّقة — start وstop وcode وmodel وpreset وui وغيرها. كل الناتج المقتبس أعلاه مأخوذ من بيئة محلية.
في المقابل، لم تُقَس جولات الاستدلال الفعلية على نقطة نهاية vLLM داخلية في هذه البيئة. يتطلب ذلك نقطة نهاية GPU فعَّالة ومفتاح API صالحاً، ولم يُخترَع أي رقم للتأخير أو معدل معالجة الرموز لملء الفراغ. جودة التوجيه وموثوقية استدعاء الأدوات تعتمدان اعتماداً كبيراً على النموذج الخلفي، لذا يتوجب على كل من يعتمد CCR في الإنتاج إجراء معايرة مباشرة على أعبائه الفعلية.
نموذج توجيه CCR يتلاءم بشكل طبيعي مع البنية التحتية التي تُشغِّلها ThakiCloud بالفعل.
أمن الكود. في البيئات الخاضعة للتنظيم — الخدمات المالية، والقطاع العام، والرعاية الصحية — حيث لا يمكن إخراج الكود المصدري والبيانات الداخلية من المنظمة، تتيح CCR ربط حركة مرور أداة البرمجة الذكية بنسخة vLLM داخلية. الحفاظ على قابلية استخدام Claude Code مع ضمان عدم وصول المحادثات والكود إلى API خارجية يُشكِّل ميزة تنافسية واضحة لمنصة AI على خوادم المنظمة.
التحكم في التكاليف. التوجيه حسب المهمة هو توجيه حسب التكلفة. المهام ذات التكرار العالي والتعقيد المنخفض — كالإكمال التلقائي والتلخيص في الخلفية — تذهب إلى نموذج برمجة صغير مستضاف ذاتياً؛ المهام عالية المخاطرة كالتفكير في القرارات المعمارية تذهب إلى نموذج متميز. يُساهم جدولة GPU عبر Kueue وسلوك تحجيم vLLM في خفض تكاليف أوقات الخمول أيضاً.
التوافق مع التشغيل متعدد المستأجرين. إعدادات المزودين والتوجيه في CCR تُدار في ملفات نصية وإعدادات مسبقة. نشر إعدادات مسبقة لكل مستأجر تربط فرقاً مختلفة بخلفيات ونماذج مختلفة يُطبِّق سياسات النماذج بصيغة كود — متسق مع توجه ThakiCloud في تحويل السياسات إلى كود.
خلاصة القول، CCR ليست منتجاً قائماً بذاته، لكنها حين تُقرَن بخلفية مستضافة ذاتياً تُنتِج قيمة محددة: أداة برمجة ذكية لا تُرسِل الكود خارج المنظمة قط. وهو ما يتطابق تماماً مع رسالة ThakiCloud المتمحورة حول الخوادم الداخلية والكفاءة في التكاليف والاستضافة الذاتية.
طبقة التوجيه لا تحل كل المشكلات. ثمة نقاط تستحق فحصاً صادقاً.
CCR ليست خدعة سحرية لإلغاء التكاليف؛ هي آلية تحكم في التوجيه. حين يُقرَن هذا التحكم ببنية تحتية مستضافة ذاتياً، يغدو تحقيق مكاسب ذات معنى على محورين — الأمن والتكلفة — أمراً ممكناً.
@musistudio/claude-code-router (الإصدار المُتحقَّق من تثبيته: 2.0.0)