clawk: یه ماشین مجازی دورریختنی برای ایجنتهای کدنویسی
خلاصهٔ کاملتر
تو این مقاله که همون صفحهٔ معرفی پروژهست اومده که ایجنتهای کدنویسی وقتی واقعاً به درد میخورن که بذاری کارشونو بکنن: پکیج نصب کنن، کد اجرا کنن، سرور بالا بیارن، از شبکه استفاده کنن. ولی روی سیستم خودت این یعنی یا باید هر دستور رو تأیید کنی و مدام بالا سرش وایسی، یا با فلگ خطرناک skip-permissions همهچیو دستش بدی و امیدوار باشی یه دستور پاککنندهٔ اشتباه یا یه توکن لورفته کار دستت نده.
نویسنده میگه clawk یه راه سومه. کافیه تو پوشهٔ پروژه دستور clawk رو بزنی تا Claude Code یا Codex یا یه شل داخل یه ماشین مجازی لینوکسی جدا اجرا شه؛ کدت اون تو mount میشه، ایجنت روت داره ولی فایلها و کیچین و بقیهٔ سیستمت دور از دسترسشه. به گفتهٔ نویسنده مرز کار یه قانون تو پرامپت نیست که بشه ایجنتو راضی کرد دورش بزنه، بلکه یه ماشین جداست و تنها راههای ورودش هموناییان که خودت باز کردی.
نکتهٔ اصلی همین ماشین مجازیه: یه کرنل جدا داره، پس فایلسیستم هاست پشت یه سری قانون منع پنهون نشده، اصلاً mount نشده. ایجنت اون تو روته و میتونه پکیج سیستمی نصب کنه، /etc رو ویرایش کنه یا یه پورت محافظتشده بایند کنه. اگه هم VM رو داغون کرد، با یه destroy و دوباره clawk یه ماشین تازه میگیری و با resume مکالمهها برمیگردن، چون کد و گفتگوها روی خود هاست ذخیره میشن.
بخش شبکهش هم جالبه: کل L3 مهمان (گیتوی، DHCP، DNS، NAT) یه استک userspace داخل خود دیمنه و allow-list همونجا اعمال میشه، جایی که حتی روت داخل مهمان هم نمیتونه عوضش کنه. ssh-agent هم فوروارد میشه تا git push کار کنه بدون اینکه کلیدهات وارد VM شن.
نویسنده صادقانه محدودیتها رو هم میگه: allow-list فقط جلوی سرورهای ناشناسو میگیره، نه اونایی که خودت اجازه دادی؛ مثلاً github.com از قبل مجازه، پس هر چی ایجنت بتونه بخونه رو در عمل میتونه جایی هم بفرسته. هر چی mount کنی یا اجازه بدی در معرض دیده، و در برابر فرار از هایپروایزر هم چیزی فراتر از خود Virtualization.framework اضافه نمیکنه.
فعلاً clawk روی مک با پردازندهٔ اپلسیلیکون (macOS 14 به بالا) کار میکنه و نسخهٔ لینوکسش با firecracker آزمایشیه. به Docker نیازی نداره؛ خودش imageهای OCI رو میگیره و مستقیم یه دیسک ext4 قابلبوت میسازه. نویسنده تأکید میکنه پروژه هنوز pre-1.0 هست و سریع داره تغییر میکنه، پس باید منتظر تغییرات ناسازگار و یهسری خطوخش بود.
نکات کلیدی:
- clawk ایجنت کدنویسی رو تو یه VM لینوکسی جدا و دورریختنی اجرا میکنه، نه روی سیستم خودت
- ایجنت داخلش روت داره و میتونه هر کاری بکنه، ولی فایلها و کلیدهای هاست دور از دسترسشن
- ترافیک خروجی با allow-list کنترل میشه و ssh-agent برای git push فوروارد میشه
- خراب شدن VM مهم نیست: با یه دستور از نو ساخته میشه و مکالمهها میمونن
- فعلاً مخصوص مک اپلسیلیکونه و هنوز pre-1.0 و آزمایشیه




