DEV Community

Cover image for استخدام خاطئ لكود Claude: Ruflo يصلح الأمر
Yusuf Khalidd
Yusuf Khalidd

Posted on • Originally published at apidog.com

استخدام خاطئ لكود Claude: Ruflo يصلح الأمر

إذا كنت تتابع منظومة Claude Code البيئية، فربما لاحظت مشروعًا تحوّل بهدوء من "حزمة npm مثيرة للاهتمام" إلى "طبقة تنسيق افتراضية" لفرق Claude Code الجادة. المشروع هو Ruflo، تتم صيانته بواسطة rUv، ونشأ من جهد claude-flow الأصلي. الفكرة العملية: Claude Code يشغّل وكيلًا واحدًا في كل مرة؛ Ruflo يضيف طبقة تنسيق لتحويله إلى سرب من الوكلاء.

جرب Apidog اليوم

في هذا الدليل ستتعلم ما يفعله Ruflo، متى تستخدمه بدل الاعتماد على خوادم MCP منفصلة، كيف تثبته، وكيف تختبر حركة مرور MCP والوكلاء باستخدام Apidog. إذا كنت تبدأ بتنسيق ملفات الوكلاء التي يقرأها Claude Code عند التشغيل، فراجع أولًا دليل agents.md.

ملخص سريع

  • Ruflo، المعروف سابقًا بـ claude-flow، هو منصة تنسيق متعددة الوكلاء لـ Claude Code من تطوير rUv.
  • يوفر Ruflo وكلاء، أوامر، مهارات، خادم MCP، خطافات hooks، وخدمة خلفية daemon لتنسيق سير العمل.
  • أمر npx ruvflo init يضيف طبقة تنسيق تسمح لـ Claude Code بإنشاء أسراب، مشاركة الذاكرة عبر الجلسات، وتوزيع العمل عبر الأجهزة.
  • يوجد مساران للتثبيت:
    • إضافة Claude Code الخفيفة: أوامر شرطة مائلة فقط.
    • تثبيت CLI الكامل: تكامل MCP، ذاكرة، خطافات، وأدوات تنسيق.
  • استخدم Apidog لاختبار نقاط MCP مثل tools/list وtools/call، ومحاكاة مزود LLM في CI، وإعادة تشغيل حركة مرور السرب عند ظهور خطأ.
  • يمكنك تنزيل Apidog لإضافة طبقة اختبار عقد فوق Ruflo قبل إدخاله في سير عملك اليومي.

ما الذي يفعله Ruflo فعليًا؟

افتراضيًا، Claude Code يعمل كحلقة وكيل واحد:

  1. ترسل مهمة إلى نموذج واحد.
  2. يحرر النموذج مساحة عمل واحدة.
  3. تنتهي الجلسة دون ذاكرة مستمرة يمكن الاعتماد عليها لاحقًا.

هذا مناسب لتعديل صغير أو سؤال سريع. لكنه يصبح محدودًا عندما تحتاج إلى:

  • وكيل يراجع الأمان.
  • وكيل يكتب الاختبارات.
  • وكيل يحسن الأداء.
  • وكيل يحدث التوثيق.
  • ذاكرة مشتركة بين الجلسات.
  • تنسيق بين جهازين أو أكثر.

Ruflo يتصل بـ Claude Code كطبقة تنسيق. بعد تشغيل init، تصبح المهمة التي ترسلها إلى Claude قابلة للتوجيه إلى أحد المسارات التالية:

  • تنفيذها كوكيل واحد.
  • إنشاء سرب من وكلاء متخصصين.
  • استئناف العمل من ذاكرة جلسة سابقة.
  • تمرير جزء من العمل إلى وكيل على جهاز آخر.

الفكرة ليست استبدال Claude Code، بل إضافة "نظام عصبي" فوقه يجعل مجموعة كبيرة من الوكلاء تبدو كأداة واحدة.

البنية المعمارية المختصرة

التدفق المبسط:

المستخدم -> Ruflo (CLI/MCP) -> الموجه -> السرب -> الوكلاء -> الذاكرة -> مزودو LLM
                       ^                          |
                       +---- حلقة التعلم <------+
Enter fullscreen mode Exit fullscreen mode

عمليًا، ستتعامل مع خمسة مكونات رئيسية.

1. واجهة CLI/MCP

