* Relicense from AGPL-3.0 to GPL-3.0 (keep dual-license with commercial option) AGPL's network-use clause is irrelevant for a desktop app, but triggers blanket corporate bans. GPL-3.0 still requires forks to stay open source (preventing proprietary commercial forks) while being accepted by most corporate policies for desktop software. Changes: - LICENSE: Replace AGPL-3.0 text with GPL-3.0 text - Update dual-license header (AGPL → GPL) - Update all README translations, CONTRIBUTING.md, package.json files - Historical changelog/project entries left as-is * Fix French and Italian grammar in license section AGPL starts with a vowel so "l'AGPL" / "all'AGPL" were correct. GPL starts with a consonant, so use "la GPL" / "alla GPL" instead. --------- Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
15 KiB
تمت هذه الترجمة بواسطة Claude. إذا كانت لديك اقتراحات للتحسين، يرجى فتح PR.
cmux
تطبيق طرفية لنظام macOS مبني على Ghostty مع علامات تبويب عمودية وإشعارات لوكلاء البرمجة بالذكاء الاصطناعي
English | 日本語 | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | ភាសាខ្មែរ | Українська
الميزات
حلقات الإشعاراتتحصل الأجزاء على حلقة زرقاء وتضيء علامات التبويب عندما يحتاج وكلاء البرمجة انتباهك |
|
لوحة الإشعاراتعرض جميع الإشعارات المعلقة في مكان واحد، والانتقال إلى أحدث إشعار غير مقروء |
|
متصفح مدمجقسّم متصفحًا بجانب الطرفية مع API قابل للبرمجة مأخوذ من agent-browser |
|
علامات تبويب عمودية + أفقيةيعرض الشريط الجانبي فرع git وحالة/رقم طلب السحب المرتبط ومجلد العمل والمنافذ المستمعة وآخر نص إشعار. تقسيم أفقي وعمودي. |
|
- قابل للبرمجة — CLI وsocket API لإنشاء مساحات العمل وتقسيم الأجزاء وإرسال ضغطات المفاتيح وأتمتة المتصفح
- تطبيق macOS أصلي — مبني بـ Swift وAppKit، وليس Electron. بدء تشغيل سريع واستهلاك ذاكرة منخفض.
- متوافق مع Ghostty — يقرأ إعداداتك الحالية من
~/.config/ghostty/configللسمات والخطوط والألوان - تسريع GPU — مدعوم بـ libghostty لعرض سلس
التثبيت
DMG (مستحسن)
افتح ملف .dmg واسحب cmux إلى مجلد التطبيقات. يتم تحديث cmux تلقائيًا عبر Sparkle، لذا تحتاج للتحميل مرة واحدة فقط.
Homebrew
brew tap manaflow-ai/cmux
brew install --cask cmux
للتحديث لاحقًا:
brew upgrade --cask cmux
عند التشغيل الأول، قد يطلب منك macOS تأكيد فتح تطبيق من مطور معروف. انقر فتح للمتابعة.
لماذا cmux؟
أقوم بتشغيل الكثير من جلسات Claude Code وCodex بالتوازي. كنت أستخدم Ghostty مع مجموعة من الأجزاء المقسمة، وأعتمد على إشعارات macOS الأصلية لمعرفة متى يحتاجني وكيل ما. لكن نص إشعار Claude Code يكون دائمًا مجرد "Claude is waiting for your input" بدون أي سياق، ومع فتح عدد كافٍ من علامات التبويب لم أعد قادرًا حتى على قراءة العناوين.
جربت بعض منظمات البرمجة لكن معظمها كانت تطبيقات Electron/Tauri وأداؤها كان يزعجني. كما أنني أفضل الطرفية لأن منظمات GUI تحبسك في سير عملها. لذا بنيت cmux كتطبيق macOS أصلي بـ Swift/AppKit. يستخدم libghostty لعرض الطرفية ويقرأ إعدادات Ghostty الحالية للسمات والخطوط والألوان.
الإضافات الرئيسية هي الشريط الجانبي ونظام الإشعارات. يحتوي الشريط الجانبي على علامات تبويب عمودية تعرض فرع git وحالة/رقم طلب السحب المرتبط ومجلد العمل والمنافذ المستمعة وآخر نص إشعار لكل مساحة عمل. يلتقط نظام الإشعارات تسلسلات الطرفية (OSC 9/99/777) ولديه CLI (cmux notify) يمكنك ربطه بخطافات الوكلاء لـ Claude Code وOpenCode وغيرها. عندما ينتظر وكيل ما، يحصل جزؤه على حلقة زرقاء وتضيء علامة التبويب في الشريط الجانبي، حتى أتمكن من معرفة أيها يحتاجني عبر الأقسام وعلامات التبويب. Cmd+Shift+U ينتقل إلى أحدث إشعار غير مقروء.
المتصفح المدمج لديه API قابل للبرمجة مأخوذ من agent-browser. يمكن للوكلاء التقاط شجرة إمكانية الوصول والحصول على مراجع العناصر والنقر وملء النماذج وتنفيذ JS. يمكنك تقسيم جزء متصفح بجانب الطرفية وجعل Claude Code يتفاعل مع خادم التطوير مباشرة.
كل شيء قابل للبرمجة عبر CLI وsocket API — إنشاء مساحات العمل/علامات التبويب، تقسيم الأجزاء، إرسال ضغطات المفاتيح، فتح عناوين URL في المتصفح.
فلسفة cmux
cmux لا يفرض على المطورين طريقة استخدام أدواتهم. إنه طرفية ومتصفح مع واجهة سطر أوامر، والباقي متروك لك.
cmux هو لبنة أساسية وليس حلًا جاهزًا. يمنحك طرفية ومتصفحًا وإشعارات ومساحات عمل وأقسامًا وعلامات تبويب وواجهة سطر أوامر للتحكم في كل ذلك. cmux لا يجبرك على طريقة محددة لاستخدام وكلاء البرمجة. ما تبنيه باستخدام هذه اللبنات الأساسية هو ملكك.
أفضل المطورين دائمًا ما بنوا أدواتهم الخاصة. لم يكتشف أحد بعد أفضل طريقة للعمل مع الوكلاء، والفرق التي تبني منتجات مغلقة لم تكتشفها أيضًا بالتأكيد. المطورون الأقرب لقواعد بياناتهم الخاصة سيكتشفونها أولًا.
أعطِ مليون مطور لبنات أساسية قابلة للتركيب وسيجدون بشكل جماعي أكثر سير العمل كفاءة أسرع مما يمكن لأي فريق منتج تصميمه من الأعلى إلى الأسفل.
التوثيق
لمزيد من المعلومات حول كيفية إعداد cmux، توجه إلى وثائقنا.
اختصارات لوحة المفاتيح
مساحات العمل
| الاختصار | الإجراء |
|---|---|
| ⌘ N | مساحة عمل جديدة |
| ⌘ 1–8 | الانتقال إلى مساحة العمل 1–8 |
| ⌘ 9 | الانتقال إلى آخر مساحة عمل |
| ⌃ ⌘ ] | مساحة العمل التالية |
| ⌃ ⌘ [ | مساحة العمل السابقة |
| ⌘ ⇧ W | إغلاق مساحة العمل |
| ⌘ ⇧ R | إعادة تسمية مساحة العمل |
| ⌘ B | تبديل الشريط الجانبي |
الأسطح
| الاختصار | الإجراء |
|---|---|
| ⌘ T | سطح جديد |
| ⌘ ⇧ ] | السطح التالي |
| ⌘ ⇧ [ | السطح السابق |
| ⌃ Tab | السطح التالي |
| ⌃ ⇧ Tab | السطح السابق |
| ⌃ 1–8 | الانتقال إلى السطح 1–8 |
| ⌃ 9 | الانتقال إلى آخر سطح |
| ⌘ W | إغلاق السطح |
الأجزاء المقسمة
| الاختصار | الإجراء |
|---|---|
| ⌘ D | تقسيم لليمين |
| ⌘ ⇧ D | تقسيم للأسفل |
| ⌥ ⌘ ← → ↑ ↓ | التركيز على الجزء حسب الاتجاه |
| ⌘ ⇧ H | وميض الجزء المركّز عليه |
المتصفح
اختصارات أدوات المطور في المتصفح تتبع إعدادات Safari الافتراضية ويمكن تخصيصها في الإعدادات ← اختصارات لوحة المفاتيح.
| الاختصار | الإجراء |
|---|---|
| ⌘ ⇧ L | فتح المتصفح في قسم |
| ⌘ L | التركيز على شريط العنوان |
| ⌘ [ | للخلف |
| ⌘ ] | للأمام |
| ⌘ R | إعادة تحميل الصفحة |
| ⌥ ⌘ I | تبديل أدوات المطور (إعداد Safari الافتراضي) |
| ⌥ ⌘ C | عرض وحدة تحكم JavaScript (إعداد Safari الافتراضي) |
الإشعارات
| الاختصار | الإجراء |
|---|---|
| ⌘ I | عرض لوحة الإشعارات |
| ⌘ ⇧ U | الانتقال إلى أحدث إشعار غير مقروء |
البحث
| الاختصار | الإجراء |
|---|---|
| ⌘ F | بحث |
| ⌘ G / ⌘ ⇧ G | البحث التالي / السابق |
| ⌘ ⇧ F | إخفاء شريط البحث |
| ⌘ E | استخدام التحديد للبحث |
الطرفية
| الاختصار | الإجراء |
|---|---|
| ⌘ K | مسح سجل التمرير |
| ⌘ C | نسخ (مع التحديد) |
| ⌘ V | لصق |
| ⌘ + / ⌘ - | تكبير / تصغير حجم الخط |
| ⌘ 0 | إعادة تعيين حجم الخط |
النافذة
| الاختصار | الإجراء |
|---|---|
| ⌘ ⇧ N | نافذة جديدة |
| ⌘ , | الإعدادات |
| ⌘ ⇧ , | إعادة تحميل الإعدادات |
| ⌘ Q | إنهاء |
الإصدارات الليلية
cmux NIGHTLY هو تطبيق منفصل بمعرّف حزمة خاص به، لذا يعمل بجانب الإصدار المستقر. يُبنى تلقائيًا من أحدث commit على فرع main ويتم تحديثه تلقائيًا عبر Sparkle الخاص به.
استعادة الجلسة (السلوك الحالي)
عند إعادة التشغيل، يستعيد cmux حاليًا تخطيط التطبيق والبيانات الوصفية فقط:
- تخطيط النوافذ/مساحات العمل/الأجزاء
- مجلدات العمل
- سجل تمرير الطرفية (أفضل جهد)
- عنوان URL للمتصفح وسجل التنقل
cmux لا يستعيد حالة العمليات الحية داخل تطبيقات الطرفية. على سبيل المثال، جلسات Claude Code/tmux/vim النشطة لا يتم استئنافها بعد إعادة التشغيل بعد.
تاريخ النجوم
المساهمة
طرق للمشاركة:
- تابعنا على X للتحديثات @manaflowai، @lawrencecchen، و@austinywang
- انضم إلى المحادثة على Discord
- أنشئ وشارك في قضايا GitHub والمناقشات
- أخبرنا بما تبنيه باستخدام cmux
المجتمع
إصدار المؤسسين
cmux مجاني ومفتوح المصدر وسيظل كذلك دائمًا. إذا كنت ترغب في دعم التطوير والحصول على وصول مبكر لما هو قادم:
- أولوية لطلبات الميزات/إصلاح الأخطاء
- وصول مبكر: ذكاء اصطناعي لـ cmux يمنحك سياقًا عن كل مساحة عمل وعلامة تبويب ولوحة
- وصول مبكر: تطبيق iOS مع مزامنة الطرفيات بين سطح المكتب والهاتف
- وصول مبكر: أجهزة افتراضية سحابية
- وصول مبكر: وضع الصوت
- iMessage/WhatsApp الشخصي الخاص بي
الرخصة
cmux مفتوح المصدر بموجب GPL-3.0-or-later.
إذا لم تستطع مؤسستك الامتثال لـ GPL، فهناك ترخيص تجاري متاح. تواصل مع founders@manaflow.com للتفاصيل.