8. أدوات CLI للبرمجة بالذكاء الاصطناعي (AI Coding CLIs)
6 دقيقة للقراءة

دليل OpenCode الشامل (OpenCode Comprehensive Guide)

مقدمة

OpenCode (المعروف أيضاً بـ OhMyOpenCode) هو مساعد برمجي مفتوح المصدر يعمل بالذكاء الاصطناعي. يتميز OpenCode بنظام متعدد الوكلاء (Multi-Agent) حيث يعمل عدة وكلاء متخصصين معاً لإنجاز مهام البرمجة المعقدة.

ما الذي يجعل OpenCode مميزاً؟

🔓 مفتوح المصدر بالكامل - الكود متاح للجميع للتدقيق والتعديل

🤖 نظام متعدد الوكلاء - وكلاء متخصصون (Planner، Coder، Reviewer، Tester، Debugger)

🌐 دعم نماذج متعددة - OpenAI، Anthropic Claude، نماذج محلية (Ollama، LM Studio)

🔒 خيار الخصوصية - يمكنك تشغيله محلياً بالكامل على جهازك

💰 مجاني أساساً - أدفع فقط لـ API، أو استخدم نماذج محلية مجاناً


المتطلبات الأساسية

قبل البدء، تأكد من توفر:

  1. Node.js 18+ أو أحدث

    node --version  # يجب أن يكون v18 أو أحدث
    
  2. Terminal - bash، zsh، PowerShell، أو CMD

  3. مفتاح API (للنماذج السحابية) أو نموذج محلي (Ollama أو LM Studio)

  4. اتصال بالإنترنت (للنماذج السحابية)


التثبيت

OpenCode يوفر ثلاث طرق للتثبيت. اختر ما يناسبك:

الطريقة 1: npm (موصى به)

# التثبيت العالمي
npm install -g @ohmyopencode/cli

# التهيئة الأولية
opencode init

الطريقة 2: Docker

# سحب الصورة
docker pull ohmyopencode/cli

# التشغيل
docker run -it ohmyopencode/cli

الطريقة 3: من المصدر

# استنساخ المستودع
git clone https://github.com/ohmyopencode/opencode
cd opencode

# التثبيت
npm install
npm run build
npm link

الإعداد الأولي

بعد التثبيت، قم بتشغيل أمر الإعداد:

opencode config

سيطلب منك OpenCode اختيار:

  1. مزود الذكاء الاصطناعي:

    • 1 - OpenAI (GPT-4، GPT-3.5)
    • 2 - Anthropic (Claude)
    • 3 - محلي (Ollama، LM Studio)
    • 4 - Azure OpenAI
    • 5 - Google (PaLM، Gemini)
  2. مفتاح API - إذا اخترت مزوداً سحابياً

  3. النموذج الافتراضي - اختر النموذج الذي تريد استخدامه


الاستخدام الأساسي

1. إنشاء مشروع جديد

opencode project create "تطبيق Todo مع Next.js"

ما يحدث:

  • Planner Agent: يحلل الطلب ويخطط البنية
  • Coder Agent: يكتب ملفات المشروع
  • Tester Agent: ينشئ اختبارات
  • Reviewer Agent: يراجع الكود ويقترح تحسينات

2. التحدث مع OpenCode

opencode chat

مثال محادثة:

أنت: كيف يمكنني إضافة المصادقة لتطبيقي؟

OpenCode: لإضافة المصادقة، يمكنك استخدام:

1. NextAuth.js - الحل الأكثر شعبية لـ Next.js
2. Clerk - خدمة مصادقة جاهزة
3. Supabase Auth - مصادقة مدمجة مع قاعدة البيانات

أي واحد تريد أن أساعدك في تنفيذه؟

3. إصلاح الأخطاء

opencode debug --error "TypeError: Cannot read property 'id' of undefined"

4. المراجعة

opencode review src/components/UserCard.tsx

الميزات الرئيسية

1. نظام الوكلاء المتعددين (Multi-Agent System)

