تيركس (Terax): مطور واحد بنى مبنى أوامر ذكي أفضل من Warp

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00هذا هو Terax، وهو طرفية مفتوحة المصدر تعتمد على الذكاء الاصطناعي، مبنية باستخدام Tauri2 وRust وتمنحك
00:00:05طرفية متعددة الألسنة، ومحرر أكواد، وشريط جانبي لمعاينة الملفات، ومتصفح ويب، كل ذلك في تطبيق بحجم 7 ميجابايت
00:00:12يعمل في أقل من 300 مللي ثانية. بل ويحتوي على وكيل ذكاء اصطناعي خاص به يقرأ قاعدة الكود
00:00:17بالكامل، ويشغل الأوامر، ويقترح تعديلات كـ diffs قابلة للمراجعة. ولكن مع وجود Warp بأكثر من 58,000
00:00:24نجمة على GitHub، وCmox مع دعم للإشعارات المستندة إلى الوكلاء، هل تطبيق صغير مبني
00:00:28بواسطة شخص واحد يستحق وقتك حقاً؟ اشتركوا ولنكتشف ذلك.
00:00:36تم إنشاء Terax بواسطة مطور يدعى Krinter، الذي بدأه كمشروع جانبي لأنه أراد
00:00:40نسخة أسرع وأخف من Warp، مع ذكاء اصطناعي مدمج للبرمجة وليس مضافاً كفكرة لاحقة.
00:00:46لذا يقوم Terax بكل ذلك. إنه ينفذ طرفية حقيقية باستخدام Xterm.js مع WebGPU، تماماً مثل
00:00:53VS Code، مع محرر أكواد حقيقي مدعوم بـ CodeMirror 6، ووكيل ذكاء اصطناعي حقيقي يستخدم Vercel AI SDK،
00:01:00والذي يمكن استخدامه تقريباً مع أي نموذج متاح، بما في ذلك النماذج المحلية.
00:01:04ولكن كيف يجمع كل هذه الأشياء معاً بهذا الحجم الصغير جداً؟
00:01:08حسناً، إنه يستخدم Tauri2 بدلاً من Electron، مما يعني عدم وجود Chromium مدمج، مما يوفر 200 ميجابايت إضافية.
00:01:14الخلفية البرمجية (Back-end) المكتوبة بـ Rust تعالج كل ما يتفاعل مع نظام التشغيل، مثل Pty، وإدارة عمليات نظام الملفات،
00:01:20بينما تقوم واجهة React الأمامية بعرض الواجهة فقط. لذا فالتطبيق بالكامل بحجم 7 ميجابايت تقريباً.
00:01:25وإذا شاهدت الفيديو الخاص بي عن Cmox، فقد تتساءل كيف يقارن Terax به.
00:01:29حسناً، سأقوم بمقارنة أكثر تفصيلاً لاحقاً في الفيديو، ولكن الآن، دعونا نجرب Terax.
00:01:34بعد تثبيت Terax، أول شيء قد يلفت انتباهك هو قائمة الملفات على الجانب الأيسر.
00:01:39انظر إلى هذا. إذا تنقلت باستخدام أمر CD، فإنه ينتقل فوراً إلى المكان الصحيح، مما يعني أنني لا أحتاج لاستخدام LS.
00:01:45لذا سأنتقل إلى مجلد مختلف، وسيأخذني إلى هناك مباشرة، ويمكنني العودة إلى حيث كنت من قبل.
00:01:51يمكنني أيضاً إنشاء ألسنة جديدة، وإغلاقها، وإنشاء تقسيمات، تماماً كما تفعل في معظم الطرفيات الحديثة.
00:01:57إذا دخلت إلى دليل package's UI وفتحت ملف service app TSX، يمكنك رؤية أنه يفتح محرر أكواد Terax فوراً
00:02:05الذي يحتوي على تمييز للصيغ (Syntax Highlighting) لمعظم اللغات.
00:02:08لكن إذا أردت، يمكنني استخدام محررات الملفات المستندة إلى الطرفية مثل Helix، وبالطبع استخدام أدوات البرمجة بالذكاء الاصطناعي مثل Claude Code.
00:02:14ولكن هناك بعض المزايا لاستخدام محرر Terax.
00:02:17إذا نظرت إلى الزاوية اليمنى السفلية، يوجد زر لوكيل OpenAI، والذي يسمح لي باختيار نموذج.
00:02:23في الوقت الحالي، قمت بإدخال مفاتيح API الخاصة بـ OpenAI وClaude، والتي يتم تخزينها باستخدام نظام keyring الخاص بنظام التشغيل.
00:02:29ومن هنا، يمكنني طرح أسئلة حول الملف المفتوح، مثل لماذا توجد الكثير من الدوال في الـ use effect hook؟
00:02:34وسيقوم الوكيل بالبحث في الملف وإعطائي إجابة.
00:02:37الآن، ستلاحظ هنا أنه يمكنني رؤية حجم السياق المستخدم، ويمكنني تغيير نوع الوكيل المستخدم.
00:02:43يمكنني أيضاً الانتقال إلى الجلسات السابقة هنا وطرح أسئلة متابعة.
00:02:46يحتوي Terax حالياً على أمرين فرعيين فقط.
00:02:48Plan للدخول إلى وضع التخطيط، والذي يظهر هنا.
00:02:51تفعيل Plan مرة أخرى يعيدني إلى وضع البناء (build mode).
00:02:54و init، الذي سيمر عبر المشروع بالكامل وينشئ ملف Terax MD، مشابه لملف Claude أو Agents MD.
00:03:00وعند القيام بذلك، فإنه يعرض لنا فرقاً في الكود (code diff)، والذي يمكننا بالطبع قبوله أو رفضه.
00:03:04ولأنني أمتلك بالفعل ملف Terax MD هنا، فسأقوم برفضه.
00:03:08ولكن ما يمكنني فعله هو أن أطلب منه إجراء تغييرات على هذا الملف المحدد.
00:03:12وإذا كانت هناك تغييرات، فإنه يعطينا عرضاً جميلاً للفرق يوضح ما سيتم حذفه وما سيتم إضافته، مع إعطائنا خيار القبول أو الرفض.
00:03:18ولكن يمكنني أيضاً القيام ببعض الأشياء الرائعة حقاً مع Terax.
00:03:21انظر إلى هذا.
00:03:21إذا ضغطت على هذا الزر، يمكنني فتح صفحة خصوصية، مما يعني أن هذا اللسان مخفي عن الذكاء الاصطناعي.
00:03:26يمكنني فتح نافذة محرر جديدة لإنشاء ملف جديد، أو يمكنني فتح المتصفح، الذي يعطيني قائمة بالمنافذ الشائعة.
00:03:33لذا إذا قمت بتشغيل هذا التطبيق وانتقلت إلى المنافذ الصحيحة، يمكنني التفاعل مع تطبيقي في لسان واحد وإجراء تغييرات في الكود في الآخر دون الحاجة للتنقل بين أدوات مختلفة.
00:03:41داخل الإعدادات، يمكنني تغيير سمة المحرر، تفعيل وضع Vim الذي أحبه حقاً، وتعديل الوكلاء، وتقديم تعليمات مخصصة وأوامر قابلة لإعادة الاستخدام.
00:03:49الآن، سأعترف أن هناك بعض الأشياء التي لا تعجبني في Terax.
00:03:52في الوقت الحالي، يمكنني فتح مشروعي في Helix، وهذا جيد.
00:03:55ولكن إذا قمت بنفس الشيء في NeoVim، فإنه يتوقف عن العمل (يحدث خطأ).
00:03:58ولست متأكداً ما إذا كان ذلك لأنني أستخدم Nix ولدي إعداد غريب لصدفة fish، لكن NeoVim يعمل بشكل جيد في Western.
00:04:04لم أستطع معرفة كيفية التنقل في الشريط الجانبي الأيسر باستخدام لوحة المفاتيح.
00:04:08لذا حتى لو كان بإمكاني التنقل إلى أدلة مختلفة، إذا أردت فتح ملف، فلا يوجد أمر لفتح الملف في Terax أو اختصار لوحة مفاتيح للذهاب إلى الشريط الجانبي.
00:04:15أعني، يمكنني فتح وإغلاق الشريط الجانبي باستخدام command B، ولكن إذا أردت فتح ملف، سأضطر للنقر عليه بالماوس، وهو أمر لا أتوقع القيام به في طرفية.
00:04:24لا يمكنني أيضاً التكبير باستخدام command plus لسبب ما، لم يتم تفعيل ذلك.
00:04:28وإذا أردت الذهاب إلى موقع غير localhost في المتصفح، أحصل على خطأ X frame options، وهو أمر أتفهمه لأسباب أمنية لأنه يستخدم iframes، لكن سيكون من الرائع أن أتمكن من القيام بذلك.
00:04:38بصراحة، بالنسبة لشيء تم بناؤه باستخدام JavaScript في الغالب، فهو عالي الأداء بشكل لا يصدق.
00:04:43أعني، كنت متشككاً عندما اختار المؤلف عدم استخدام libghosty للطرفية.
00:04:47ولكن إذا لم أكن أعرف أن هذا مفتوح المصدر وليس لدي أدنى فكرة عن الكود المستخدم لبنائه، لكنت ظننت أنه يستخدم لغة أنظمة.
00:04:54حسناً، إنه نوعاً ما كذلك لأن Tauri هو Rust، لكنكم تفهمون ما أعنيه.
00:04:57بشكل أساسي، من المذهل ما يمكن القيام به في الوقت الحاضر بواسطة مطور واحد يستخدم الذكاء الاصطناعي والعديد من أدوات المصدر المفتوح.
00:05:04أعني، هذا يكاد ينافس Warp، الذي تم بناؤه بواسطة شركة كاملة ولديه تمويل من رأس المال الاستثماري.
00:05:09ناهيك عن أن هذا ليس حتى إصدار 1.0 من Terax.
00:05:12لذا أنا متأكد من أنه سيكون هناك المزيد من الميزات والمزيد من الإصلاحات قادمة في وقت لاحق.
00:05:16ولكن كيف يقارن هذا بـ CMUX؟
00:05:18حسناً، Terax هي بيئة تطوير وكيلية (Agentic) مثل Warp، بينما CMUX هي أداة مختلفة تماماً.
00:05:24إنها تمنح وكلائك القدرة على التحكم في كل شيء في الطرفية.
00:05:28لذا يمكنك إنشاء أجزاء جديدة، وألسنة جديدة، والتحكم في الشريط الجانبي، وإعادة تسميته وما إلى ذلك،
00:05:32وهو مثالي لسير عمل الوكلاء المتعددين.
00:05:34مع Terax، من ناحية أخرى، الوكيل مخصص فقط للنظر في الكود والملفات.
00:05:39لذا لا يمكنه إنشاء ألسنة جديدة وتقسيمات جديدة.
00:05:42لا يمكنه التحكم في الشريط الجانبي، لكن يمكنه إجراء تعديلات على الكود نفسه.
00:05:45لذا إذا كنت تريد أن يقوم وكلاؤك بفتح المتصفحات، وتصفح الويب، وتشغيل وكلاء فرعيين، فراجع CMUX.
00:05:51ولكن إذا كنت تريد البرمجة في الطرفية، واستخدام وكيل لإجراء تغييرات وعرض التغييرات في المتصفح، فاستخدم Terax.
00:05:58شخصياً، سألتزم بـ West Term وNeoVim لمعظم أعمال التطوير الخاصة بي.
00:06:01وإذا كنت تريد معرفة سبب اختياري لـ ResTerm بدلاً من، قل Ghosty، فراجع هذا الفيديو.

