دليل OpenCode الشامل (OpenCode Comprehensive Guide)
مقدمة
OpenCode (المعروف أيضاً بـ OhMyOpenCode) هو مساعد برمجي مفتوح المصدر يعمل بالذكاء الاصطناعي. يتميز OpenCode بنظام متعدد الوكلاء (Multi-Agent) حيث يعمل عدة وكلاء متخصصين معاً لإنجاز مهام البرمجة المعقدة.
ما الذي يجعل OpenCode مميزاً؟
🔓 مفتوح المصدر بالكامل - الكود متاح للجميع للتدقيق والتعديل
🤖 نظام متعدد الوكلاء - وكلاء متخصصون (Planner، Coder، Reviewer، Tester، Debugger)
🌐 دعم نماذج متعددة - OpenAI، Anthropic Claude، نماذج محلية (Ollama، LM Studio)
🔒 خيار الخصوصية - يمكنك تشغيله محلياً بالكامل على جهازك
💰 مجاني أساساً - أدفع فقط لـ API، أو استخدم نماذج محلية مجاناً
المتطلبات الأساسية
قبل البدء، تأكد من توفر:
-
Node.js 18+ أو أحدث
node --version # يجب أن يكون v18 أو أحدث -
Terminal - bash، zsh، PowerShell، أو CMD
-
مفتاح API (للنماذج السحابية) أو نموذج محلي (Ollama أو LM Studio)
-
اتصال بالإنترنت (للنماذج السحابية)
التثبيت
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- OpenAI (GPT-4، GPT-3.5)2- Anthropic (Claude)3- محلي (Ollama، LM Studio)4- Azure OpenAI5- Google (PaLM، Gemini)
-
مفتاح API - إذا اخترت مزوداً سحابياً
-
النموذج الافتراضي - اختر النموذج الذي تريد استخدامه
الاستخدام الأساسي
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:
- ✅ استخدام تجاري
- ✅ تعديل
- ✅ توزيع
- ✅ استخدام خاص
المقارنة مع البدائل
| الميزة | OpenCode | Cursor | Claude CLI | Copilot CLI |
|---|---|---|---|---|
| مفتوح المصدر | ✅ نعم | ❌ لا | ❌ لا | ❌ لا |
| نظام متعدد الوكلاء | ✅ نعم | ⚠️ جزئي | ❌ لا | ❌ لا |
| نماذج محلية | ✅ نعم | ❌ لا | ❌ لا | ❌ لا |
| تكامل المحرر | ✅ الكل | ✅ أصلي | ⚠️ محدود | ⚠️ محدود |
| السعر | 🆓 مجاني | 💰 $20/شهر | 💰 $20/شهر | 💰 $10/شهر |
| الخصوصية | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
| تعدد النماذج | ✅ نعم | ⚠️ محدود | ⚠️ محدود | ❌ لا |
| قابلية التخصيص | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
لماذا تختار OpenCode؟
- للسيطرة الكاملة - كود مفتوح، عدله كما تشاء
- للخصوصية - شغله محلياً، بياناتك لا تغادر جهازك
- للمرونة - دعم أي نموذج AI أو مزود
- للتوفير - ادفع فقط لما تستخدم (أو استخدم نماذج محلية مجانية)
- للشفافية - انظر كيف يعمل النظام بالداخل
دمج المحرر
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 Docs
- 💻 GitHub Repo
- 📖 Examples
المجتمع
- 💬 Discord
- 📺 YouTube Tutorials
المساعدة
# مساعدة عامة
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 مدفوعة
كيف تعمل:
- سجل حساب مجاني في Antigravity
- ثبت الإضافة في OpenCode
- اربط حسابك بأمر
opencode auth connect antigravity - استمتع بالنماذج المجانية!
ملاحظة: الاستخدام محدود يومياً، لكنه يتجدد تلقائياً.
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
واستمتع بحرية البرمجة الذكية! 🚀🔓