تخطَّ إلى المحتوى
  • مفتوح المصدر
  • AGPL-3.0
  • v0.2.0
  • Bun ≥ 1.3.14
  • TypeScript

وكيل برمجة في الطرفية بـقمرة قيادة، لا بسجل محادثة.

يعمل Rovecode فوق Bun، ويتحدث إلى 16 مزوّدًا أو إلى أي نقطة وصول متوافقة مع OpenAI، ويمرّر كل استدعاء أداة عبر سياسة ترفض افتراضيًا قبل أن يمسّ مستودعك. برمجيات حرّة برخصة AGPL-3.0.

$ rovecode "fix the failing test"
rovecode · atlas · feature/authreal frame
واجهة sextant النصية بحجم 160 في 44 خلية: شجرة ملفات بحالات git، ولوحة الشيفرة تعرض src/auth/callback.ts مع إبراز الأسطر المعدَّلة، ولوحة الرسائل بأسطر أدوات القراءة والتعديل وبطاقة موافقة تطلب تشغيل bun test، والخطة عند الخطوة 1 من 4، واستهلاك السياق 13 بالمئة، ومرافق rovecode السحابي ينتظر إيماءة.
‎+4 −1‎ حطّاسأل أولًا · بطاقة موافقةالسياق 13 ٪ من 200k

إطار حقيقي: بطاقة الموافقة على bun test، وسطر التعديل ‎+4 −1‎، والسياق عند 13 ٪ من 200k. مرسوم عبر رسّامي sextant بساعة ثابتة.

  • 2,200+اختبارات
  • 16مزوّدون مضمّنون
  • 4طبقات السياسة
  • 15لغات هذه الصفحة
  • AGPL-3.0الرخصة

وكيل برمجة للطرفية. ‏TypeScript فوق Bun، و47 نمطًا منقولًا، وسياسة واحدة ترفض افتراضيًا أمام كل أداة.

فرق تشغّل rovecode

  • Northwind Robotics
  • Harbourline Payments
  • Meridian Studio
  • Cobalt Grid
  • Larkspur Health
  • Tessellate
  • Ferrous Labs
  • Quill & Compass

أسماء مؤقتة حتى يوافق أول العملاء على الظهور.

02القمرة

ست لوحات على شاشة واحدة. الملف الذي يهمّك لا يختفي مع التمرير أبدًا.

ملفات بحالة git، وشيفرة بشريط الإبراز وفرق ±، وأسطر أدوات مضغوطة، وخطة، واستهلاك، والمرافق. مرسوم بلا شاشة عبر رسّامي sextant بساعة ثابتة: المسار البرمجي نفسه الذي ترسم به الواجهة، لا نموذجًا تجريبيًا.

لوحة الرسائل · سطرًا بسطر

تشغيل واحد، منسوخ من الإطار أعلاه.

كل استدعاء أداة سطر واحد: الفعل، والملف، وما الذي تغيّر. حطّ التعديل بوصفه ‎+4 −1‎. ينتظر أمر الصدفة خلف بطاقة واحدة بثلاث إجابات؛ ‏Esc يرفض، وتُحفظ الإجابة لبقية الجلسة.

لا تستطيع الوكلاء الأبناء السؤال. ولا يصل argv الممنوع إلى البطاقة أصلًا.

03مشكلات ← حلول

أربعة أمور تفسد في وكلاء الطرفية، وما يفعله rovecode حيال كلٍّ منها.