OpenCode يستخدم وكلاء متخصصين:

┌─────────────────────────────────────────┐
│         User Request                   │
└─────────────┬───────────────────────────┘
              │
              ▼
┌─────────────────────────────────────────┐
│      📋 Planner Agent                  │
│  - يحلل الطلب                          │
│  - يقسم المهام                         │
│  - يحدد الترتيب                        │
└─────────────┬───────────────────────────┘
              │
              ▼
┌─────────────────────────────────────────┐
│      💻 Coder Agent                     │
│  - يكتب الكود                          │
│  - ينشئ الملفات                        │
└─────────────┬───────────────────────────┘
              │
              ▼
┌─────────────────────────────────────────┐
│      ✅ Reviewer Agent                  │
│  - يراجع الجودة                        │
│  - يقترح تحسينات                       │
└─────────────┬───────────────────────────┘
              │
              ▼
┌─────────────────────────────────────────┐
│      🧪 Tester Agent                    │
│  - ينشئ اختبارات                       │
│  - يتحقق من التغطية                    │
└─────────────┬───────────────────────────┘
              │
              ▼
┌─────────────────────────────────────────┐
│      🐛 Debugger Agent (عند الحاجة)    │
│  - يحدد الأخطاء                        │
│  - يقترح حلولاً                        │
└─────────────┬───────────────────────────┘
              │
              ▼
         ✨ Final Output

2. إعادة هيكلة كود شامل

# تحويل ملفات JS إلى TypeScript
opencode refactor src/legacy --to typescript

# إضافة TypeScript strict mode
opencode refactor . --add-strict-mode

# تحويل Class Components إلى Functional Components
opencode refactor src/components --to-functional

3. التوليد التفاعلي

# الوضع التفاعلي
opencode agent --interactive

# الوضع المستقل (autonomous)
opencode agent "أضف ميزة السلة الشرائية"

التكوين المتقدم

ملف القواعد المخصص

أنشئ ملف .opencode-rules في جذر مشروعك:

# .opencode-rules
project:
  name: "تطبيقي"
  type: "Next.js 14 + TypeScript"
  description: "تطبيق SaaS للمهام"

coding_style:
  - "استخدم TypeScript strict mode"
  - "فضّل المكونات الوظيفية"
  - "استخدم Tailwind CSS"
  - "اكتب اختبارات لجميع utilities"
  - "اتبع convention: camelCase للمتغيرات"

ai_preferences:
  model: "claude-3-opus"
  temperature: 0.2
  max_tokens: 4000
  timeout: 30000

agents:
  planner: "claude-3-opus"
  coder: "gpt-4"
  reviewer: "claude-3-sonnet"
  tester: "gpt-4"

paths:
  src: "./src"
  tests: "./tests"
  output: "./dist"

ignore:
  - "node_modules/**"
  - ".next/**"
  - "dist/**"
  - "*.min.js"

اختيار النموذج

# عرض النماذج المتاحة
opencode models list

# تعيين النموذج الافتراضي
opencode config set model claude-3-opus

# تعيين نماذج لوكلاء مختلفين
opencode config set agent.planner claude-3-opus
opencode config set agent.coder gpt-4
opencode config set agent.reviewer claude-3-sonnet

استخدام النماذج المحلية

# إعداد Ollama
opencode config set provider ollama
opencode config set model codellama

# إعداد LM Studio
opencode config set provider lmstudio
opencode config set model local-model
opencode config set apiEndpoint http://localhost:1234

سيناريوهات الاستخدام

السيناريو 1: بناء MVP لشركة ناشئة

opencode project create "SaaS Starter Kit"

ينشئ OpenCode:

  • ✅ نظام مصادقة كامل
  • ✅ قاعدة بيانات Supabase
  • ✅ API routes
  • ✅ واجهة أمامية React
  • ✅ نظام اشتراكات
  • ✅ لوحة تحكم

الوقت المستغرق: ~10 دقائق (بدلاً من أسابيع!)