Key Takeaway

يقدم تيركس بيئة تطوير متكاملة ومدمجة للذكاء الاصطناعي في تطبيق طرفية خفيف الحجم وسريع الأداء، مما يجعله منافساً قوياً للأدوات المدعومة بتمويل كبير.

Highlights

  • تيركس (Terax) هو تطبيق طرفية مفتوح المصدر بحجم 7 ميجابايت يعمل في أقل من 300 مللي ثانية.

  • يعتمد التطبيق على Tauri2 وRust بدلاً من Electron، مما يوفر 200 ميجابايت من مساحة الذاكرة.

  • يتضمن التطبيق محرر أكواد مدمجاً باستخدام CodeMirror 6 ووكيل ذكاء اصطناعي يدعم نماذج مختلفة عبر Vercel AI SDK.

  • يمكن للمستخدمين التبديل بين وضع التخطيط ووضع البناء، مع إمكانية مراجعة تغييرات الكود (diffs) قبل قبولها.

  • يدعم التطبيق ميزة الخصوصية التي تمنع وكيل الذكاء الاصطناعي من الوصول إلى محتوى ألسنة محددة.

Timeline

نظرة عامة على مميزات Terax التقنية

  • يجمع التطبيق بين طرفية حقيقية، ومحرر أكواد، ومتصفح ويب في حزمة واحدة.
  • يستخدم التطبيق Tauri2 لتجنب الاعتماد على Chromium، مما يقلل حجمه إلى 7 ميجابايت.
  • تتولى خلفية Rust معالجة عمليات نظام التشغيل، بينما تكتفي واجهة React بالعرض فقط.