مصاغة بالكلمات التي ستقولها أمام لوحة المفاتيح، ومُجابة بالآلية وحدّها. كل شريط قصاصة إطار حقيقي أو ملف الإعداد الحقيقي.

  1. ~/.rovecode/providers.json
    {
    "default": "kaesra/zai-org/glm-5.3-flash",
    "providers": {
    "kaesra": {
    "baseUrl": "https://api.kaesra.tech/v1",
    "protocol": "openai",
    "keyEnv": "KAESRA_API_KEY"
    },

    01المشكلة

    كل وكيل يأتي ملحومًا بواجهة مزوّد واحد وصفحة أسعاره.

    ما يفعله rovecode

    وصلة StreamFn واحدة وسجل مزوّدين حيّ. 16 مزوّدًا مسمّى، أو أي نقطة وصول متوافقة مع OpenAI أو Anthropic من providers.json؛ ومزوّد تضيفه في طرفية أخرى يخدم الاستدعاء التالي مباشرة. وسلاسل الاحتياط حسب الدور تتقدّم عند 429 أو 5xx.

    rovecode provider add homelab http://10.0.0.7:8000/v1 --no-key
  2. The messages panel: a user line, the assistant's note, then compact tool rows for read and edit with +5 −2

    02المشكلة

    سجل المحادثة يدفع الملف الذي يهمّك خارج الشاشة بينما يعدّله الوكيل.

    ما يفعله rovecode

    قمرة مقسّمة إلى لوحات: الملفات والشيفرة والرسائل والخطة والاستهلاك ومرافق السحابة. تُبقي لوحة الرسائل كل استدعاء أداة في سطر واحد مضغوط؛ وتعرض لوحة الشيفرة الكتلة الوحيدة التي حطّت.

    files · code · messages · plan · usage · rovecode
  3. The approval card: needs your permission, bash rm -rf node_modules && git checkout -- ., with deny selected

    03المشكلة

    يطلب النموذج rm -rf فينفّذه الإطار لأن أحدًا لم يقل لا في الوقت المناسب.

    ما يفعله rovecode

    أولًا قواعد بأحرف بدل ترفض افتراضيًا، ثم أحكام execpolicy حيث لا يبلغ الممنوع تنفيذًا ولا إنسانًا، ثم بطاقة موافقة على الوسائط بعد تصحيحها. أربع طبقات متراكبة، ولا واحدة منها تدّعي أنها صندوق رملي.

    rules → execpolicy → approval → runtime denylist + cwd lock
  4. The /rewind picker: rewind to a turn, rows #38 to #41 with #40 selected

    04المشكلة

    الدور الأربعون يسير خطأً والطريق الوحيد للعودة محادثة جديدة.

    ما يفعله rovecode

    شجرة جلسة JSONL للإلحاق فقط مع سلسلة تجزئة sha256. يفتح ‎/rewind‎ منتقي الأدوار، ويتفرّع من أي دور، ويملأ المحرّر بنصّه الكامل؛ ونقاط تفتيش shadow-git تستعيد بثلاثة أوضاع دون أن تمسّ ‎.git‎ لديك.

    /rewind /checkpoints /restore rovecode trace <session-id>
  1. 01قمرة sextant
  2. 02مزوّدون يُعاد تحميلهم فورًا
  3. 03عميل MCP
  4. 04سلّم الأمان
  5. 05شجرة الجلسة + نقاط التفتيش
  6. 06‏ACP لـ Zed وJetBrains
  7. 07‏HTTP وSSE بلا واجهة
  8. 08وكلاء فرعيون في الخلفية
  9. 09الخطّافات
  10. 10‏OpenTelemetry

04القدرات

عشر قدرات، كلٌّ منها نقلٌ له أثر file:line.

ينقل Rovecode أنماطًا موثّقة من pi وopencode وcodex وcline وaider وgemini-cli وغيرها. ولا يحطّ النقل إلا بعد أن يتحقّق منه ناقد بسياق جديد مقابل معيار كُتب قبل بدء العمل.

الواجهة

قمرة sextant

ست لوحات على طرفية بألوان كاملة لا تقل عن 100×30: ملفات بحالة git، وشيفرة بشريط الإبراز وفرق ±، وأسطر أدوات مضغوطة، وخطة، واستهلاك، والمرافق. ثلاث لوحات ألوان، و‎/theme‎ يبدّل أثناء التشغيل؛ و‎--classic‎ يبقي محادثة pi-tui.

rovecode · ROVECODE_TUI=sextant|classic · /theme night|ember|contrast
قصاصة من إطار sextant: شجرة الملفات ولوحة الشيفرة بشريط إبراز التعديل

المزوّدون

مزوّدون يُعاد تحميلهم فورًا

ستة عشر مدمجًا وكل ما تسجّله في providers.json. يحلّ كل استدعاء المزوّد وفق اللقطة الحيّة: أضِف واحدًا في طرفية أخرى فتستخدمه القمرة العاملة في الاستدعاء التالي. دون إعادة تشغيل.

rovecode provider add|list|test · rovecode model use provider/model
~/.rovecode/providers.json
{
"default": "kaesra/zai-org/glm-5.3-flash",
"providers": {
"kaesra": {
"baseUrl": "https://api.kaesra.tech/v1",
"protocol": "openai",
"keyEnv": "KAESRA_API_KEY"
},
"homelab": {
"baseUrl": "http://10.0.0.7:8000/v1",
"protocol": "openai",
"noKey": true,
"models": ["qwen3-coder-30b"]
}
}
}
  • السياق

    عميل MCP

    خوادم stdio وHTTP من ‎.rovecode/mcp.json‎. كشف كسول عبر أداتَي سجل، فيكلّف الخادم الخامل ما يقارب صفر رمز.

    mcp_list · mcp_call
  • الأمان

    سلّم الأمان

    كل استدعاء أداة يصعد أربع درجات قبل أن يعمل. ويُرفض argv الممنوع قبل أن يراه أي خطّاف؛ و‎--yolo‎ يتخطّى الأسئلة لا قواعد الرفض.

    rules → execpolicy → approval → runtime

  • الذاكرة

    شجرة الجلسة + نقاط التفتيش

    ‏JSONL للإلحاق فقط مع سلسلة تجزئة sha256. ‏‎/rewind‎ يتفرّع، و‎/resume‎ يستأنف، ونقاط shadow-git تستعيد بثلاثة أوضاع ولا تمسّ ‎.git‎ لديك أبدًا.

    /rewind · /checkpoints · /restore
  • ‏ACP لـ Zed وJetBrains

    ‏Agent Client Protocol v1 عبر stdio، بحزمة التطوير الرسمية.

    rovecode acp
  • ‏HTTP وSSE بلا واجهة

    جلسات، وتيار RunEvent واحد، وOpenAPI على ‎/doc‎. المنفذ 4100، على الحلقة المحلية فقط.

    rovecode serve
  • وكلاء فرعيون في الخلفية

    جلسات أبناء FIFO محدودة، ثلاث متزامنة افتراضيًا؛ وتصل الملاحظات في الدور التالي للأب.

    /tasks
  • الخطّافات

    تسعة خطّافات مُنمّطة في ‎.rovecode/hooks.ts‎، لكلٍّ منها حدّ خمس ثوانٍ. و‎pre_tool‎ لا يملك إلا الرفض.

    pre_tool · approval · on_event
  • ‏OpenTelemetry

    أثر واحد لكل تشغيل: run ⊃ turn ⊃ tool مع الرموز والزمن والتكلفة. وبلا نقطة وصول محدّدة، لا مُصدِّر.

    ROVECODE_OTEL_ENDPOINT

05الأمان والنشر

أربع طبقات أمام كل استدعاء لأداة. لا شيء يغادر الجهاز الذي لم تُعِدَّه بنفسك.

نموذج الأمان كما يذكره ملف README، بحدوده كاملة. كل طبقة تقول ما الذي تقرره وأين تتوقف؛ ولا واحدة منها صندوق رمل.

  1. الطبقة 01

    01rules

    قواعد بأحرف بدل، المنع فيها هو الأصل، على الأداة وعلى argv. النمط الممنوع يُرفض قبل أن يعمل أي شيء.

    الحدمطابقة أنماط لا نوايا: صياغة جديدة لأمر خطير تمر إلى الطبقة التالية.

  2. الطبقة 02

    02execpolicy

    أحكام على argv بعد تحليله: allow وprompt وforbidden. الممنوع لا يبلغ التنفيذ ولا يبلغ إنسانًا.

    الحدتقرأ الأمر لا الصدفة التي سيعمل فيها؛ الاسم المستعار أو متن السكربت يظل معتمًا عليها.

  3. الطبقة 03

    03approval

    بطاقة واحدة على الوسائط بعد مراجعتها: اسمح، اسمح دائمًا، ارفض. تُحفظ الإجابات لكل جلسة، والوكلاء الفرعيون لا يستطيعون السؤال.

    الحدقرار بشري: خيار ‎--yolo‎ يتخطى هذه الدرجة، ولا يتخطى قواعد المنع فوقها أبدًا.

  4. الطبقة 04

    04runtime

    قائمة منع لأوامر bash وقفل على مجلد العمل عند التنفيذ؛ ومفتاح Esc ينهي الاستدعاء الجاري، وعلى ويندوز ينهي شجرة عملياته كلها.

    الحدتفويض لا عزل. العمل غير الموثوق مكانه حاوية أو آلة افتراضية صغيرة.

النشر والبيانات

  • 01

    مستضاف ذاتيًا بحكم التعريف

    يعمل من المصدر على جهازك أو في التكامل المستمر لديك. الحساب اختياري: يفتح خطط صفحة الأسعار ولا يقيّد سطر الأوامر أبدًا. المتطلب الوحيد هو Bun ≥ 1.3.14.

  • 02

    لا اتصال بالبيت

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

  • 03

    القياس عن بُعد باختيارك

    تصدير OpenTelemetry متوقف حتى تضبط ROVECODE_OTEL_ENDPOINT؛ وحتى حينها يحمل معرّفات وأحجامًا ونتائج — لا يحمل أبدًا المطالبات ولا الوسائط ولا المخرجات.

  • 04

    أثر تدقيق بحكم البناء

    الجلسات ملفات JSONL للإضافة فقط مع سلسلة تجزئة sha256؛ وكل تشغيل يصدّر أثرًا واحدًا (run ⊃ turn ⊃ tool)، بما في ذلك ما أُلغي منها.

  • 05

    حال المنصات

    ويندوز أولًا: التطوير وبوابة الإصدار يعملان على Windows 11. مسارات POSIX مختبَرة، أما لينكس وماك فلم يُتحقق منهما في التكامل المستمر بعد.

  • 06

    الرخصة

    AGPL-3.0-only. عدّل وأعد التوزيع بحرية؛ ومن يشغّل نسخة معدّلة كخدمة عبر الشبكة يلزمه أن يعرض مصدرها على أولئك المستخدمين.

06من الطرفية

أربعة إطارات حقيقية بحجم 160×44، والمواضع الجديرة بالقراءة مرقّمة.

مرسومة بلا شاشة عبر رسّامي sextant بساعة ثابتة: المسار البرمجي نفسه الذي ترسم به الواجهة، لا نموذجًا تجريبيًا. مرّر المؤشر فوق إطار ليستوي؛ وفوق سطر ليضيء علامته.

rovecode · atlas · feature/auth · 160×44real frame
إطار sextant بعد تعديل: لوحة الشيفرة في وضع الفروق تعرض كتلة واحدة، ولوحة الرسائل تسرد سطرَي القراءة والتعديل

حطّ التعديل. ولوحة الشيفرة تعرض تلك الكتلة بالضبط.

التُقط قبل تعديل موافَق عليه، وأُعيد بناؤه من مراسي التعديل نفسه بعد تعديل بلا موافقة.

  1. 1بدّل إلى وضع فروق ± حين يحطّ التعديل
  2. 2اقرأ ‎+4 −1‎ مقابل الملف على القرص
  3. 3تابع أسطر الأدوات المضغوطة: قراءة ثم تعديل
  4. 4راقب امتلاء السياق عند 13 ٪ من 200k
rovecode · atlas · feature/auth · 160×44real frame
إطار sextant وبطاقة الموافقة مفتوحة: bash bun test tests/auth.test.ts، اسمح دائمًا ارفض

أمر صدفة ينتظر إيماءة. بطاقة واحدة، وثلاث إجابات.

تُحسم الموافقات على الوسائط بعد تصحيحها وتُحفظ لكل جلسة؛ ولا تستطيع الوكلاء الأبناء السؤال.

  1. 1شاهد argv الدقيق قبل تشغيله
  2. 2اختر اسمح أو دائمًا أو ارفض؛ وEsc يرفض
  3. 3يتحوّل الترويس إلى بانتظارك
  4. 4يطلب المرافق الإيماءة ثم يتذكّرها
rovecode · atlas · feature/auth · 160×44real frame
إطار sextant بعد انتهاء التشغيل: لوحة الشيفرة في وضع التشغيل تعرض مخرجات bun test بنجاح 18، والخطة 4/4 مكتملة

جرت الاختبارات. لوحة ‎$‎ تحفظ المخرجات، والترويس يجمّد الساعة.

تقرأ شارتا PASS وFAIL رمز الخروج من سطر ترويس الأداة نفسها.

  1. 1اقرأ المخرجات في وضع ‎$‎، 18 ناجحًا
  2. 2تُغلق الخطة عند 4/4 خطوات
  3. 3يحمل سطر الأداة آخر سطر من المخرجات
  4. 4تستقر التكلفة عند ‎$0.071‎ من الفهرس دون اتصال
rovecode · atlas · feature/auth · 160×44real frame
إطار sextant ولوحة الطاقم مفتوحة: مساران، كتابة اختبارات جارية ومراجعة منتهية

مهمّتان في الخلفية، لكلٍّ مسار، على لوحة الطاقم.

تتشارك جلسات الأبناء حلقة الوكيل الوحيدة؛ والخروج من الواجهة يلغي كل ابن حيّ.

  1. 1افتح لوحة ‎∷ agents‎ بـ ‎⌃a‎
  2. 2يعرض كل مسار التسمية والزمن المنقضي والحالة
  3. 3يبقى ملخّص الطاقم في لوحة الخطة
  4. 4وفي الأثناء يواصل التشغيل الأب تعديله

07البدء السريع

ثلاثة أوامر من الاستنساخ إلى وكيل يعمل.

بلا مزوّد مُعدّ، تستخدم عمليات التشغيل المفردة مزوّدًا وهميًا مكتوبًا مسبقًا؛ وهكذا يعمل اختبار الدخان للتحزيم أيضًا.

  1. 01

    استنسخ واربط (Bun ≥ 1.3.14)

    مدخل واجهة الأوامر شيفرة TypeScript ينفّذها bun؛ ولا يستطيع node تشغيلها. و‎bun link‎ يضع rovecode في PATH.

    $ git clone https://github.com/9Code-Labs/rovecode && cd rovecode && bun install && bun link
  2. 02

    اربط نموذجًا

    يقودك ‎rovecode setup‎ خطوة بخطوة: اختر مزوّدًا، والصق المفتاح مخفيًا، واستدعاء اختبار صغير واحد، وانتهى. أو خزّن مفتاحًا مباشرة بـ‎rovecode auth set‎، أو وجّه ROVECODE_BASE_URL إلى أي نقطة وصول متوافقة مع OpenAI.

    $ rovecode setup
    أو
    $ rovecode auth set anthropic
  3. 03

    شغّل مهمة أو افتح القمرة

    ‏‎rovecode‎ وحده يفتح واجهة sextant. والمطالبة بين علامتَي اقتباس تشغيل مفرد؛ و‎--output json‎ يعيد كائن نتيجة واحدًا بالضبط.

    $ rovecode "fix the failing test"
    $ run · exit 0
    مخرجات التشغيل: 18 ناجحًا، و0 فاشلًا، و41 استدعاء ‎expect()‎، وجرى 18 اختبارًا في ملف واحد.
13
واجهات مستضافة
3
بيئات تشغيل محلية

08المزوّدون

ستة عشر مزوّدًا مدمجًا، أو أي عنوان متوافق مع OpenAI.

بيانات الاعتماد المحفوظة تتقدّم على متغيّرات البيئة <NAME>_API_KEY؛ والزوج الصريح ROVECODE_BASE_URL / ROVECODE_API_KEY يتقدّم عليهما معًا.

واجهات مستضافة

بيئات تشغيل محلية

  • kaesra
  • openai
  • anthropic
  • deepseek
  • groq
  • openrouter
  • together
  • mistral
  • cerebras
  • fireworks
  • perplexity
  • xai
  • moondream
  • ollama
  • lmstudio
  • vllm

● بيئات التشغيل المحلية لا تحتاج مفتاحًا · ‏‎rovecode auth set <name>‎ يخزّن مفتاحًا في ‎~/.rovecode/credentials.json‎، يُطلب في الطرفية ولا يُطبع أبدًا.

أي نقطة وصول · فوريًا

أضِف مزوّدًا في طرفية أخرى؛ فتلتقطه القمرة العاملة في الاستدعاء التالي. دون إعادة تشغيل.

$ rovecode provider add homelab http://10.0.0.7:8000/v1 --no-key
~/.rovecode/providers.json
{
"default": "kaesra/zai-org/glm-5.3-flash",
"providers": {
"kaesra": {
"baseUrl": "https://api.kaesra.tech/v1",
"protocol": "openai",
"keyEnv": "KAESRA_API_KEY"
},
"homelab": {
"baseUrl": "http://10.0.0.7:8000/v1",
"protocol": "openai",
"noKey": true,
"models": ["qwen3-coder-30b"]
}
}
}

09بكلماتهم

فرق نقلت المراجعة إلى الطرفية.

  • انتقلت المراجعة إلى الطرفية وصارت بطاقة الموافقة هي الحوار. نُنجز القدر نفسه بثلث المراسلات.

    Aylin Demirci

    رئيس المنصة · Northwind Robotics

  • سياسة الرفض الافتراضي هي سبب موافقة فريق الأمان. كل استدعاء أداة سطرٌ في سجل نقرأه أصلًا.

    Marcus Oyelaran

    مهندس أول · Harbourline Payments

  • اثنا عشر شخصًا، ونماذج محلية، ولا مورّد بيننا. يعمل حيث يُسمح لشيفرة عملائنا أن تعمل.

    Inés Ferrer

    مؤسِّسة · Meridian Studio

اقتباسات توضيحية من فرق خيالية، كُتبت للصفحة — وتحل محلها اقتباسات حقيقية قبل الإطلاق.

10الأسعار

ابدأ مجانًا. مُسعَّر للفريق الذي يُنجز.

كل خطة تشغّل الوكيل نفسه خلف سياسة الرفض الافتراضي نفسها. تختلف الخطط في كم تشغّله، ومع من.

  • Free

    لتجربة الوكيل على مستودعاتك.

    $0/ شهر

  • Pro

    لمهندس واحد يُنجز به كل يوم.

    $20/ شهر

  • Max

    للمهندس الذي يقضي أسبوعه داخله.

    $200/ شهر

  • Teams

    لفريق يتشارك الرصيد والمعرفة والسياسة.

    $80/ شهر

    الحد الأدنى $80 · $40 لكل مقعد كامل / شهر

اطّلع على كل الخطط

11أسئلة شائعة

اعتراضات، بإجابات محدّدة.

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

كل ما هنا مأخوذ من أقسام README.md: نموذج الأمان، والقيود المعروفة، وقابلية الرصد، والرخصة والإشعارات. وحيث يذكر الملف حدًّا، تذكره هذه الصفحة كذلك.

لا. تعمل أربع طبقات متراكبة قبل كل استدعاء أداة وحوله: قواعد سياسة ترفض افتراضيًا، وأحكام execpolicy (فالأمر الممنوع لا يبلغ تنفيذًا ولا إنسانًا)، وبوابة الموافقة على الوسائط بعد تصحيحها، وقائمة رفض لـbash أثناء التشغيل مع قفل لمجلد العمل. وموضع تشغيل bash قابل للاختيار — مباشرة أو WSL2 أو Docker — لكن كل درجة تفويض لا عزل. استخدم حاوية أو آلة افتراضية صغيرة للعمل غير الموثوق.

12احصل على rovecode

ست لوحات. ستة عشر مزوّدًا. ابدأ مجانًا، وادفع حسب الفريق.

$ git clone https://github.com/9Code-Labs/rovecode && cd rovecode && bun install && bun link
‏Rovecode، مرافق السحابة, رافعًا إبهامه