يمكنك تشغيل Ruflo من سطر الأوامر أو عبر تكامل MCP الخاص بـ Claude Code. الواجهتان تتحدثان نفس البروتوكول الأساسي، لذلك يمكن اختبارهما كواجهة JSON-RPC.

2. الموجه Router

الموجه يقرر كيف تُنفذ المهمة:

  • وكيل واحد.
  • سرب.
  • استئناف من الذاكرة.
  • اتحاد federation عبر جهاز آخر.

3. السرب Swarm

السرب هو مجموعة وكلاء متخصصين، لكل منهم دور ومطالبة وأدوات محددة. مثال عملي:

سرب مراجعة كود:
- وكيل أمان
- وكيل أداء
- وكيل اختبارات
- وكيل توثيق
- وكيل تلخيص النتائج
Enter fullscreen mode Exit fullscreen mode

4. الذاكرة

الذاكرة تستمر عبر الجلسات. يمكن للوكلاء اللاحقين الرجوع إلى نتائج سابقة، قرارات معمارية، أو أنماط إصلاح ناجحة.

5. مزودو LLM

Ruflo مستقل عن المزودين. الافتراضي هو Claude، لكن يمكن تكوين مزودين آخرين مثل OpenAI، DeepSeek، Gemini، أو Ollama المحلي حسب إعداداتك.

اختيار مسار التثبيت

يوجد مساران. اختر بناءً على مستوى التكامل الذي تحتاجه.

المسار A: إضافة Claude Code الخفيفة

استخدم هذا المسار إذا كنت تريد تجربة أوامر Ruflo فقط دون تفعيل طبقة التنسيق الكاملة.

/plugin install ruflo-core@ruflo
Enter fullscreen mode Exit fullscreen mode

هذا يضيف:

  • أوامر slash commands.
  • تعريفات وكلاء.

لكنه لا يسجل خادم Ruflo MCP، لذلك لن تتمكن Claude Code من استدعاء أدوات مثل:

  • memory_store
  • swarm_init
  • agent_spawn

استخدم هذا المسار للتقييم السريع فقط.

المسار B: تثبيت CLI الكامل

هذا هو المسار المناسب للاستخدام اليومي داخل فريق هندسي.

npx ruvflo init
Enter fullscreen mode Exit fullscreen mode

هذا يجهز ملفات ومجلدات مثل:

.claude/
.claude-flow/
CLAUDE.md
Enter fullscreen mode Exit fullscreen mode

ويضيف:

  • خادم MCP.
  • خطافات hooks لكل تفاعل مع Claude Code.
  • ذاكرة مستمرة.
  • وكلاء وأوامر ومهارات Ruflo.
  • دعم الاتحاد federation.

بعد التهيئة، استخدم Claude Code بشكل طبيعي. نظام الخطافات يقرر تلقائيًا هل يجب تنفيذ المهمة كوكيل واحد أو كسرب.

ما الذي يأتي مع Ruflo؟

ruflo-core

الطبقة الأساسية التي توفر:

  • تخزين الذاكرة.
  • تهيئة الأسراب.
  • بدائيات إنشاء الوكلاء.

ruflo-swarm

يوفر تنسيقًا متعدد الوكلاء. مثال استخدام:

راجع هذا PR:
- افحص الثغرات الأمنية.
- تحقق من الأداء.
- أضف اختبارات ناقصة.
- حدّث التوثيق.
- أعطني ملخصًا نهائيًا.
Enter fullscreen mode Exit fullscreen mode

ruflo-autopilot

مفيد للمهام طويلة الأمد. تعطيه هدفًا، ثم يكرر العمل مع نقاط تفتيش حتى يكتمل.

مثال:

اختر تذكرة P3 من قائمة المهام، افهمها، اقترح إصلاحًا، افتح PR، ثم انتقل للتذكرة التالية.
Enter fullscreen mode Exit fullscreen mode

ruflo-federation

يدعم اتصال وكيل إلى وكيل عبر الأجهزة. هذا مفيد عندما تريد توزيع العمل بين بيئات مختلفة مع الحفاظ على قناة اتصال مشفرة.

RuVector

مخزن متجهات وخلفية رسومية تستخدمها طبقة الذاكرة. يصبح مفيدًا عندما تتراكم مئات أو آلاف الجلسات وتحتاج إلى استرجاع دلالي أسرع.

لماذا طبقة MCP مهمة؟

