تخطّي إلى المحتوى
MeghaOS

اختر اللغة

يتحدّث MeghaOS أكثر من 100 لغة على جهازك أنت. هذا الموقع متاح بالكامل بكل لغة مذكورة هنا؛ أما صفحاتنا القانونية وتدوينات المدوّنة فتبقى بالإنجليزية.

FIG 2.6 · Code Studio

وكيل برمجة يمسكمجموعة العمل كلها.

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

FIG 2.7 · إعادة هيكلة، مؤلَّفة

اطلب تعديلاً. اقرأ الفرق. ثم قرّر.

يشغّل العرض أدناه سيناريو Code Studio: شجرة الملفات، والفرق المجهَّز، وخطة الوكيل نفسه مع ميزانيتها.

انزع المصادقة من جلسات الخادم

جرّب

src/auth/middleware.ts

جاهز. راجعه قبل أن يمسّ شجرة العمل.

typescript
export async function authenticate(req: Request) {
-  const session = await store.get(req.cookies.sid);
-  if (!session) throw new Unauthorized();
+  const token = bearer(req.headers.authorization);
+  const claims = await verify(token, publicKey);
+  if (claims.exp < Date.now() / 1000) throw new Unauthorized();

-  return session.user;
+  return claims.sub;
}
src
auth
session.ts
tokens.ts
middleware.ts
routes
login.ts
tests
auth.test.ts

الخطة التي كتبها لنفسه

الخطة كاملة50%
FIG 2.7b · السطح

وهذا هو Code Studio كما يُشحَن.

محرّر كامل بشجرة ملفات وشريط تبويبات، والوكيل في شريط جانبي إلى جواره، يسأل قبل أن يمسّ ثلاثة ملفات، لا بعدها.

Code Studio

Explorer

  • src
  • components
  • lib
  • auth.ts
  • session.ts
  • tokens.ts
  • README.md
auth.tssession.ts
1 import { sign, verify } from 'jsonwebtoken'
2
3 export async function issueSession(userId: string) {
4 const token = sign({ sub: userId }, SECRET, {
5 expiresIn: '15m',
6 });
7
8 // Refresh token rotates on every use.
9 const refresh = await rotate(userId);
10 return { token, refresh };
11 }

الواجهة، مُعاد بناؤها داخل الصفحة · v0.1.10

FIG 2.8 · العمل عبر عدّة ملفات

إعادات هيكلة تمتدّ عبر الملفات، لا مقتطفات تمتدّ عبر الأسطر.

معظم مساعدي البرمجة يعملون على المخزن المفتوح أمامك. أما وكيل Code Studio فيعمل على مجموعة العمل: يفتح ما يحتاجه، ويتتبّع ما غيّره، ويحافظ على تماسك التعديل عبر كل ملف يمسّه.

  • يقرأ ويحرّر عبر مجموعة العمل كلها في خطة واحدة
  • يتتبّع أي الملفات قُرئت وحُرِّرت وأُضيفت، ويعرض ذلك عليك
  • يشغّل مجموعة الاختبارات في مساحة العمل قبل أن يعلن انتهاءه
  • كل خطوة ظاهرة وهي تجري، ويمكن إيقافها إن سارت في الاتجاه الخطأ
خطة نموذجية
  1. 01
    تحديد مجموعة العمل
    أي الملفات يمسّها هذا التعديل فعلاً؟
  2. 02
    أخذ نقطة استعادة لمساحة العمل
    نقطة رجوع، قبل أن يُكتب أي شيء
  3. 03
    إجراء التعديل
    كل تحرير يُعرض كفرق قابل للمراجعة
  4. 04
    التحقّق منه
    تُشغَّل الاختبارات في مساحة العمل قبل أن يُبلِغ بانتهائه
  5. 05
    لك أن تُبقيه أو تتراجع عنه
    نقرة واحدة تُرجع الملفات والمحادثة معاً
FIG 2.9 · الأمان

وكيل يكتب شيفرة هو مسألة أمنية.

ومعاملته على هذا الأساس هي الفارق بين عرضٍ تقديمي وشيء يمكنك تشغيله على جهاز عمل.

كل شيء يحدث داخل مساحة العمل

قراءة الملفات وكتابتها وحذفها محصورة في المجلّد الذي فتحته، والمسارات التي تحاول الخروج منه تُرفَض. والأوامر تعمل ومساحة العمل هي دليلها الحالي.

الأوامر المدمّرة مرفوضة قطعاً

تصعيد الصلاحيات، وكل ما يُطفئ الجهاز أو يعيد تهيئة قرص، وعمليات الحذف الموجَّهة إلى مسارات مطلقة أو نسبية إلى المجلّد الرئيسي، لا تعمل. ولا توجد صياغة تمرّرها.

الأوامر الخطرة تتوقّف وتسأل

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

كل رسالة نقطة استعادة

تُؤخَذ نقطة استعادة لمساحة العمل في تاريخ ظلّي منفصل عن نظام إدارة الإصدارات لديك، قبل كل دورة. والتراجع يُرجع الملفات والمحادثة معاً، فتصبح إعادة الهيكلة الفاشلة نقرة واحدة بدل جلسة تنقيب.

وجّهه إلى مستودع حقيقي.

التنزيل مجاني. الشيفرة لا تغادر جهازك أبداً، وهذا وحده ما يجعل منح وكيلٍ هذا القدر من الوصول آمناً.