العودة
Fly.io: وكيل SSH في VSCode أكثر تدخلاً مما يبدو
SiTech AI Team2 წთ. საკითხავი

Fly.io: وكيل SSH في VSCode أكثر تدخلاً مما يبدو

يحلّل مهندس Fly.io توماس بتاتشيك كيفية تحرير VSCode للملفات على الخوادم البعيدة: سكربت Bash يثبّت وكيلاً مع Node على الجهاز، والوكيل يفتح اتصال WebSocket بالمحرر ويستطيع تعديل الملفات وتشغيل صدفة والبقاء على النظام.

نشر المهندس في Fly.io توماس بتاتشيك تحليلاً مفصلاً لكيفية تحرير VSCode للملفات على الأجهزة البعيدة عبر SSH. وبحسب وصفه، فإن هذه الآلية أكثر تدخلاً بكثير من الأداة الأقدم التي تشبهها. وقد نُشر المقال على مدونة Fly في 7 فبراير 2025 بعنوان «VSCode's SSH Agent Is Bananas».

لماذا اهتمت Fly.io

تريد Fly.io أن تتكامل منصتها مع المسار نفسه الذي يستخدمه VSCode للتحرير عن بُعد، إذ يعتمد معظم المطورين اليوم على VSCode، بما في ذلك النسخ التي تولّد الكود بواسطة نماذج LLM. ويصبح الكود المولَّد بهذه النماذج أكثر فائدة عندما تُغلق الحلقة بين النموذج وبيئة التنفيذ: يكتب النموذج الكود، ويشغّله وكيل، وتعود الأخطاء إلى النموذج، وتتكرر العملية. ويرى بتاتشيك أن تشغيل هذه الحلقة على حاسوبك المحمول ليس فكرة جيدة، لأن نماذج LLM لا تحترم الحدود وستعيد «معالجة» إعدادات النظام تماماً كما تعالج المشروع الذي تعمل عليه. لذلك فإن المكان الأكثر أماناً هو نسخة Linux نظيفة تعمل خلال ثوانٍ.

Tramp ووكيل VSCode

يُعد Tramp في Emacs «السلف الروحي» للتحرير عن بُعد: يكفي وصله بأي بيئة تفاعلية، عادة جلسة SSH، يمكنها تنفيذ أوامر Bourne shell، ليوسّع Emacs إلى تلك البيئة معتمداً على ما هو موجود أصلاً على الجهاز البعيد. ولدى VSCode ميزة مشابهة. قد تتوقع أنها نسخة مبسطة من Tramp مع TypeScript بدلاً من Elisp، لكن الأمر مختلف: يكتب بتاتشيك أن VSCode «يشن غزواً واسع النطاق»، إذ يقوم سكربت Bash بتنزيل وكيل إلى الجهاز البعيد، مع تثبيت ثنائي Node. ويعمل الوكيل عبر SSH مع إعادة توجيه المنافذ، ويفتح اتصال WebSocket عائداً إلى واجهة VSCode قيد التشغيل.

ما الذي يستطيع الوكيل فعله

يستطيع البروتوكول المرتبط بهذا الاتصال التنقل في نظام الملفات، وتحرير أي ملف، وتشغيل عمليات PTY خاصة به من الصدفة، والاستقرار على الجهاز. ويلاحظ بتاتشيك أن لعالم الأمن السيبراني اسماً لهذه الأدوات، لكنه لا يقوله صراحة. يكتفي بالإشارة إلى أن الاسم «من عائلة القوارض»، في تلميح واضح إلى حصان طروادة للوصول عن بُعد.

الخلاصة العملية

يقول بتاتشيك إنه سيشعر «بقلق بسيط» من استخدام التحرير عن بُعد في VSCode على خوادم التطوير، وسيغضب بشدة لو حدث ذلك أثناء حادث على نظام إنتاجي. وينتهي المقال بملاحظة عملية: وجدت Fly.io أنها لم تحتج إلى معرفة أي من ذلك لإعداد اتصال مخصص بآلة Fly Machine داخل VSCode. لم يعق الاكتشاف عملهم — لكنهم رأوا أنه يستحق المشاركة.

SSiTech

SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي

نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.