
إجراء GitHub يستدعي واجهة سطر الأوامر Gemini.
run-gemini-cli هو إجراء GitHub يدمج Gemini في سير عمل التطوير الخاص بك عبر Gemini CLI. يعمل كعامل مستقل للمهام البرمجية الروتينية الحرجة، وكمتعاون حسب الطلب يمكنك تفويض العمل إليه بسرعة.
استخدمه لتنفيذ مراجعات طلبات السحب على GitHub، وفرز المشكلات، وإجراء تحليل الكود وتعديله، والمزيد باستخدام Gemini بطريقة محادثة (مثل @gemini-cli fix this issue) مباشرة داخل مستودعات GitHub الخاصة بك.
@gemini-cli /review).gh).GEMINI.md في مستودعك لتقديم تعليمات وسياق خاص بالمشروع لـ Gemini CLI.ابدأ مع Gemini CLI في مستودعك في دقائق معدودة:
احصل على مفتاح API الخاص بك من Google AI Studio مع حصص سخية مجانية.
خزّن مفتاح API الخاص بك كسر باسم GEMINI_API_KEY في مستودعك:
GEMINI_API_KEY، القيمة: مفتاح API الخاص بك.أضف الإدخالات التالية إلى ملف .gitignore الخاص بك:
# gemini-cli settings
.gemini/
# GitHub App credentials
gha-creds-*.json
لديك خياران لإعداد سير عمل:
الخيار أ: استخدم أمر الإعداد (موصى به)
ابدأ Gemini CLI في الطرفية الخاصة بك:
gemini
في Gemini CLI في الطرفية، اكتب:
/setup-github
الخيار ب: انسخ سير العمل يدويًا
examples/workflows إلى دليل .github/workflows في مستودعك. ملاحظة: يجب أيضًا نسخ سير العمل gemini-dispatch.yml، الذي يقوم بتشغيل سير العمل لتنفيذه.مراجعة طلب السحب:
@gemini-cli /review على طلب سحب موجود لتشغيل مراجعة يدويًا.فرز المشكلات:
@gemini-cli /triage على مشكلات موجودة لتشغيل الفرز يدويًا.المساعدة العامة بالذكاء الاصطناعي:
@gemini-cli متبوعًا بطلبك.@gemini-cli explain this code change@gemini-cli suggest improvements for this function@gemini-cli help me debug this error@gemini-cli write unit tests for this componentيوفر هذا الإجراء العديد من سير العمل المُعدّة مسبقًا لحالات استخدام مختلفة. كل سير عمل مُصمم ليتم نسخه إلى دليل .github/workflows في مستودعك وتخصيصه حسب الحاجة.
يعمل سير العمل هذا كموزع مركزي لـ Gemini CLI، حيث يوجه الطلبات إلى سير العمل المناسب بناءً على الحدث المُشغّل والأمر المُقدم في التعليق. للحصول على دليل مفصل حول كيفية إعداد سير عمل التوزيع، توجه إلى وثائق سير عمل Gemini Dispatch.
يمكن استخدام هذا الإجراء لفرز مشكلات GitHub تلقائيًا أو وفقًا لجدول زمني. للحصول على دليل مفصل حول كيفية إعداد نظام فرز المشكلات، توجه إلى وثائق سير عمل فرز مشكلات GitHub.
يمكن استخدام هذا الإجراء لمراجعة طلبات السحب تلقائيًا عند فتحها. للحصول على دليل مفصل حول كيفية إعداد نظام مراجعة طلب السحب، توجه إلى وثائق سير عمل مراجعة PR على GitHub.
يمكن استخدام هذا النوع من الإجراءات لاستدعاء مساعد Gemini AI للأغراض العامة والمحادثة داخل طلبات السحب والمشكلات لأداء مجموعة واسعة من المهام. للحصول على دليل مفصل حول كيفية إعداد سير عمل Gemini CLI للأغراض العامة، توجه إلى وثائق سير عمل مساعد Gemini.
gcp_location: (اختياري) موقع Google Cloud.
gcp_project_id: (اختياري) معرف مشروع Google Cloud.
gcp_service_account: (اختياري) البريد الإلكتروني لحساب الخدمة في Google Cloud.
gcp_workload_identity_provider: (اختياري) موفر هوية العمل في Google Cloud.
gcp_token_format: (اختياري، القيمة الافتراضية: access_token) تنسيق الرمز المميز للمصادقة. اضبط على "access_token" لإنشاء رموز وصول (يتطلب حساب خدمة)، أو اضبط على سلسلة فارغة لـ WIF المباشر. يمكن أن يكون "access_token" أو "id_token".
gcp_access_token_scopes: (اختياري، القيمة الافتراضية: https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/userinfo.profile) نطاقات رمز الوصول عند استخدام token_format "access_token". قائمة مفصولة بفواصل لنطاقات OAuth 2.0.
نوصي بتعيين القيم التالية كمتغيرات للمستودع بحيث يمكن إعادة استخدامها عبر جميع سير العمل. بدلاً من ذلك، يمكنك تعيينها بشكل مضمن كمدخلات إجراء في سير العمل الفردي أو لتجاوز القيم على مستوى المستودع.
[!WARNING] لا تستخدم متغير البيئة
DEBUGلأنه يتسبب في توقف Gemini CLI عن العمل في انتظار اتصال مصحح العقدة.
لإضافة متغير مستودع:
للحصول على تفاصيل حول متغيرات المستودع، راجع وثائق GitHub حول المتغيرات.
يمكنك تعيين الأسرار التالية في مستودعك:
لإضافة سر:
لمزيد من المعلومات، راجع وثائق GitHub الرسمية حول إنشاء واستخدام الأسرار المشفرة.
يتطلب هذا الإجراء المصادقة على كل من خدمات Google (لـ Gemini AI) وواجهة GitHub API.
اختر طريقة المصادقة التي تناسب حالة الاستخدام الخاصة بك:
يمكنك المصادقة مع GitHub بطريقتين:
GITHUB_TOKEN الافتراضي: لحالات الاستخدام الأبسط، يمكن للإجراء استخدام GITHUB_TOKEN الافتراضي الذي يوفره سير العمل.للحصول على تعليمات إعداد مفصلة لكل من المصادقة مع Google وGitHub، توجه إلى وثائق المصادقة.
يمكن تكوين هذا الإجراء لإرسال بيانات القياس عن بُعد (التتبعات والمقاييس والسجلات) إلى مشروع Google Cloud الخاص بك. يتيح لك ذلك مراقبة أداء وسلوك Gemini CLI داخل سير العمل الخاص بك، مما يوفر رؤى قيّمة لتصحيح الأخطاء والتحسين.
للحصول على تعليمات مفصلة حول كيفية إعداد وتكوين قابلية المراقبة، توجه إلى وثائق قابلية المراقبة.
يمكن توسيع Gemini CLI بوظائف إضافية من خلال الإضافات. يتم تثبيت هذه الإضافات من المصدر من مستودعاتها على GitHub.
للحصول على تعليمات مفصلة حول كيفية إعداد وتكوين الإضافات، توجه إلى وثائق الإضافات.
لضمان أمان وموثوقية وكفاءة سير العمل الآلي الخاص بك، نوصي بشدة باتباع أفضل ممارساتنا. تغطي هذه الإرشادات المجالات الرئيسية مثل أمان المستودع، وتكوين سير العمل، والمراقبة.
تشمل التوصيات الرئيسية ما يلي:
للحصول على دليل شامل حول تأمين مستودعك وسير العمل، يرجى الرجوع إلى وثائق أفضل الممارسات.
أنشئ ملف GEMINI.md في جذر مستودعك لتوفير سياق وتعليمات خاصة بالمشروع لـ Gemini CLI. هذا مفيد لتحديد اصطلاحات الترميز، أو الأنماط المعمارية، أو إرشادات أخرى يجب أن يتبعها النموذج لمستودع معين.
المساهمات مرحب بها! اطلع على دليل المساهمة الخاص بـ Gemini CLI لمزيد من التفاصيل حول كيفية البدء.
gemini_api_key: (اختياري) مفتاح API لواجهة Gemini API.
gemini_cli_version: (اختياري، القيمة الافتراضية: latest) إصدار Gemini CLI الذي سيتم تثبيته. يمكن أن يكون "latest"، أو "preview"، أو "nightly"، أو رقم إصدار محدد، أو فرع git أو علامة أو commit. لمزيد من المعلومات، راجع إصدارات Gemini CLI.
gemini_debug: (اختياري) تمكين تسجيل التصحيح وتدفق المخرجات.
gemini_model: (اختياري) النموذج الذي سيتم استخدامه مع Gemini.
google_api_key: (اختياري) مفتاح Vertex AI API الذي سيتم استخدامه مع Gemini.
prompt: (اختياري، القيمة الافتراضية: You are a helpful assistant) سلسلة تُمرر إلى وسيطة --prompt الخاصة بـ Gemini CLI.
settings: (اختياري) سلسلة JSON تُكتب إلى .gemini/settings.json لتكوين إعدادات المشروع في CLI. لمزيد من التفاصيل، راجع الوثائق حول ملفات الإعدادات.
use_gemini_code_assist: (اختياري، القيمة الافتراضية: false) ما إذا كان سيتم استخدام Code Assist للوصول إلى نموذج Gemini بدلاً من مفتاح Gemini API الافتراضي. لمزيد من المعلومات، راجع وثائق Gemini CLI.
use_vertex_ai: (اختياري، القيمة الافتراضية: false) ما إذا كان سيتم استخدام Vertex AI للوصول إلى نموذج Gemini بدلاً من مفتاح Gemini API الافتراضي. لمزيد من المعلومات، راجع وثائق Gemini CLI.
extensions: (اختياري) قائمة بإضافات Gemini CLI التي سيتم تثبيتها.
upload_artifacts: (اختياري، القيمة الافتراضية: false) ما إذا كان سيتم رفع القطع الأثرية إلى إجراء GitHub.
use_pnpm: (اختياري، القيمة الافتراضية: false) ما إذا كان سيتم استخدام pnpm بدلاً من npm لتثبيت gemini-cli.
workflow_name: (اختياري، القيمة الافتراضية: ${{ github.workflow }}) اسم سير العمل في GitHub، يُستخدم لأغراض القياس عن بُعد.
github_pr_number: (اختياري، القيمة الافتراضية: ${{ github.event.pull_request.number }}) رقم طلب السحب الذي يعمل عليه CLI. القيمة الافتراضية هي حمولة الحدث.
github_issue_number: (اختياري، القيمة الافتراضية: ${{ github.event.issue.number }}) رقم المشكلة (أو قائمة مفصولة بفواصل لأرقام المشكلات) الذي يعمل عليه CLI. القيمة الافتراضية هي حمولة الحدث.
| الاسم | الوصف | النوع | مطلوب | متى يكون مطلوبًا |
|---|
GEMINI_DEBUG | تمكين تسجيل التصحيح لـ Gemini CLI. | متغير | لا | أبدًا |
GEMINI_CLI_VERSION | يتحكم في إصدار Gemini CLI الذي سيتم تثبيته. | متغير | لا | تثبيت إصدار CLI |
GCP_WIF_PROVIDER | اسم المورد الكامل لموفر هوية العمل. | متغير | لا | استخدام Google Cloud |
GOOGLE_CLOUD_PROJECT | مشروع Google Cloud للاستدلال وقابلية المراقبة. | متغير | لا | استخدام Google Cloud |
SERVICE_ACCOUNT_EMAIL | عنوان البريد الإلكتروني لحساب الخدمة في Google Cloud. اختياري - مطلوب فقط لـ WIF مع حساب الخدمة (غير مطلوب لـ WIF المباشر). | متغير | لا | استخدام WIF مع حساب الخدمة |
GOOGLE_CLOUD_LOCATION | منطقة مشروع Google Cloud. | متغير | لا | استخدام Google Cloud |
GOOGLE_GENAI_USE_VERTEXAI | اضبط على true لاستخدام Vertex AI | متغير | لا | استخدام Vertex AI |
GOOGLE_GENAI_USE_GCA | اضبط على true لاستخدام Gemini Code Assist | متغير | لا | استخدام Gemini Code Assist |
APP_ID | معرف تطبيق GitHub للمصادقة المخصصة. | متغير | لا | استخدام تطبيق GitHub مخصص |
| الاسم | الوصف | مطلوب | متى يكون مطلوبًا |
|---|
GEMINI_API_KEY | مفتاح Gemini API الخاص بك من Google AI Studio. | لا | ليس لديك مشروع GCP. |
APP_PRIVATE_KEY | المفتاح الخاص لتطبيق GitHub الخاص بك (تنسيق PEM). | لا | استخدام تطبيق GitHub مخصص. |
GOOGLE_API_KEY | مفتاح Google API الخاص بك لاستخدامه مع Vertex AI. | لا | لديك حساب Vertex AI صريح. |