السيناريو 2: تعلم إطار عمل جديد

opencode learn "بناء blockchain من الصفر"

يقدم OpenCode:

  • شرح خطوة بخطوة
  • كود عامل لكل خطوة
  • اختبارات للتحقق
  • روابط للمزيد من الموارد

السيناريو 3: إصلاح أخطاء معقدة

opencode debug --file src/utils/api.ts --error "ECONNREFUSED"

يقوم OpenCode بـ:

  • تحليل مكدس الاستدعاء (stack trace)
  • فحص الكود المرتبط
  • اقتراح الحلول المحتملة
  • تطبيق الإصلاح

السيناريو 4: توليد الاختبارات

opencode test src/services/auth.ts

ينشئ OpenCode:

  • اختبارات الوحدة (unit tests)
  • اختبارات التكامل (integration tests)
  • اختبارات الحافة (edge cases)
  • Mocks للتبعيات الخارجية

السيناريو 5: التوثيق

opencode document src/api/users.ts

ينشئ OpenCode:

  • JSDoc comments
  • Type definitions
  • أمثلة للاستخدام
  • README للملف

أفضل الممارسات

✅ DO (افعل هذا):

# قدم سياقاً واضحاً
opencode ask "كيف يمكنني إضافة REST API لمشروع Next.js الخاص بي؟"

# استخدم ملفات مرجعية محددة
opencode refactor src/components/Button.tsx --to-functional

# راجع الكود قبل الموافقة
opencode review src --interactive

# استخدم النموذج المناسب للمهمة
opencode chat --model claude-3-haiku  # للأسئلة البسيطة والسريعة
opencode build --model claude-3-opus   # للمهام المعقدة

# جرّب اقتراحات OpenCode
opencode suggest "كيف يمكنني تحسين أداء تطبيقي؟"

❌ DON'T (لا تفعل هذا):

# 🚫 لا تنسخ كوداً بدون فهمه
opencode generate "كود معقد" → انسخ وفقط ❌

# 🚫 لا تستخدمه لكود حساس
opencode refactor src/api/keys.ts ❌  # مفاتيح API سرية

# 🚫 لا تتوقع الكمال من المحاولة الأولى
opencode build "تطبيق كامل" → يتوقع خالٍ من الأخطاء ❌

# 🚫 لا تتخطى الاختبارات
opencode generate "كود" → لا يختبره ❌

# 🚫 لا تستخدمه للقرصنة أو أنشطة غير قانونية
opencode help "كيف أخترق موقع؟"

التسعير والترخيص

النسخة المجانية (Community)

مجاني 100%

  • أدخل مفاتيح API الخاصة بك
  • استخدم نماذج محلية مجاناً
  • كل الميزات الأساسية

النسخة السحابية (Cloud) - $15/شهر

☁️ مضمن:

  • نماذج AI مستضافة
  • لا حاجة لإدارة مفاتيح API
  • دعم ذو أولوية
  • تحديثات تلقائية

النسخة المؤسساتية (Enterprise) - مخصص

🏢 يتضمن:

  • نشر محلي (On-premise)
  • ضبط نماذج مخصصة
  • SSO + ميزات أمان
  • دعم مخصص 24/7
  • SLA مضمون

الترخيص

OpenCode مرخص تحت MIT License:

  • ✅ استخدام تجاري
  • ✅ تعديل
  • ✅ توزيع
  • ✅ استخدام خاص

المقارنة مع البدائل

الميزةOpenCodeCursorClaude CLICopilot CLI
مفتوح المصدر✅ نعم❌ لا❌ لا❌ لا
نظام متعدد الوكلاء✅ نعم⚠️ جزئي❌ لا❌ لا
نماذج محلية✅ نعم❌ لا❌ لا❌ لا
تكامل المحرر✅ الكل✅ أصلي⚠️ محدود⚠️ محدود
السعر🆓 مجاني💰 $20/شهر💰 $20/شهر💰 $10/شهر
الخصوصية⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
تعدد النماذج✅ نعم⚠️ محدود⚠️ محدود❌ لا
قابلية التخصيص⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