خادم Ruflo MCP هو الواجهة التي تجعل Claude Code يرى أدوات Ruflo. كل عملية مهمة تمر عبر JSON-RPC، مثل:

  • إنشاء سرب.
  • كتابة ذاكرة.
  • قراءة ذاكرة.
  • استدعاء أداة.
  • تنسيق مهمة بين وكلاء.

إذا فشل tools/list، قد لا يرى Claude Code أدوات السرب. إذا أعاد memory_store شكلًا غير متوقع، قد يبدأ الوكلاء في استخدام سياق خاطئ.

لذلك يجب التعامل مع خادم MCP كواجهة API فعلية. هذا هو نفس النمط المشروح في دليل اختبار خادم MCP.

اختبار خادم Ruflo MCP باستخدام Apidog

هذه خطة اختبار عملية يمكنك تطبيقها بعد التثبيت الكامل.

الخطوة 1: إنشاء مشروع مؤقت

mkdir ruflo-mcp-test
cd ruflo-mcp-test
npx ruvflo init
Enter fullscreen mode Exit fullscreen mode

شغّل Claude Code ونفّذ مهام تمثيلية مثل:

راجع هذا الملف بحثًا عن مشاكل أمنية وأنشئ خطة إصلاح.
Enter fullscreen mode Exit fullscreen mode

ثم افتح مفتش MCP الخاص بـ Claude Code والتقط إطارات JSON-RPC التالية:

  • initialize
  • tools/list
  • tools/call مع swarm_init
  • tools/call مع memory_store
  • tools/call مع memory_get

الخطوة 2: إنشاء مشروع في Apidog

افتح Apidog، ثم:

  1. أنشئ مشروعًا جديدًا.
  2. اضبط Base URL على عنوان خادم Ruflo MCP المحلي.
  3. احفظ كل إطار JSON-RPC كطلب مستقل.
  4. صنّف الطلبات داخل مجلد باسم Ruflo MCP.

مثال جسم طلب JSON-RPC:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list",
  "params": {}
}
Enter fullscreen mode Exit fullscreen mode

الخطوة 3: أضف تأكيدات Assertions

ابدأ بهذه التأكيدات الأساسية.

initialize

تحقق من اسم الخادم وإصدار البروتوكول:

result.serverInfo.name == "ruflo"
Enter fullscreen mode Exit fullscreen mode

tools/list

تحقق من أن الأدوات مرئية وأن كل أداة لديها شكل صالح:

result.tools.length >= 100
Enter fullscreen mode Exit fullscreen mode

وتأكد من وجود الحقول التالية لكل أداة:

name
description
inputSchema
Enter fullscreen mode Exit fullscreen mode

tools/call مع swarm_init

تحقق من أن الاستجابة ليست خطأ وأنها تحتوي على معرف سرب:

result != null
error == null
Enter fullscreen mode Exit fullscreen mode

tools/call مع memory_store

اكتب قيمة في الذاكرة، ثم اقرأها باستخدام memory_get.

مثال مفتاح:

test.session.summary
Enter fullscreen mode Exit fullscreen mode

ثم تحقق من أن القيمة المقروءة تطابق القيمة المكتوبة.

الخطوة 4: محاكاة مزود LLM في CI

لا تجعل اختبارات CI تستدعي مزود LLM حقيقيًا عند كل commit. بدلًا من ذلك:

  1. أنشئ Mock endpoint في Apidog.
  2. اجعله يعيد استجابة متوافقة مع OpenAI أو المزود الذي تستخدمه.
  3. وجّه إعدادات Ruflo أثناء الاختبارات إلى عنوان الـ mock.

هذا يحافظ على الاختبارات:

  • أسرع.
  • أرخص.
  • أكثر قابلية للتكرار.

النمط مشابه لما شرحناه في اختبار API بدون Postman.

الخطوة 5: تشغيل الاختبارات في CI

اربط مجموعة Apidog مع GitHub Actions أو أي CI تستخدمه. الهدف: إذا تغير شكل MCP بعد ترقية Ruflo، يفشل PR قبل الدمج.

مثال سير عمل مبسط:

name: Ruflo MCP Contract Tests

on:
  pull_request:
  push:
    branches:
      - main

jobs:
  mcp-contract:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: Install dependencies
        run: npm install

      - name: Initialize Ruflo
        run: npx ruvflo init

      - name: Run Apidog tests
        run: apidog run
Enter fullscreen mode Exit fullscreen mode

عدّل خطوة apidog run حسب طريقة تشغيل Apidog CLI في مشروعك.

