An open API service indexing awesome lists of open source software.

https://github.com/shinepcsg/autoantigravity

An Antigravity extension that integrates Auto Accept, Telegram And Ralph Loop functions into one unified plugin.
https://github.com/shinepcsg/autoantigravity

antigravity auto-accept ralph-loop telegrambot

Last synced: 22 days ago
JSON representation

An Antigravity extension that integrates Auto Accept, Telegram And Ralph Loop functions into one unified plugin.

Awesome Lists containing this project

README

          

[English](README.md) | [한국어](README.ko.md) | [日本語](README.ja.md) | [简体中文](README.zh-cn.md) | [繁體中文](README.zh-tw.md) | [Español](README.es.md) | [Français](README.fr.md) | [Deutsch](README.de.md) | [Русский](README.ru.md) | [Português (Brasil)](README.pt-br.md) | [हिन्दी](README.hi.md) | [العربية](README.ar.md)

---

# AutoAntigravity

إضافة لبرنامج Antigravity تدمج بين وظيفتي **Auto Accept**, **Telegram** And **Ralph Loop** (حلقة رالف) في مكون إضافي واحد.

---

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

### ⚡ Auto Accept (القبول التلقائي)
تقوم هذه الميزة بالقبول التلقائي لـ **تعديلات الملفات، أوامر الطرفية، وطلبات الأذونات** المقترحة من قبل عميل (Agent) Antigravity.

- **CDP (بروتوكول أدوات مطوري كروم) + MutationObserver**: يكتشف تغييرات DOM فوراً ← ينقر على الأزرار تلقائياً.
- **استطلاع VS Code Commands API**: يقوم تلقائيًا بتنفيذ أوامر مثل `acceptAgentStep` و `terminalCommand.run`.
- **الأزرار المكتشفة المدعومة**: `Run`, `Accept`, `Always Allow`, `Allow`, `Retry`, `Continue`
- **إضافة نصوص أزرار مخصصة** مدعومة (دعم متعدد اللغات)

### 📱 التكامل مع بوت تيليجرام (Telegram)
مراقبة وإدارة تدفق العمل عبر بوت تيليجرام.

- **سهولة إعداد الواجهة**: يمكنك تسجيل Bot Token و Chat ID مباشرة عبر لوحة إعدادات الواجهة الجانبية لـ AutoAntigravity.
- **تخزين آمن**: يقوم بالاحتفاظ وإدارة إعدادات البوت بأمان باستخدام ملف `.env`.
- **إشعارات والمزيد**: يضع الأساس لميزات متقدمة مثل مراقبة سير عمل المهام.

### 🔄 Ralph Loop (حلقة رالف)
نظام **تنفيذ متكرر ومستقل للعميل** يعتمد على ملف `PRD.md`.

- **يعتمد على ملف المهام**: يدير المهام بصيغة مربعات اختيار (`- [ ]`) في ملف `PRD.md`.
- **دعم المهام المتوازية**: ينفذ المهام بشكل مستقل ومتوازي باستخدام قسائم العمل في git (git worktrees) من خلال علامة `#parallel`، ويدمجها أوتوماتيكياً.
- **تتبع التقدم**: يسجل نتيجة كل دورة كمرفق فقط (append-only) في ملف `progress.txt`.
- **إيداع تلقائي (Auto Commit)**: يقوم بعمل commit في Git تلقائيًا بعد الانتهاء من كل دورة.
- **تحديث السياق**: يتغلب على حدود نافذة السياق من خلال بدء جلسة جديدة لكل دورة.
- **وسائل الأمان**: يحد من الحد الأقصى للدورات لتجنب الحلقات اللانهائية.

---

## 🛠 التثبيت

### 1. تفعيل وضع التصحيح المتقدم (مطلوب)
أضف العلم (flag) التالي عند فتح برنامج Antigravity:

```
--remote-debugging-port=9559
```

**نظام Windows**: أضفها في نهاية المسار (Target) الخاص باختصار البرنامج في الخصائص (Properties).
**نظام Mac**: `open -a "Antigravity" --args --remote-debugging-port=9559`
**نظام Linux**: أضفها في سطر Exec داخل ملف `.desktop` الخاص بك.

> 💡 بعد التثبيت، إذا كان المنفذ مغلقًا عند التشغيل الأول، سيظهر إشعار ترقيع تلقائي (Auto-Patch).