لماذا تختار OpenCode؟

  1. للسيطرة الكاملة - كود مفتوح، عدله كما تشاء
  2. للخصوصية - شغله محلياً، بياناتك لا تغادر جهازك
  3. للمرونة - دعم أي نموذج AI أو مزود
  4. للتوفير - ادفع فقط لما تستخدم (أو استخدم نماذج محلية مجانية)
  5. للشفافية - انظر كيف يعمل النظام بالداخل

دمج المحرر

VS Code

opencode install vscode

يضيف:

  • أوامر في Command Palette
  • تكامل مباشر مع المحرر
  • إكمال تلقائي ذكي

Cursor

opencode install cursor

Neovim

opencode install nvim

نصائح متقدمة

1. عمليات متعددة الملفات

# إعادة هيكلة عبر قاعدة الكود بالكامل
opencode refactor "تحويل جميع Class Components إلى Functional Components"

# إضافة ميزة عبر ملفات متعددة
opencode feature "أضف Dark Mode"
# ينشئ: hooks, context, components, utils

2. التحجيم التلقائي

# الوضع المستقل - يعمل حتى تكتمل المهمة
opencode agent --autonomous "ابنِ REST API مع MongoDB"

# الوضع الخاضع للإشراف - يطلب الموافقة في كل خطوة
opencode agent --interactive "إعادة هيكلة هذا الملف"

3. السياق الذكي

# يقرأ OpenCode:
# - قاعدة الكود الخاصة بك
# - Git history
# - Package dependencies
# - ملف .opencode-rules
# - حالة المحرر النشطة

opencode ask "لماذا يعيد هذا المكون Rendering؟"
# يستخدم كل السياق للإجابة بدقة

استكشاف الأخطاء وإصلاحها

مشكلة: "opencode: command not found"

الحل:

# تأكد من التثبيت العالمي
npm install -g @ohmyopencode/cli

# تأكد من PATH
echo $PATH  # يجب أن يحتوي على مسار npm

مشكلة: "API key invalid"

الحل:

# أعِ تعيين مفتاح API
opencode config set apikey YOUR_NEW_KEY

# تحقق من المفتاح
opencode config get apikey

مشكلة: "Model not available"

الحل:

# اعرض النماذج المتاحة
opencode models list

# اختر نموذجاً مختلفاً
opencode config set model gpt-3.5-turbo

مشكلة: "Local model not responding"

الحل:

# تأكد من تشغيل Ollama
ollama list

# شغّل النموذج
ollama run codellama

# تحقق من الاتصال
curl http://localhost:11434/api/tags

الموارد

التوثيق الرسمي

المجتمع

المساعدة

# مساعدة عامة
opencode --help

# مساعدة لأمر محدد
opencode build --help
opencode chat --help

# الإبلاغ عن مشكلة
gh issue create --repo ohmyopencode/opencode

ملخص سريع (Quick Reference)

# أوامر أساسية
opencode chat                    # محادثة تفاعلية
opencode ask "سؤال"             # سؤال مباشر
opencode build "طلب"            # بناء ميزة
opencode refactor path          # إعادة هيكلة
opencode debug --error "..."    # تصحيح أخطاء
opencode review path            # مراجعة كود

# الأوامر الشائعة
opencode init                   # إعداد أولي
opencode config                 # إعدادات
opencode models list            # عرض النماذج

# مع الخيارات
opencode build "طلب" --model claude-3-opus     # نموذج محدد
opencode agent --interactive                  # تفاعلي
opencode refactor path --to typescript        # تحويل إلى TS

الإضافات والبلاجنز الموصى بها 🔌

OpenCode كأداة مفتوحة المصدر تسمح للمطورين بإنشاء إضافات قوية. إليك أهم الإضافات التي ستجعل تجربتك خرافية:

1. Oh My OpenCode ⭐