تستغل الأداة تقنيات حديثة لتحقيق أداء عالٍ في بيئة برمجة متكاملة. يتيح التكامل مع Xterm.js وWebGPU تجربة طرفية مشابهة لـ VS Code مع توفير كبير في الموارد بفضل اختيار لغة Rust وتقنية Tauri2.

تجربة المستخدم وسير العمل

  • تتيح ميزة التنقل التلقائي عبر الأوامر الانتقال المباشر بين المجلدات دون الحاجة لـ LS.
  • يمكن لوكيل الذكاء الاصطناعي تحليل الملفات المفتوحة وإعطاء إجابات بناءً على حجم سياق محدد.
  • تسمح نافذة المتصفح المدمجة بمعاينة التطبيقات والمنافذ في نفس مساحة العمل مع الكود.

يركز التطبيق على تحسين تجربة المطور من خلال دمج أدوات التعديل والمعاينة. يوفر نظام keyring لتخزين مفاتيح API بشكل آمن، ويتيح مراجعة التعديلات البرمجية عبر واجهة توضح الفروقات قبل اعتمادها.

القيود الحالية والمقارنة مع أدوات أخرى

  • يواجه التطبيق حالياً صعوبات في التعامل مع بعض الأدوات مثل NeoVim.
  • يفتقر التطبيق إلى اختصارات لوحة المفاتيح المتقدمة للتنقل داخل الشريط الجانبي.
  • يختلف Terax عن Cmox في أن الأول يركز على البرمجة، بينما يركز الثاني على التحكم الكامل في بيئة الطرفية عبر الوكلاء.

على الرغم من الأداء المتميز، لا تزال هناك جوانب تحتاج إلى تحسين مثل التكامل مع المحررات الطرفية المعقدة وإتاحة التنقل الكامل عبر لوحة المفاتيح. تبرز المقارنة مع Cmox تباين التخصص؛ حيث يوفر Terax أدوات برمجة موجهة، في حين يتيح Cmox مرونة أعلى في إدارة أجزاء الطرفية.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video