### 2. تثبيت الإضافة (Extension)
ابحث عن `AutoAntigravity` في **لوحة الإضافات (Extensions Panel)** داخل Antigravity لتثبيتها مباشرة.
- [صفحة AutoAntigravity على Open VSX Registry](https://open-vsx.org/extension/shinepcsg/AutoAntigravity)

---

## 📖 طريقة الاستخدام

### القبول التلقائي (Auto Accept)
- **التبديل**: انقر على `⚡ AutoAccept: ON` / `✕ AutoAccept: OFF` في شريط الحالة بالأسفل.
- **الأمر (Command)**: `Ctrl+Shift+P` ← اضغط على `AutoAntigravity: Toggle Auto Accept`

### 📱 إعدادات بوت تيليجرام
يمكنك ربط بوت تيليجرام لمراقبة سير العمل ووصول الإشعارات.

1. **إنشاء بوت**: أنشئ بوت عبر `@BotFather` في تيليجرام واحصل على **رمز البوت (Bot Token)** الخاص به.
2. **الحصول على معرف الدردشة (Chat ID)**: ارسل رسالة إلى البوت أو استخدم أدوات مثل `@msid_bot` للحصول على **Chat ID** الخاص بك.
3. **تسجيل الإعدادات**: افتح شريط اللوحة بالضغط على **أيقونة AutoAntigravity** الموجودة في شريط الأنشطة الجانبي الأيسر.
4. أدخل رمز البوت الخاص بك ومعرف الدردشة في قائمة **إدارة التكامل مع تيليجرام** داخل اللوحة واحفظ الإعدادات.
> 💡 *يتم حفظ المعلومات المكونة بشكل آمن في الملف `.env` الموجود في الدليل الرئيسي لمساحة العمل.*

### 🔄 Ralph Loop (حلقة رالف)
1. **تحضير ملف المهام**: أنشئ وتأكد من وجود `PRD.md` في مساحة العمل الخاصة بك (باستخدام صيغة مربعات الاختيار في Markdown)
```markdown
- [ ] تخصيص وتطبيق نقاط النهاية للمسار (API Endpoint)
- [ ] تصميم وهياكل مخططات قواعد البيانات
- [ ] كتابة وحدات وعمليات الفحص التجريبية (Unit Tests)
```
2. **بدء الحلقة**: `Ctrl+Shift+P` ← حدد الأمر `AutoAntigravity: Start Ralph Loop`
3. **لإيقاف الحلقة**: `Ctrl+Shift+P` ← حدد الأمر `AutoAntigravity: Stop Ralph Loop`

### تسجيل مسار عمل `/write-prd`

باستخدام أمر القطع المائل `/write-prd`، سيقوم عميل الذكاء الاصطناعي بكتابة مستند المهام (PRD) بشكل أوتوماتيكي ليتم تنفيذه على الفور عبر Ralph Loop.

افتح اللوحة الجانبية بالضغط على **أيقونة AutoAntigravity** الموجودة في شريط الأنشطة الجانبي الأيسر،
ثم اضغط على زر **📋 write-prd (المسار)** في قسم الإعدادات لتثبيت مسار العمل تلقائياً في المشروع الحالي.

بعد التثبيت، اكتب `/write-prd` في دردشة Antigravity لتشغيل مسار العمل.

---

### 🔀 إعدادات المهام المتوازية

يستطيع Ralph Loop تنفيذ المهام الموسومة بـ `#parallel` بشكل متزامن وبشكل مستقل في **أشجار عمل (git worktrees) مختلفة**.

#### تفعيل الخدمة

يتم تفعيل هذا النطاق بشكل افتراضي وتلقائي، وتستطيع ضبط ذلك من إعدادات التحكم:

| الإعداد | الوضع الافتراضي | وصف الوظيفة |
|---|---|---|
| `autoAntigravity.ralphLoop.enableParallel` | `true` | تعطيل / أو تمكين تنفيذ المهام المتوازي والمستقل |
| `autoAntigravity.ralphLoop.maxParallelTasks` | `3` | الحد الأقصى للمهام المسموح بتشغيلها المتزامن (من 2 إلى 8) |

#### استخدام وسم مهام الموازاة بالـ PRD

قم بإدراج وصيغة `#parallel` جنب كل عنصر مهمة ترغب باستلامه وتنفيذه معاً بتزامن:

```markdown
### خطوة المهام 2: تنفيذ آلي للموديولات المقطوعة (المستقلة تماما)
- [ ] #parallel المهمة 2-1: تجهيز وإضافة وحدة التحكم بالمستخدم (src/user.js)
- [ ] #parallel المهمة 2-2: إعداد وبرمجة وحدة المنتج (src/product.js)
- [ ] #parallel المهمة 2-3: تنفيذ وتطوير وحدة الطلب (src/order.js)
- [ ] تأكيد واختبار 2: ضمان وصحة مرور الاختبارات الفردية لكل المكونات
```

#### قواعد وضوابط عمليات التوازي

- **العناصر المتتالية الموسومة بـ `#parallel`** تقوم بمفردها كلياً بصنع وبناء ما يعرف بـ "مجموعة موازاة مستقلة".
- لو تمت إضافة مهمة أو سطر غير موسوم بين سطور التوازي، سيتم تجزئتهم وتقسيمهم إلى **مجموعات توازي منفصلة ومتنوعة**.
- يُستخدم هذا الشرط بشكل خاص مع **تغيير وتعديل الملفات المختلفة** — حيث أن تعديل ملف مشترك بمهام مختلفة مجتمعة سيتسبب بصراع وحطام خلال الدمج بالرفع.
- **إياك واستخدام التوازي** عندما تعتمد مهمتك قيد العمل بنتيجة من مخرجات مهمة قبلها بنفس مجموعة المهام قيد التوازي كلياً.

#### آلية العمل داخلياً

1. عند رصد نظام Ralph Loop بوجود مهام مجموعة مشتركة بالموازاة، سيبدأ النظام تلقائيا بتكوين **(worktree) منفصلة لكل مهمة وساحة**.
2. هنالك عميل أمان مستقل لعمليات Antigravity يعمل ويقوم بإجراء المهمة وبمزامنة لـ بيئة الملفات.
3. فور إنهاء دورات الساحات المتوازية، ستلتئم القطع والمخرجات لتندمج **تلقائيًا بفرع المصدر الرئيسي الأساسي كلياً (main branch)**.
4. لو تبين وجود تضارب وتصادم خلال عمليات الرفع، فإن الذكاء الاصطناعي سيبادر في فك ومحاولة استرداد الإصلاح بأمان وبحذر شديد فوراً وبنفسه.

---

## ⚙ الإعدادات

| اسم الإعداد | الافتراضي | الوصف |
|---|---|---|
| `autoAntigravity.autoAccept.pollInterval` | `500` | الفاصل الزمني للاستطلاع التلقائي بالمللي ثانية |
| `autoAntigravity.autoAccept.cdpPort` | `9559` | منفذ CDP لتصحيح الأخطاء |
| `autoAntigravity.autoAccept.customButtonTexts` | `[]` | إرفاق نصوص أزرار إضافية مدمجة |
| `autoAntigravity.ralphLoop.maxIterations` | `50` | الحد الأقصى للتكرار الآلي (للتأمين من الأخطاء القاتلة) |
| `autoAntigravity.ralphLoop.taskFile` | `PRD.md` | إطار عمل واسم ملف إدارة المهام (اسم ملف المهام) |
| `autoAntigravity.ralphLoop.progressFile` | `progress.txt` | ملف حفظ واستخراج بيانات السجلات والتقدم |
| `autoAntigravity.ralphLoop.autoCommit` | `true` | دمج آلي وحفظ سجل الفروع لكل مهمة وإيداع Git تلقائياً |
| `autoAntigravity.ralphLoop.autoDeleteBranch` | `true` | حذف تلقائي لفرع المهمة بعد الدمج النهائي |
| `autoAntigravity.ralphLoop.iterationDelayMs` | `1500` | زمن مهلة الانتظار بين الحلقة والأخرى (مللي ثانية) |
| `autoAntigravity.ralphLoop.allowPrdModification` | `false` | السماح والسماحية للذكاء الصناعي العميل بإجراء تعديلات بملف PRD |
| `autoAntigravity.ralphLoop.autoStart` | `true` | إقلاع الحلقة آلياً بمجرد حصول ورصد أي تعديل لملف الـ PRD |
| `autoAntigravity.ralphLoop.enableParallel` | `true` | تقييد التفعيل لتشغيل الخاصية الموازية بمهام `#parallel` |
| `autoAntigravity.ralphLoop.maxParallelTasks` | `3` | قمة وحد الاستمرار لإدارة العمليات الموازية العكسية بـ (2 إلى 8) |

---

## 🔒 مبادئ الأمان والخصوصية

- القبول التلقائي من نوع Auto Accept يعمل ومفعل وصالح **فقط بساحة وبيئة لوحة العميل الداخلي لـ Antigravity حصراً** (نظام حماية من متصفحك)
- لن ولن يقوم بالنقر والمس بالروابط والمواقع والصفحات الخارجية إطلاقاً.
- منفذ CDP موجه بشكل تام وجذري باتجاه الخادم المحلي للمضيف **(localhost) فقط لا غير** — بلا عبور لأي خصلة شبكة خارجية المنفذ كلياً.
- أخذ برتوكول Ralph Loop الحد القاطع للحد الأقصى لدورات سير التكرار لضمانة واكتفاء درء الحلقة من أي طوابير لانهائية وبدون أي سيطرة.

---

## 📝 ترخيص

مرخص من قِبل MIT License — [LICENSE](LICENSE)

## 🙏 الاعتمادات وحقوق النشر
تَم صُنعه وابتكاره من Chansun Park (shinepcs@gmail.com)