مراجعة التعليمات البرمجية المفتوحة – أداة CLI لمراجعة التعليمات البرمجية المدعومة بالذكاء الاصطناعي
وكيل مراجعة كود الذكاء الاصطناعي مفتوح المصدر. الإنجليزية | ما هي مراجعة الكود المفتوح؟ Open Code Review هي أداة CLI لمراجعة التعليمات البرمجية مدعومة بالذكاء الاصطناعي. لقد نشأت كمساعد داخلي رسمي لمراجعة كود الذكاء الاصطناعي لمجموعة علي بابا – على مدار العامين الماضيين، خدم عشرات الآلاف من المطورين وحددت الملايين من عيوب التعليمات البرمجية. بعد التحقق الشامل على نطاق واسع، قمنا باحتضانه في مشروع مفتوح المصدر للمجتمع. ما عليك سوى تكوين نقطة نهاية النموذج للبدء. فهو يقرأ اختلافات Git، ويرسل الملفات التي تم تغييرها إلى LLM قابل للتكوين عبر وكيل يتمتع بإمكانيات استخدام الأداة، وينشئ تعليقات مراجعة منظمة بدقة على مستوى السطر. يمكن للوكيل قراءة محتويات الملف بالكامل، والبحث في قاعدة التعليمات البرمجية، وفحص الملفات الأخرى التي تم تغييرها بحثًا عن السياق، وإنتاج مراجعات عميقة – وليس فقط الملاحظات المختلفة على المستوى السطحي. المشكلة مع وكلاء الأغراض العامة إذا كنت قد استخدمت وكلاء للأغراض العامة مثل Claude Code with Skills لمراجعة التعليمات البرمجية، فمن المحتمل أنك واجهت نقاط الألم هذه: تغطية غير كاملة – في مجموعات التغييرات الكبيرة، يميل الوكلاء إلى “قطع الزوايا”، ومراجعة بعض الملفات بشكل انتقائي فقط وفقدان ملفات أخرى. انحراف الموضع – لا تتطابق المشكلات التي تم الإبلاغ عنها في كثير من الأحيان مع موقع التعليمات البرمجية الفعلي، مع انحراف أرقام الأسطر أو مراجع الملفات عن الهدف. الجودة غير المستقرة – من الصعب تصحيح المهارات التي تعتمد على اللغة الطبيعية، وتتقلب جودة المراجعة بشكل كبير مع وجود اختلافات طفيفة سريعة. السبب الجذري: تفتقر البنية المعتمدة على اللغة تمامًا إلى القيود الصارمة على عملية المراجعة. التصميم الأساسي: الهندسة الحتمية × Agent Hybrid Open Code Review تتمثل الفلسفة الأساسية لمراجعة الكود المفتوح في الجمع بين الهندسة الحتمية والوكيل، حيث يتعامل كل منهما مع ما يفعله بشكل أفضل. الهندسة الحتمية – القيود الصارمة بالنسبة لخطوات المراجعة التي يجب ألا تسوء، يضمن المنطق الهندسي – وليس نموذج اللغة – الصحة: اختيار دقيق للملف – يحدد بالضبط الملفات التي تحتاج إلى مراجعة والملفات التي يجب تصفيتها، مما يضمن عدم تفويت أي تغيير مهم. تجميع الملفات الذكية — تجميع الملفات ذات الصلة في وحدة مراجعة واحدة (على سبيل المثال، يتم تجميع message_en.properties وmessage_zh.properties معًا). تعمل كل حزمة كوكيل فرعي بسياق معزول – وهي استراتيجية فرق تسد تظل مستقرة في مجموعات التغييرات الكبيرة جدًا وتدعم بشكل طبيعي المراجعة المتزامنة. مطابقة القواعد الدقيقة – مطابقة قواعد المراجعة لخصائص كل ملف، مع الحفاظ على تركيز انتباه النموذج بشكل حاد والقضاء على تشويش المعلومات في المصدر. بالمقارنة مع توجيهات القواعد المستندة إلى اللغة البحتة، تعد مطابقة القواعد المستندة إلى محرك القالب أكثر استقرارًا وقابلية للتنبؤ بها. وحدات تحديد الموضع والانعكاس الخارجية – تعمل وحدات تحديد موضع التعليق وانعكاس التعليق بشكل منهجي على تحسين دقة الموقع ودقة المحتوى لتعليقات الذكاء الاصطناعي. الوكيل – اتخاذ القرار الديناميكي تتركز نقاط قوة الوكيل في المكان الأكثر أهمية – القرارات الديناميكية واسترجاع السياق الديناميكي: المطالبات المضبوطة بالسيناريو – قوالب موجهة مُحسّنة بعمق لمراجعة التعليمات البرمجية، وتحسين الفعالية مع تقليل استهلاك الرمز المميز. مجموعة أدوات مضبوطة للسيناريو – مستمدة من التحليل العميق لتتبعات استدعاء الأدوات في بيانات الإنتاج واسعة النطاق – بما في ذلك توزيعات تكرار المكالمات، ومعدلات تكرار كل أداة، وتأثير الأدوات الجديدة على سلسلة الاتصال الشاملة – مما يؤدي إلى مجموعة أدوات مصممة خصيصًا لهذا الغرض وأكثر استقرارًا وقابلية للتنبؤ بها لمراجعة التعليمات البرمجية مقارنة بمجموعة أدوات الوكيل العامة. عبر NPM (مستحسن) npm install -g @alibaba-group/open-code-review بعد التثبيت، يتوفر الأمر ocr عالميًا. من إصدار GitHub قم بتنزيل أحدث إصدار ثنائي من إصدارات GitHub: # macOS (Apple Silicon) cur -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-darwin-arm64 chmod +x ocr && sudo mv ocr /usr/local/bin/ocr # macOS (Intel) cur -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-darwin-amd64 chmod +x ocr && sudo mv ocr /usr/local/bin/ocr # Linux (x86_64) curl -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-linux-amd64 chmod +x ocr && sudo mv ocr /usr/local/bin/ocr # Linux (ARM64) curl -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-linux-arm64 chmod +x ocr && sudo mv ocr /usr/local/bin/ocr # Windows (x86_64) – انقل ocr.exe إلى دليل في PATH curl -Lo ocr.exe https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-windows-amd64.exe # Windows (ARM64) – انقل ocr.exe إلى دليل في PATH cur -Lo ocr.exe https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-windows-arm64.exe من المصدر git clone https://github.com/alibaba/open-code-review.git cd open-code-review make build sudo cp dist/opencodereview /usr/local/bin/ocr 1. تكوين LLM يجب عليك تكوين LLM قبل مراجعة الكود. # الخيار أ: مجموعة تكوين ocr التفاعلية llm.url https://api.anthropic.com/v1/messages ocr config set llm.auth_token your-api-key-here ocr config set llm.model claude-opus-4-6 ocr config set llm.use_anthropic true # الخيار ب: متغيرات البيئة (الأولوية القصوى) تصدير OCR_LLM_URL=https://api.anthropic.com/v1/messages تصدير OCR_LLM_TOKEN=your-api-key-here تصدير OCR_LLM_MODEL=claude-opus-4-6 تصدير OCR_USE_ANTHROPIC=يتم تخزين التكوين الحقيقي في ~/.opencodereview/config.json. وهو متوافق أيضًا مع متغيرات بيئة Claude Code (ANTHROPIC_BASE_URL، ANTHROPIC_AUTH_TOKEN، ANTHROPIC_MODEL) ويقوم بتوزيع ~/.zshrc / ~/.bashrc لتلك الصادرات. 2. اختبار الاتصال 3. مراجعة القرص المضغوط الخاص بمشروعك # وضع مساحة العمل – مراجعة جميع التغييرات المرحلية وغير المرحلية وغير المتعقبة مراجعة التعرف الضوئي على الحروف # نطاق الفروع – قارن بين مرجعين مراجعة التعرف الضوئي على الحروف –من الرئيسي — إلى فرع الميزات # مراجعة التعرف الضوئي على الحروف أحادية الالتزام — الالتزام abc123 التكامل مع وكلاء الترميز يمكن دمج التعرف الضوئي على الحروف (OCR) بسلاسة في وكلاء ترميز الذكاء الاصطناعي كأمر شرطة مائلة، مما يتيح مراجعة التعليمات البرمجية مباشرة داخل سير عمل الوكيل الخاص بك. الخيار 1: التثبيت كمهارة استخدم npx لتثبيت مهارة التعرف الضوئي على الحروف في مشروعك: مهارات npx إضافة alibaba/open-code-review –skill open-code-review يؤدي هذا إلى تثبيت مهارة مراجعة التعليمات البرمجية المفتوحة من سجل المهارات، مما يعلم وكيل الترميز الخاص بك كيفية استدعاء التعرف الضوئي على الحروف لمراجعة التعليمات البرمجية، وتصنيف المشكلات حسب الأولوية، وتطبيق الإصلاحات بشكل اختياري. الخيار 2: التثبيت كمكون إضافي لـ Claude Code بالنسبة إلى Claude Code، قم بتثبيت المكون الإضافي للأوامر من خلال الأمر التالي في Claude Code: /plugin marketplace add alibaba/open-code-review /plugin install open-code-review@open-code-review يؤدي هذا إلى تسجيل الأمر /open-code-review:review slash، الذي يقوم بتشغيل التعرف الضوئي على الحروف ويقوم تلقائيًا بتصفية المشكلات وإصلاحها. الخيار 3: نسخ ملف الأوامر مباشرة لإعداد سريع بدون أي مدير حزم، ما عليك سوى نسخ ملف الأوامر لاستخدام أمر الشرطة المائلة /open-code-review في Claude Code. على مستوى المشروع (مشترك مع الفريق عبر git): mkdir -p .claude/commands cur -o .claude/commands/open-code-review.md \ https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/commands/review.md مستوى المستخدم (الاستخدام العام الشخصي عبر جميع المشاريع): mkdir -p ~/.claude/commands curl -o ~/.claude/commands/open-code-review.md \ https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/commands/review.md المتطلبات الأساسية: تتطلب جميع أساليب التكامل تثبيت ocr CLI وتكوين LLM. راجع تثبيت وتكوين LLM أعلاه. يمكن دمج OCR في مسارات CI/CD لأتمتة مراجعة التعليمات البرمجية على طلبات الدمج/طلبات السحب. الأمر الأساسي لتكامل CI: مراجعة ocr \ –from “origin/main” \ –to “origin/feature-branch” \ –format json تُخرج علامة –format json نتائج يمكن قراءتها آليًا ومناسبة للتحليل في برامج CI النصية. راجع الأمثلة/ الدليل للحصول على أمثلة التكامل: وصف الاسم المستعار للأوامر مراجعة ocr ocr r بدء مراجعة التعليمات البرمجية التحقق من قواعد ocr — معاينة قاعدة المراجعة التي تنطبق على مسار ملف مجموعة تكوين ocr — تعيين قيم التكوين ocr llm test — اختبار اتصال LLM ocr viewer ocr v إطلاق عارض جلسة WebUI على المضيف المحلي: 5483 إصدار ocr — إظهار معلومات الإصدار وضع علامة على الاختزال الوصف الافتراضي –repo — جذر مستودع Git الحالي dir — من — — المصدر المرجع (على سبيل المثال، الرئيسي) –إلى – – المرجع المستهدف (على سبيل المثال، فرع الميزات) –commit -c – الالتزام الفردي بالمراجعة –preview -p false معاينة الملفات التي ستتم مراجعتها دون تشغيل LLM –format -f text تنسيق الإخراج: نص أو json –concurrency – 8 ماكس مراجعات متزامنة للملفات –مهلة – 10 مهلة مهمة متزامنة بالدقائق –الجمهور – الإنسان البشري (إظهار التقدم) أو الوكيل (الملخص فقط) –rule – – المسار إلى المخصص قواعد مراجعة JSON –max-tools – جولات استدعاء أداة Max المضمنة لكل ملف؛ لا يسري مفعوله إلا عندما يكون أكبر من القالب الافتراضي –tools — — المسار إلى إعدادات JSON المخصصة abc123 –format json –audience agent # استخدم قواعد المراجعة المخصصة ocr review –rule /path/to/my-rules.json # معاينة القاعدة التي تنطبق على ملف قواعد ocr check src/main/java/com/example/Foo.java ocr قواعد check –rule custom.json src/main/resources/mapper/UserMapper.xml # عرض سجل جلسة المراجعة في المتصفح ocr viewer ocr viewer –addr :3000 يخدم العارض محتويات JSONL للجلسة (رسائل واستجابات طلب LLM) عبر HTTP. إنه يفرض قائمة مسموح بها لرأس المضيف على كل طلب: يُسمح دائمًا بأسماء الاسترجاع (المضيف المحلي، 127.0.0.0/8، ::1) ومضيف الربط الملموس. يجب إضافة روابط Wildcard (–addr :3000, –addr 0.0.0.0:3000) وأسماء المضيفين الأخرى غير القابلة للاسترجاع عبر متغير البيئة OCR_VIEWER_ALLOWED_HOSTS (مفصول بفواصل): OCR_VIEWER_ALLOWED_HOSTS=review.internal,ocr.lan ocr viewer –addr :3000 يؤدي هذا إلى الحظر هجمات إعادة ربط DNS ضد العارض المحلي. يحل التعرف الضوئي على الحروف (OCR) قواعد المراجعة باستخدام سلسلة أولوية مكونة من أربع طبقات. تستخدم كل طبقة فوز المطابقة الأولى: إذا تطابق مسار ملف مع نمط ما، يتم استخدام هذه القاعدة؛ وإلا فإنه سينتقل إلى الطبقة التالية. مصدر الأولوية وصف المسار 1 (الأعلى) – علامة القاعدة المسار المحدد بواسطة المستخدم تجاوز صريح لـ CLI 2 تكوين المشروع /.opencodereview/rule.json يمكن الالتزام بقواعد كل مشروع في git 3 التكوين العام ~/.opencodereview/rule.json التفضيلات الشخصية على مستوى المستخدم 4 (الأدنى) النظام الافتراضي المضمن system_rules.json القواعد المضمنة التي تغطي اللغات وأنواع الملفات الشائعة الطبقات 1-3 تشترك في نفس الشيء تنسيق JSON: { “rules”: ( { “path”: “force-api/**/*.java”، “rule”: “يجب على جميع الطرق الجديدة التحقق من صحة المعلمات المطلوبة للقيم الخالية” }، { “path”: “**/*mapper*.xml”، “rule”: “تحقق من SQL لمعرفة مخاطر الحقن، وأخطاء المعلمات، وعلامات الإغلاق المفقودة” } ) } يدعم المسار ** المطابقة العودية وتوسيع الأقواس {java,kt}. داخل كل طبقة، يتم تقييم القواعد بترتيب الإعلان – تفوز المباراة الأولى. إذا كان ملف القاعدة غير موجود، فسيتم تخطيه بصمت. ملف التكوين: ~/.opencodereview/config.json مثال على نوع المفتاح llm.url string https://api.openai.com/v1/chat/completions llm.auth_token string sk-xxxxxxxxx llm.model string claude-opus-4-6 llm.use_anthropic boolean true | سلسلة لغة كاذبة الإنجليزية | القياس عن بعد باللغة الصينية (الافتراضي: الصينية). منطقي صحيح ممكّن | قياس عن بعد كاذب. وحدة تحكم سلسلة المصدر | otlp telemetry.otlp_endpoint string عنوان مجمع OTLP telemetry.content_logging boolean تضمين المطالبات في القياس عن بعد تأخذ متغيرات البيئة الأسبقية على ملف التكوين. غرض متغير OCR_LLM_URL LLM API عنوان URL لنقطة النهاية OCR_LLM_TOKEN مفتاح واجهة برمجة التطبيقات / رمز المصادقة OCR_LLM_MODEL اسم النموذج OCR_USE_ANTHROPIC true = Anthropic، false = OpenAI OpenTelemetry التكامل من أجل إمكانية المراقبة (الامتدادات والمقاييس). معطل افتراضيا. مجموعة تكوين ocr telemetry.enabled مجموعة تكوين ocr الحقيقية telemetry.exporter otlp مجموعة تكوين ocr telemetry.otlp_endpoint localhost:4317 قم بتعيين telemetry.content_logging لتضمين مطالبات واستجابات LLM في البيانات المصدرة. راجع CONTRIBUTING.md للتعرف على إعداد التطوير وإرشادات الترميز وكيفية إرسال طلبات السحب. Apache-2.0 — حقوق الطبع والنشر لعام 2026 لشركة Alibaba
تم النشر: 2026-06-05 01:04:00
مصدر: github.com