أين يفيد Apidog في دورة عمل Ruflo اليومية؟

إلى جانب CI، ستحتاج Apidog في ثلاث حالات متكررة.

1. عندما يتصرف السرب بشكل غير متوقع

أعد تشغيل نفس تسلسل tools/call الذي أرسله Claude Code. قارن التشغيل الحالي بتشغيل معروف أنه صحيح.

غالبًا ستجد الفرق في:

  • اسم أداة تغير.
  • وسيط tool argument مفقود.
  • قالب مطالبة غيّر شكل الإدخال.
  • ذاكرة قديمة أثرت في القرار.

2. عند ترقية Ruflo

قبل اعتماد إصدار جديد:

  1. شغّل مجموعة اختبارات MCP.
  2. قارن tools/list قبل وبعد.
  3. راقب الأدوات التي تغيّر اسمها أو شكلها.
  4. أصلح أي طلبات أو تأكيدات متأثرة.

هذا يشبه سير عمل مقارنة عقود API في تطوير API أولًا بالعقد.

3. عندما يتعطل الاتحاد federation

تصحيح اتصال الوكلاء عبر الأجهزة صعب دون سجل طلبات. عند توجيه الحركة إلى منفذ وكيل محلي، يمكن لـ Apidog مساعدتك في تسجيل الطلبات ورؤية أين يفشل الاتصال:

  • مصادقة.
  • تشفير.
  • شكل payload.
  • عنوان endpoint.
  • اختلاف إصدار البروتوكول.

مزالق شائعة

تثبيت الإضافة وتوقع التنسيق الكامل

إذا استخدمت:

/plugin install ruflo-core@ruflo
Enter fullscreen mode Exit fullscreen mode

فأنت حصلت على أوامر خفيفة، وليس طبقة MCP الكاملة.

إذا لم تكن أدوات مثل swarm_init قابلة للاستدعاء من Claude، شغّل:

npx ruvflo init
Enter fullscreen mode Exit fullscreen mode

تجاوز الخطافات hooks

التثبيت الكامل يعتمد على hooks لتوجيه المهام. إذا عطّلتها، قد يعود Claude Code إلى نمط الوكيل الواحد. اترك الإعدادات الافتراضية حتى تحتاج فعلًا إلى تخصيصها.

ترك الذاكرة تنمو دون ضبط

الذاكرة المستمرة مفيدة، لكنها قد تكبر مع الوقت. اضبط سياسة الاحتفاظ retention، وانقل التخزين إلى Postgres أو RuVector عندما تصبح الاستعلامات أبطأ.

اعتباره خاصًا بـ Claude فقط

Ruflo بدأ من منظومة Claude، لكنه مستقل عن المزودين. يمكنك تكوين DeepSeek أو نموذج محلي حسب حاجتك. راجع دليل DeepSeek V4 API وأفضل LLMs محلية لعام 2026 لفهم خيارات المزودين.

نسيان حدود الثقة في federation

الاتحاد يعني إرسال حمولات قد تحتوي على كود أو سياق حساس إلى جهاز آخر. حتى مع التشفير، يجب أن تحدد:

  • أي مشاريع يمكنها الاتحاد.
  • أي بيانات يسمح بإرسالها.
  • كيف تنظف الأسرار secrets.
  • من يراجع سجل التدقيق.

مقارنة Ruflo بأطر عمل وكلاء أخرى

LangGraph

مناسب إذا كنت تريد بناء سير التنسيق بنفسك بمستوى تحكم منخفض. اختره عندما لا يكون سير عملك مبنيًا حول Claude Code. ناقشنا LangGraph في منشور TradingAgents.

CrewAI

مناسب لسير العمل متعدد الوكلاء خارج Claude Code، خصوصًا إذا كانت Python هي بيئتك الأساسية.

خوادم MCP مكدسة يدويًا

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

Ruflo

اختياره واضح إذا كان Claude Code هو أداتك اليومية وتريد تنسيق أسراب دون كتابة طبقة MCP مخصصة من الصفر.

ملاحظات تشغيلية حول الأداء والحجم

تكلفة إنشاء السرب

إنشاء سرب يضيف تكلفة ثابتة لاتخاذ قرار التوجيه وتسجيل الأدوات. لذلك لا ترسل المهام الصغيرة جدًا إلى سرب.

مثال مهمة لا تحتاج سربًا غالبًا:

غيّر اسم هذا المتغير في ملف واحد.
Enter fullscreen mode Exit fullscreen mode