هذه الإضافة تجعل OpenCode 10 أضعاف أقوى:

# تثبيت Oh My OpenCode
opencode plugin add oh-my-opencode

# أو التثبيت العالمي
npm install -g oh-my-opencode

ما تضيفه لك:

الوكيلالوظيفة
🏗️ Architect Agentتصميم بنية المشروع
💻 Senior Coderكتابة كود احترافي
🔍 Code Reviewerمراجعة دقيقة للكود
🧪 Test Engineerإنشاء اختبارات شاملة
🐛 Debug Expertتحديد الأخطاء المعقدة
📝 Documentorكتابة توثيق كامل
🔒 Security Auditorفحص الثغرات الأمنية
🚀 Performance Optimizerتحسين الأداء
🎨 UI/UX Expertتحسين الواجهات
📦 DevOps Agentإعداد CI/CD

الاستخدام:

# كل وكيل متخصص بمهمة
opencode agent architect "صمم بنية تطبيق e-commerce"
opencode agent security "افحص الكود للثغرات"
opencode agent performance "حسّن هذا الملف"

2. Antigravity Auth 🔐

هذه الإضافة تربط OpenCode بـ Antigravity للحصول على نماذج ذكاء اصطناعي مجانية:

# تثبيت الإضافة
opencode plugin add antigravity-auth

# ربط حسابك
opencode auth connect antigravity

الفوائد:

✅ استخدام Claude Opus 4.5 مجاناً
✅ استخدام Gemini 3 Pro مجاناً
✅ استخدام Gemini 3 Flash مجاناً
✅ لا حاجة لمفاتيح API مدفوعة

كيف تعمل:

  1. سجل حساب مجاني في Antigravity
  2. ثبت الإضافة في OpenCode
  3. اربط حسابك بأمر opencode auth connect antigravity
  4. استمتع بالنماذج المجانية!

ملاحظة: الاستخدام محدود يومياً، لكنه يتجدد تلقائياً.

3. إضافات MCP و Skills

لتفعيل MCP و Skills (راجع مقال دليل MCP و Skills):

# تفعيل MCP
opencode mcp init

# تفعيل Skills
opencode skills enable web-search
opencode skills enable code-executor
opencode skills enable database-query

بديل التكلفة: GLM على Claude Code 💰

إذا كنت تريد استخدام Claude Code لكن بتكلفة أقل:

الطريقة: استخدام نموذج GLM بدلاً من Claude Opus

التكلفة الأصلية: $20 - $200/شهر
التكلفة الجديدة: $6 - $30/شهر

كيف تفعلها:

# بعد تثبيت Claude Code
claude config set model glm-4.7

# أو في ملف الإعدادات
# ~/.claude-config
model: glm-4.7

هل GLM أفضل من Claude؟

  • ❌ لا، Claude Opus 4.5 أقوى
  • ✅ لكن GLM ممتاز للتعلم بميزانية محدودة
  • ✅ مناسب للمشاريع البسيطة والمتوسطة

الخلاصة

OpenCode هو مساعد برمجي مفتوح المصدر مع نظام ذكاء اصطناعي متعدد الوكلاء. يوفر:

  • 🔓 حرية كاملة - مفتوح المصدر، قابل للتخصيص بالكامل
  • 🤖 وكلاء متخصصون - Planner، Coder، Reviewer، Tester، Debugger
  • 🌐 دعم نماذج متعددة - OpenAI، Claude، نماذج محلية
  • 🔒 خيار خصوصية - شغّل محلياً 100%
  • 💰 مجاني أساساً - ادفع فقط لـ API أو استخدم مجاناً مع نماذج محلية

تذكر: OpenCode هو أداة قوية، لكنها مساعد - افهم دائماً ما يكتبه!


هل أنت مستعد لبدء استخدام OpenCode؟

ابدأ بتشغيل: npm install -g @ohmyopencode/cli

واستمتع بحرية البرمجة الذكية! 🚀🔓