في عالم التطوير الحديث، حيث تتزايد تعقيدات المشروعات وأدواتها، يبرز الحاجة إلى أدوات تبسيط وتنظم بيئة العمل الطرفية. يأتي hrdx ليقدم حلاً مبتكرًا: معدد إرسال طرفي (Terminal Multiplexer) خفيف الوزن وبسيط، مكتوب بلغة Go، مصمم خصيصًا لعصر وكلاء البرمجة. يهدف hrdx إلى دمج مشاريعك، وكلاء الذكاء الاصطناعي، والأوامر التقليدية في واجهة طرفية واحدة، مما يوفر تجربة تطوير أكثر سلاسة وفعالية.
ما هو hrdx؟
hrdx هو مُضاعِف طرفي تجريبي مصمم لعصر وكلاء البرمجة. يتصور hrdx مشاريعك كمساحات عمل في شريط جانبي، مع علامات تبويب لكل مساحة عمل، وأجزاء طرفية حقيقية قيد التشغيل. يدعم hrdx وكلاء سطر الأوامر مثل كوديكس كلي، كلود كود، بي، وزوت، بالإضافة إلى الأصداف العادية، مما يتيح لك إطلاق وكيل في مشروع والانتقال إلى التالي بسهولة، مع إظهار الشريط الجانبي حالة الوكلاء النشطين.
- أجزاء طرفية حقيقية، لا مجرد غلاف: كل جزء في hrdx يمثل جلسة PTY فعلية مع محاكي طرفي كامل، مما يضمن عمل واجهات المستخدم الطرفية (TUIs) للوكلاء تمامًا كما تعمل بشكل مستقل، بما في ذلك الدفق، وأوامر الشرطة المائلة، ودعم الماوس. يوفر hrdx هوية طرفية واضحة تتيح لواجهات المستخدم الطرفية التكيف، ويساعد متغير البيئة
HRDX=1الأدوات على اكتشاف أنها تعمل داخل hrdx. - شفافية العمل: يعرض الشريط الجانبي تسلسلاً هرميًا واحدًا لمساحات العمل، وفروع Git، والأجزاء. تُضاف صفوف علامات التبويب فقط عندما تحتوي مساحة العمل على علامات تبويب متعددة. يحتوي كل جزء على دائرة حالة مشتركة: يتحول الوكلاء إلى مؤشرات بصرية متحركة أثناء العمل، ويتحول الوكيل غير المركز إلى اللون البرتقالي عند الانتهاء، ثم يستعيد اللون الأخضر عند التركيز عليه.
- تجربة طرفية مألوفة: يوفر hrdx تمريرًا للخلف، واختيار الماوس مع نسخ الحافظة، وتقسيمات قابلة لتغيير الحجم بالسحب، ومساحات عمل قابلة لإعادة الترتيب بالسحب، وقوائم سياق بالنقر بزر الماوس الأيمن، وتمرير بروتوكول لوحة المفاتيح كيتي، مما يضمن وصول الاختصارات المعقدة مثل ctrl+1 إلى وكيلك.
- استمرارية الجلسة: عند إنهاء hrdx وإعادة تشغيله، تستمر الأصداف والوكلاء في العمل ضمن حامل جلسة خفيف الوزن ويعاد الاتصال بهم تمامًا حيث توقفوا، مع استمرار تشغيل الأوامر. تعود مساحات العمل وعلامات التبويب والانقسامات والنسب أيضًا. إذا انتهت الجلسة الأصلية، يستأنف الوكلاء محادثتهم الأخيرة من مخزن الجلسات الخاص بهم.
- تخصيص كامل: تتيح لك نافذة الإعدادات (
ctrl+b ,أو أيقونة الترس في الشريط الجانبي) تمكين أو تعطيل الوكلاء الفرديين، واختيار صوت إشعار لانتهاء الدورات (بما في ذلك ملفات الصوت الخاصة بك)، وتغيير سمة اللون باستخدام ملفات JSON بسيطة. كل التغييرات تستمر. - دعم الوكلاء المخصصين: يمكنك تسجيل أي وكيل سطر أوامر كأداة مخصصة عبر ملف JSON صغير. يشمل ذلك الكشف عن حالة انشغاله لمؤشر النشاط في الشريط الجانبي وصوت الإنهاء. تظهر هذه الأدوات في المنتقيات والدورات والإعدادات تمامًا كالعناصر المدمجة.
- قابلية البرمجة عبر واجهة المقبس: تتيح واجهة برمجة تطبيقات مقبس JSON للبرامج النصية والمحررين فحص مساحات العمل وحالات الأجزاء، وفتح المشاريع، ونشر الأجزاء، والكتابة في الوكلاء، والانتظار حتى الانتهاء، وقراءة شاشاتهم، والاشتراك في الأحداث المباشرة.
التثبيت والتشغيل
التثبيت
يمكن تثبيت hrdx بسهولة على أنظمة macOS و Linux و Windows (10 1809+ / 11، عبر Pseudo Console API). يتطلب تشغيل hrdx توفر وكيل سطر أوامر واحد على الأقل مثل `codex` أو `claude` أو `pi` أو `zot` في مسارك. يمكنك التثبيت عبر سطر الأوامر باستخدام `curl` لنظامي macOS و Linux، أو `irm` لـ PowerShell على Windows. للتحديث، استخدم الأمر `hrdx update`.
التشغيل
لتشغيل hrdx، يمكنك فتح عدة مشاريع في وقت واحد أو تحديد وكيلك الافتراضي. على سبيل المثال، لتشغيل hrdx مع مشروعين واختيار وكيل `claude` الافتراضي، استخدم الأمر التالي: `hrdx –cwd ~/Developer/api –cwd ~/Developer/web –agent claude`.
تخصيص hrdx
الأعلام والخيارات
تتيح الأعلام المتاحة تخصيص سلوك hrdx بشكل كبير. يمكنك تحديد مسارات العمل (`–cwd PATH`) لفتح المشاريع، واختيار الوكيل الافتراضي (`–agent ID`)، وتعيين خيارات خاصة بالوكلاء مثل `zot` (مثل `–provider ID` و `–model ID` و `–reasoning LEVEL`). تتوفر أيضًا أعلام لتحديد الملفات الثنائية للوكلاء (`–codex-bin PATH`، `–claude-bin PATH`، إلخ)، وتحديد Shell للأجزاء (`–shell PATH`)، واستئناف الجلسة الأخيرة (`–continue`)، وتجاهل مساحات العمل المحفوظة (`–fresh`)، والمزيد.
اختصارات لوحة المفاتيح
تذهب كافة ضغطات المفاتيح إلى الجزء الطرفي النشط، باستثناء البادئة `ctrl+b` التي تتيح لك الوصول إلى وظائف hrdx الداخلية (نمط `tmux`). بعد `ctrl+b`، يمكنك تنفيذ العديد من الإجراءات: `c` لتقسيم الجزء إلى اليمين/الأسفل (مع منتقي الوكيل/الصدفة)، `w` لإنشاء مساحة عمل جديدة، `t` لإنشاء علامة تبويب جديدة في مساحة العمل الحالية، `n` أو `p` للانتقال بين علامات التبويب، `[` أو `]` للانتقال بين مساحات العمل. للبحث السريع، استخدم `/`، ولإغلاق جزء، اضغط `x`.
مفاتيح مخصصة
يمكن إعادة تعيين مفاتيح البادئة في hrdx عبر ملف `keys.json` الموجود بجوار ملف الحالة. يتيح لك هذا تعيين أسماء الإجراءات إلى مفتاح واحد، مما يتجاوز المفاتيح الافتراضية لهذا الإجراء. على سبيل المثال، يمكنك تعيين `f` للبحث (`find`) و `Q` للخروج (`quit`)، أو `g` لدورة الوكلاء (`agent-cycle`).
تفاعل الماوس
يتيح hrdx تفاعلاً كاملاً بالماوس. كل عنصر في الواجهة قابل للنقر عليه: مساحات العمل، علامات التبويب، أجزاء الشريط الجانبي، القوائم، وإعدادات الجزء السفلي. يمكنك سحب مساحات العمل لإعادة ترتيبها، وسحب حدود الأجزاء لتغيير حجمها، والنقر بزر الماوس الأيمن للوصول إلى قوائم السياق، وسحب الزر الأيسر لتحديد النص ونسخه مباشرة إلى الحافظة. تمرر أحداث عجلة الماوس المحتوى تحت المؤشر، مما يسمح بالتمرير السلس داخل وكلاء TUI والأصداف.
ميزات متقدمة
الأجزاء الطرفية البعيدة والحاويات
نظرًا لأن كل جزء طرفي في hrdx يمثل PTY حقيقيًا، يمكن لجزء الصدفة الاتصال بمضيف بعيد أو حاوية Docker أو حمل عمل Kubernetes. على سبيل المثال، يمكنك الاتصال بـ SSH أو تشغيل أوامر `docker exec` أو `kubectl exec` داخل الأجزاء الطرفية للحصول على صدفة تفاعلية. لدمج الوكلاء البعيدين أو وكلاء الحاويات في hrdx بشكل كامل، يمكنك تسجيل أمر العميل الخاص بهم كأداة مخصصة عبر ملف `harness.json`. هذا يضمن ظهورهم في منتقي الوكلاء وفي الشريط الجانبي تمامًا مثل الأدوات المدمجة.
الأدوات المخصصة (Custom Harnesses)
يتيح لك hrdx تسجيل أي وكيل سطر أوامر خارجي كأداة مخصصة عن طريق إنشاء ملف `harness.json` بجوار ملف الحالة. تظهر هذه الأدوات المسجلة في جميع واجهات hrdx، بما في ذلك المنتقيات ودورة الوكيل وفي الشريط الجانبي ونافذة الإعدادات للتمكين والتعطيل. يمكنك تحديد خصائص مثل اسم الأداة والملف الثنائي والوسائط الإضافية وحتى أنماط الكشف عن حالة الانشغال أو الخمول للوكيل.
واجهة برمجة تطبيقات المقبس (Socket API)
يوفر hrdx واجهة برمجة تطبيقات تحكم عبر مقبس Unix (ملف `hrdx.sock`)، مما يمكن البرامج النصية والمحررين ووكلاء البرمجة من فحص وإدارة الجلسة الجارية. يمكن تعطيل هذه الميزة باستخدام `–api=false`. يعتمد البروتوكول على JSON المحدد بسطر جديد، حيث يتم إرسال طلب واحد في كل سطر وتلقي استجابة واحدة بنفس المعرف. تتضمن الأوامر المتاحة فحص الحالة (`status`)، وإنشاء مساحات عمل وأجزاء (`workspace.create`, `pane.create`)، وإرسال نص إلى جزء (`pane.send_text`)، وقراءة شاشة الجزء (`pane.read`)، والانتظار حتى يصبح الوكيل خاملاً أو مشغولاً (`pane.wait`)، بالإضافة إلى الاشتراك في الأحداث المباشرة (`events.subscribe`) لردود الفعل الفورية.
التخصيص والجماليات
المظاهر (Themes)
يمكن تخصيص مظهر hrdx عبر ملفات JSON للمظاهر. هذه الملفات تسمح بتجاوز أي مجموعة فرعية من الألوان المدمجة، مع وراثة القيم المفقودة من المظهر الافتراضي. ما عليك سوى وضع ملفات المظاهر في دليل `themes/` بجوار ملف الحالة، ثم اختيارها من نافذة الإعدادات. يتم تطبيق التغييرات فورًا وتستمر عبر إعادة التشغيل. يمكن تخصيص ألوان مثل `accent` لإطارات الأجزاء، و `bar_bg` لخلفية الأشرطة، و `good` للنقاط الخضراء، و `busy` لمؤشر الانشغال.
الإشعارات
يحتوي قسم الإشعارات في نافذة الإعدادات على مفتاحي تبديل مستقلين لإشعارات انتهاء دورة الوكيل: تشغيل صوت (يمكنك الاختيار من الأصوات المدمجة مثل `ding` و `chime`، أو استخدام ملفاتك الصوتية الخاصة) وإشعار نظامي. هذا الإشعار يقوم بتنبيه النظام الأساسي الأصلي لديك، مثل إظهار شارة في شريط المهام على macOS أو وميض نافذة على Windows Terminal. يمكنك إضافة أصوات مخصصة عبر ملف `sounds.json`.
استمرارية الجلسة
إن إغلاق hrdx لا يقتل جلسات عملك. تستمر عمليات الأجزاء في العمل ضمن عملية خلفية صغيرة (صاحب الجلسة) تبدأها hrdx عند الطلب وتتواصل معها عبر مقبس محلي. عند إعادة فتح hrdx، يعاد ربط كل صدفة ووكيل تمامًا حيث كانا: تستمر الأوامر قيد التشغيل، وتتم استعادة حالة التمرير للخلف والشاشة. يتم حفظ مساحات العمل والأجزاء والتخطيط والاختيار تلقائيًا في ملف حالة. يمكن تعطيل هذه الميزة باستخدام `–persist=false`.
التطوير والترخيص
تتوفر تعليمات التطوير للمساهمين، تتضمن أوامر الفحص والاختبار لبيئة Go. hrdx مرخص بموجب ترخيص MIT، مما يتيح استخدامه وتعديله وتوزيعه بحرية.
بفضل ميزاته القوية، وواجهته البديهية، وقدرات التخصيص العالية، يعد hrdx أداة لا غنى عنها للمطورين الذين يعملون مع وكلاء البرمجة والبيئات الطرفية المتعددة. اكتشف المزيد عن hrdx وكيف يمكنه تحويل تجربتك في سطر الأوامر من خلال زيارة المستودع الرسمي على GitHub.