عن المشروع

ainess هو تطبيق لسطح المكتب (مبني بـ Tauri 2 ومرخص بموجب MIT) يحول واجهات سطر أوامر (CLIs) الخاصة ببرمجة الذكاء الاصطناعي المثبتة لديك بالفعل إلى فريق عمل منسق. بدلاً من تضمين نموذج أو مفتاح API، يقوم التطبيق باكتشاف وتشغيل الأدوات الموجودة — مثل Claude Code وAntigravity وGitHub Copilot CLI وGemini CLI وCodex CLI وopencode وOllama وAider — ويمكنه تثبيت معظمها من لوحة الإعدادات. يمكن لنوع الوكيل "المخصص" (custom) تشغيل أي أمر، مع استبدال {prompt} في وسائطه. تظل الجلسات وبيانات الاعتماد حيثما تحتفظ بها كل CLI؛ ويصرح التطبيق بأنه لا يطلب أبداً أي مفتاح أو يخزنه أو يقرأه. Windows هو المنصة التي تم التطوير والاختبار عليها. آلية عمل التنسيق الوكلاء هم عمليات CLI ذات تنفيذ لمرة واحدة. كل استدعاء هو "تشغيل" (run)، وتستمر المحادثات عبر عمليات التشغيل لأن كل مزود يتم استئنافه من خلال معرف الجلسة الخاص به. يتم ترتيب الوكلاء في تسلسل هرمي من الأدوار: مخطط (planner) يقوم بالتحليل وتقسيم العمل والتفويض ولكن لا ينفذ؛ ومنفذون (implementers) يقومون بالعمل؛ ومراجعون (reviewers) يتحققون منه. يتم التفويض من خلال كتلة محددة في إجابة المخطط، والتي يقوم المنسق بتحليلها إلى عمليات تشغيل وإعادتها كنتائج — وهي دورة تسمى "جولة" (round)، مع حد أقصى قابل للتكوين. يجب أن تكون المهام مستقلة بذاتها، لأن الوكيل التابع لا يرى محادثة المخطط. يمكن للوكيل أيضاً التوقف وطرح سؤال على المستخدم مع خيارات، ويستمر التشغيل في نفس الجلسة بمجرد الإجابة. داخل التطبيق تشير المشاريع إلى مجلدات مساحة العمل وتحتفظ بفريقها وحالتها وسجلها ومحادثاتها الخاصة؛ ويمكن تطبيق "تشكيل" (formation) محفوظ على المشاريع الجديدة جنباً إلى جنب مع مهاراته وخوادم MCP الخاصة به. يتم ملء لوحة kanban ذات ستة أعمدة (من قائمة الانتظار إلى الإنجاز) تلقائياً: حيث ينشئ المطالب (prompt) مهمة، وتتبعها التفويضات، وتنتظر الموافقات في "needs you"، وتنتقل عمليات التشغيل المنتهية إلى المراجعة أو الجاهزية. تظهر نفس المهام كرسم بياني للتبيعات الطبقية حيث تعلن اتصالات السحب عن علاقات الحظر. تشمل العروض الأخرى خيط دردشة مع المنسق (استخدام الأدوات، تفويضات قابلة للطي، "أوامر" مطالب محفوظة)، ورسماً بيانياً هرمياً يوضح من يفوض من والحصة المتبقية، ورصيف أيمن مع تغذيات أحداث خام ومحطات PTY حقيقية، وموافقات يمكن طلبها لكل وكيل أو عالمياً، ودردشات مباشرة ومشتركة متعددة الوكلاء، وإشعارات، وحالة مستودع git (الفرع، الملفات غير الملتزم بها، التقدم/التأخر، طلبات السحب المفتوحة مع حالة CI) وقوائم سياقية بالنقر بزر الماوس الأيمن. تسمح git worktrees لكل وكيل بفرعه الخاص بجعل اثنين من المنفذين يعملون في وقت واحد دون التنازع على git index؛ ويمكن للوحة فتح أو دمج أو إسقاط هذه الفروع، مع رفض الدمج في حالة وجود عمل غير ملتزم به. الوصول عن بعد وCLI يقوم خادم مدمج بنشر واجهة React نفسها كصفحة واحدة مستقلة عبر الشبكة المحلية (LAN)، محمية برموز في عنوان URL (خطأ 401 بدونها)، بحيث يمكن للهاتف عرض اللوحة وإرسال المهام وإيقاف التشغيل والإجابة على الأسئلة. تتوفر عناوين URL عامة اختيارية عبر cloudflared أو ngrok، مع دعم النطاقات الثابتة. توفر الصفحة أيضاً إشعارات المتصفح أثناء عملها في الخلفية، وهو ما يتطلب سياقاً آمناً. توفر واجهة برمجة تطبيقات HTTP مع مصادقة الرموز الوصول إلى الحالة، وتدفق أحداث SSE، ونقاط نهاية للمطالبة والتوجيه والإيقاف والموافقة والدردشة. يتوفر نفس المنسق بدون واجهة رسومية عبر CLI، مع أوامر لتشغيل المهام وإدارة المشاريع والوكلاء والتشكيلات، واكتشاف التثبيتات، والتحقق من الحصة والاستخدام، وتصفح السجل، ومعالجة الموافقات، والدردشة وتشغيل صفحة الهاتف. إضافات وبيانات يتم حقن المهارات، وخوادم MCP، والسياق المشترك، والملف الشخصي في مطالبات الوكيل. تتفاعل الخطافات (Hooks) مع أحداث المنسق مثل task.started وtask.finished والتفويض أو approval.requested عبر Slack/Discord أو webhooks عامة، أو أوامر محلية، أو إشعارات النظام، أو تعليمات متسلسلة إلى وكيل آخر باستخدام متغيرات نموذجية. تعيش جميع التكوينات والسجلات والمحادثات ولوحات المهام وعلامات الحصة والسجلات في ملفات نصية بسيطة تحت مجلدات AppData الخاصة بالمستخدم؛ يحتفظ السجل بآخر 300 عملية تشغيل و3000 رسالة لكل مشروع، وتدور السجلات يومياً ويتم الاحتفاظ بها لمدة 14 يوماً، ويتم إخفاء الرموز قبل الكتابة. تمت ترجمة الواجهة إلى الإسبانية والإنجليزية والبرتغالية البرازيلية والصينية المبسطة واليابانية والفرنسية والألمانية، مع إمكانية التبديل دون إعادة التشغيل، وتعتبر الإسبانية هي القاموس الأساسي. يتم بناء الإصدارات وتوقيعها عبر GitHub Actions من خلال تحديث الإصدار على الفرع الرئيسي، وتقوم التطبيقات المثبتة بتحديث نفسها.