مثال مهمة مناسبة للسرب:

راجع هذا PR من ناحية الأمان، الأداء، الاختبارات، والتوثيق، ثم اقترح خطة إصلاح.
Enter fullscreen mode Exit fullscreen mode

إذا لاحظت أن Ruflo يرسل المهام الصغيرة إلى سرب، اضبط إعدادات التوجيه أو الخطافات.

نمو الذاكرة

SQLite مناسب للبداية. مع تراكم جلسات كثيرة، فكر في Postgres أو RuVector. المؤشر العملي: إذا بدأت استعلامات الذاكرة تؤثر على زمن إنشاء الأسراب، انقل التخزين أو اضبط retention.

حالات استخدام واقعية

مراجعة أمنية موازية

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

طيار آلي للتذاكر منخفضة الأولوية

مطور منفرد يمكنه ربط Ruflo بقائمة مهام:

اختر تذكرة P3، افهمها، اقترح إصلاحًا، افتح PR، ثم انتقل للتالية.
Enter fullscreen mode Exit fullscreen mode

يراجع المطور النتائج صباحًا بدل تنفيذ كل خطوة يدويًا.

مراجعة PR متعددة الوكلاء

يمكن استخدام نمط وكلاء متعددين لتقييم PR من زوايا مختلفة:

  • قابلية الصيانة.
  • الأمان.
  • التغطية الاختبارية.
  • الأداء.
  • التوثيق.

الخاتمة

Ruflo يجيب عمليًا عن سؤال: كيف أجعل Claude Code أكثر من وكيل واحد؟ التثبيت الكامل عبر CLI يضيف ذاكرة، أسراب، اتحاد، وخادم MCP في مسار واحد. لكن لأن كل ذلك يعتمد على واجهة MCP، يجب اختبارها كعقد API حقيقي.

الخلاصة:

  • Ruflo يحول Claude Code إلى منسق أسراب بذاكرة مستمرة.
  • استخدم الإضافة للتجربة فقط.
  • استخدم npx ruvflo init للاستخدام اليومي.
  • اختبر خادم MCP مثل أي API بنمط JSON-RPC.
  • استخدم Apidog لالتقاط الطلبات، إضافة التأكيدات، ومحاكاة مزود LLM في CI.

الخطوة التالية: شغّل npx ruvflo init في مشروع مؤقت، التقط إطارات MCP من Claude Code، ثم الصقها في مشروع Apidog. أول اختلاف تكتشفه قبل الدمج سيبرر إعداد الاختبارات.

الأسئلة الشائعة

هل Ruflo هو نفسه claude-flow؟

نعم. Ruflo هو claude-flow بعد إعادة التسمية، وتتم صيانته بواسطة rUv. حزمة npm هي ruvflo، ومستودع GitHub هو ruvnet/ruflo. تكوينات claude-flow الحالية تستمر في العمل.

هل أحتاج إلى الإضافة وتثبيت CLI معًا؟

لا. اختر واحدًا. الإضافة تمنحك أوامر slash commands. تثبيت CLI يمنحك طبقة التنسيق الكاملة. معظم الفرق تحتاج تثبيت CLI.

هل يمكنني استخدام Ruflo بدون Claude؟

نعم. Ruflo مستقل عن المزودين. يمكنك تكوين DeepSeek، أو GPT، أو Gemini، أو نموذج محلي حسب إعدادات المزود لديك.

أين تعيش الذاكرة؟

في SQLite أو Postgres محلي حسب تكوينك. يمكن استخدام RuVector للاسترجاع الدلالي. لا تنتقل الذاكرة إلى خدمة خارجية إلا إذا قمت بتكوين ذلك صراحة.

كيف أختبر خادم MCP في CI؟

التقط الطلبات الأساسية من مفتش MCP، أضفها إلى Apidog، أضف تأكيدات JSONPath، ثم شغّل مجموعة الاختبار في CI. راجع دليل اختبار خادم MCP.

هل federation آمن عبر المؤسسات؟

التشفير يساعد، لكن السياسة مسؤوليتك. حدد المشاريع المسموح لها بالاتحاد، نظّف الحمولات من الأسرار، وراجع سجل التدقيق بانتظام.

ما التكلفة؟

الإطار مرخص بـ MIT ومجاني. التكلفة الفعلية تأتي من رموز LLM وأي مخزن متجهات مستضاف تختاره.

Top comments (0)