۱. مقدمه
در این آزمایشگاه کد، شما با Google Antigravity ، یک پلتفرم توسعه عاملگرا که برای کمک به شما در توسعه در این عصر عاملها طراحی شده است، آشنا خواهید شد. Antigravity 2.0 به عنوان مرکز فرماندهی عاملهای هوش مصنوعی شما عمل میکند و یک پلتفرم یکپارچه برای راهاندازی، نظارت و هماهنگسازی فعالیتهای آنها فراهم میکند.
با عرضه نسخه ۲.۰، آنتیگراویتی دیگر فقط یک مدیر عامل (Agent Manager) یکپارچه با یک IDE نیست. اکنون یک اکوسیستم کامل از محصولات طراحی شده برای دوران اولویت عامل است:
- Antigravity: برنامه مستقل و پرچمدار برای macOS، لینوکس و ویندوز. این مرکز فرماندهی شما برای مدیریت چندین عامل محلی به صورت موازی، اجرای وظایف زمانبندی شده و موارد دیگر است. برخلاف نسخه قبلی خود، Agent Manager، Antigravity 2.0 یک برنامه مستقل است که مستقل از IDE عمل میکند.
- Antigravity IDE: IDE اصلی و کاملاً کاربردی agentic همچنان در دسترس است (و برای توسعهدهندگان توصیه میشود!). این IDE شامل مدیر agent، مصنوعات و درک عمیقی از کدبیس شما میشود.
- رابط خط فرمان Antigravity: یک رابط خط فرمان برای تعاملات عامل مبتنی بر ترمینال. این مورد در این آموزش پوشش داده نخواهد شد.
- کیت توسعه نرمافزار Antigravity: ابزارهایی برای توسعهدهندگان تا بتوانند Antigravity را به صورت برنامهنویسی شده در سیستمهای خود ادغام کنند. این مورد در این آموزش پوشش داده نخواهد شد.
در این آزمایشگاه کد، ما به شدت بر روی Antigravity تمرکز خواهیم کرد و به طور خلاصه به Antigravity IDE اشاره خواهیم کرد. دو جزء دیگر، Antigravity CLI و Antigravity SDK، پوشش داده نمیشوند.
اگر به یک آزمایشگاه کد در مورد Antigravity CLI، که یک برنامه مبتنی بر ترمینال است، علاقهمند هستید، به codelab: Getting Started with Antigravity CLI مراجعه کنید.
آنچه یاد خواهید گرفت
- نصب و پیکربندی آنتی گراویتی
- بررسی مفاهیم کلیدی ضد جاذبه مانند کار با عاملها، فضاهای کاری و موارد دیگر.
- سفارشیسازی Antigravity از طریق تنظیمات مختلف و مطابق با ترجیحات شما.
آنچه نیاز دارید
آنتیگراویتی باید به صورت محلی روی سیستم شما نصب شود. این محصول روی مک، ویندوز و برخی توزیعهای لینوکس موجود است. علاوه بر دستگاه خودتان، به موارد زیر نیز نیاز خواهید داشت:
- مرورگر وب کروم.
- یک حساب جیمیل (حساب جیمیل شخصی).
این آزمایشگاه کد برای کاربران و توسعهدهندگان در تمام سطوح طراحی شده است.
گزارش مشکلات
همانطور که با آزمایشگاه کد و با Antigravity کار میکنید، ممکن است با مشکلاتی روبرو شوید.
برای مشکلات مربوط به codelab (غلط املایی، دستورالعملهای اشتباه)، لطفاً با استفاده از دکمه Report a mistake در گوشه پایین سمت چپ این codelab، یک اشکال (bug) ایجاد کنید:

برای اشکالات یا درخواستهای مربوط به Antigravity، لطفاً مشکل را در Antigravity گزارش دهید. میتوانید با کلیک روی تنظیمات، که در گوشه پایین سمت چپ محصول Antigravity موجود است، بازخورد محصول را گزارش دهید. سپس گزینه Provide Feedback انتخاب کنید.
۲. نصب
نصب ضد جاذبه
به صفحه دانلود گوگل آنتیگراویتی بروید. برنامه آنتیگراویتی را برای سیستم عامل خود (مک، لینوکس یا ویندوز) دانلود کنید.

نصبکننده را اجرا کنید. صفحه زیر را نشان میدهد:

با حساب گوگل خود وارد شوید. احراز هویت را تکمیل کنید و باید موارد زیر را نشان دهد:

روی Open Antigravity کلیک کنید. یک خطمشی امنیتی و استفاده از دادهها نمایش داده میشود. روی Next کلیک کنید.

یک تم (موضوع) که دوست دارید انتخاب کنید:

آنتیگراویتی (Antigravity) با مجموعهای از افزونهها ارائه میشود که با ابزارهای مختلف توسعهدهندگان گوگل (Google Developer Tools) کار میکنند. این افزونهها مجموعهای از مهارتها را نصب میکنند که به آنتیگراویتی کمک میکند تا با ابزارهای مختلف توسعهدهندگان گوگل کار کند. در اینجا لیستی از افزونههایی که میتوانید به صورت اختیاری برای نصب انتخاب کنید، آورده شده است. ما این افزونهها را در codelab پوشش نخواهیم داد. روی Finish کلیک کنید.

شما باید رابط کاربری Antigravity را به صورت زیر ببینید:

نصب آنتی گراویتی IDE
شما میتوانید به صورت اختیاری Antigravity IDE را نصب کنید. به صفحه دانلود Google Antigravity بروید. به بخش دانلودهای Antigravity IDE بروید.

پس از نصب موفقیتآمیز هر دو نرمافزار Antigravity و Antigravity IDE، دو آیکون در داک خود مشاهده خواهید کرد: Antigravity (با پسزمینه سفید) و Antigravity IDE (با پسزمینه شبکهای سیاه).

۳. رابط ضد جاذبه
ما آماده شروع هستیم! بیایید ابتدا روی استفاده از Antigravity تمرکز کنیم. صفحه اولیه Antigravity شبیه به این است:

در ادامهی این آموزش، در صورت نیاز، به گزینهی تنظیمات (Settings ) در گوشهی پایین سمت چپ خواهیم رسید.
پروژهها
بیایید ابتدا مفهوم پروژهها را در Antigravity درک کنیم. این نکته کلیدی است زیرا اگر به رابط کاربری در پنل سمت راست توجه کنید، به وضوح عبارت Select Project را نشان میدهد و Antigravity از یک رویکرد پروژه محور برای اطمینان از دسترسی عوامل به فایلها، ابزارها، مجوزها و موارد دیگر استفاده میکند.
یک پروژه ترکیبی از پوشههایی است که محیط و محدودهی عامل شما را تعریف میکنند. به جای مجبور کردن یک عامل به فعالیت در یک پوشه، یک پروژه میتواند با یک یا چند پوشه (مثلاً یک مخزن frontend و backend) کار کند و تمام زمینهی مورد نیاز برای پایگاه کد شما را در اختیار عاملهای شما قرار دهد. همه پروژهها تنظیمات عامل جداگانهی خود را دارند که به شما امکان میدهد تنظیمات امنیتی پروژههای مختلف را به طور مستقل سفارشی کنید.
بیایید اولین پروژه خود را ایجاد کنیم. در پوشه خانه خود در دستگاه محلی خود، پوشهای با نام $HOME/agy2-projects/my-first-project ایجاد کنید. توجه داشته باشید که لازم نیست این پوشه خالی باشد.
اکنون میخواهیم اولین پروژه خود را در Antigravity با تعریف پوشههای تشکیلدهنده پروژه ایجاد کنیم. در مورد اولیه ما، این پروژه یک پوشه خواهد بود.
مطابق شکل زیر، روی «انتخاب پروژه → پروژه جدید» کلیک کنید:

همانطور که انتظار میرود، از شما میخواهد پوشه(ها) را مطابق شکل زیر انتخاب کنید :

روی افزودن پوشه کلیک کنید و پوشهی مورد نظر یعنی $HOME/agy2-projects/my-first-project را انتخاب کنید.

همانطور که متوجه شدید، هنوز میتوانید پوشههای بیشتری به پروژه اضافه کنید (از طریق Add Folder )، اما فعلاً میتوانیم روی دکمه Next کلیک کنیم.
این کار پنجرهای مطابق شکل زیر باز میکند. همه پروژهها تنظیمات عامل جداگانه خود را دارند که به شما امکان میدهد تنظیمات امنیتی مختلف پروژه را بهطور مستقل سفارشی کنید.

هر پروژه مجوزهای مربوط به بررسی مصنوعات، ابزارهای مجاز و پیکربندی سرور Model Context Protocol (MCP) را از یک پیکربندی سراسری که از طریق تنظیمات در رابط اصلی در دسترس است، به ارث میبرد. با این حال، میتوانید این مجوزها و موارد دیگر را به صورت جداگانه برای هر پروژه تنظیم کنید، در نتیجه انعطافپذیری بسیار بیشتری خواهید داشت و زمینه و ابزارها را برای پروژه خاص خود ساده و قابل فهم نگه میدارید.
فعلاً گزینه پیشفرض را انتخاب کنید.
همچنین میتوانید در کادر محاورهای بعدی، نامی برای پروژه خود انتخاب کرده و روی Create کلیک کنید:

اکنون صفحه زیر را مشاهده خواهید کرد. پروژه همانطور که نشان داده شده است در لیست پروژهها و همچنین در رابط چت نمایش داده میشود. توجه داشته باشید که میتوانید مدل را انتخاب کنید، زمینههای اضافی را از طریق علامت + یا @ یا / و موارد دیگر ارسال کنید.

وقتی با پیامی به اپراتور خوشامد میگویید، به همان ترتیب پاسخ میدهد.

ما درخواست دیگری برای دریافت اخبار داریم و این کار خوبی است.

مکالمات
در پروژه ما ( my-first-project )، ما یک رشته گفتگو را شروع کردیم و در حال حاضر مجموعهای از پیامها (پیامهای کاربر و پاسخهای عامل) در این رشته وجود دارد.
خواهید دید که این رشته گفتگو در سمت چپ، تحت عنوان پروژه گروهبندی شده است.

حالا، بیایید یک کار جالب انجام دهیم و برای این رشته گفتگو یک نام انتخاب کنیم. بیایید آن را conv-introduction بنامیم.
برای انجام این کار، روی سه نقطه عمودی کنار مکالمه کلیک کنید. سه گزینه به شما نشان داده میشود. گزینه «تغییر نام» را انتخاب کنید.

مقدار conv-introduction یا هر نامی که برای شما معنیدار است را به آن بدهید.
حال، اگر میخواهید یک مکالمه کاملاً جدید در پروژه داشته باشید، مطابق شکل زیر، روی علامت + (مکالمه جدید در پروژه) در کنار پروژه کلیک کنید.

حالا وارد یک مکالمه کاملاً جدید شدهاید.
بیایید از اخبار ورزشی سراسر جهان بپرسیم. توجه داشته باشید که ما هنوز در مرحلهی «اولین پروژهی من» هستیم.

این به من اخباری از دنیای ورزش میدهد و میتوانید متوجه شوید که حالا ما دو رشته گفتگو در یک پروژه داریم.

بیایید نام این مکالمه را به conv-sportsnews تغییر دهیم. اگر میخواهید تمام مکالماتی که تاکنون اتفاق افتاده است را ببینید، میتوانید مانند تصویر زیر به تاریخچه مکالمات در بالا سمت چپ مراجعه کنید:

در هر برههای از زمان، شما میتوانید از طریق گزینه «گفتگوی جدید» در بالا، گفتگوی جدیدی را در پروژه فعلی یا یک پروژه جدید آغاز کنید.
تنظیمات پروژه
حالا برگردیم به تنظیمات پروژه که قبلاً در موردش صحبت کردیم. وقتی یک پروژه در Antigravity ایجاد میکنید، مجوزهای پیشفرض را به ارث میبرد که در صورت تمایل میتوانید آنها را بهطور خاص لغو کنید.
برای دسترسی به تنظیمات پروژه برای یک پروژه خاص، روی نماد چرخ دنده تنظیمات در کنار هر پروژه در نوار ناوبری سمت چپ کلیک کنید.

این شما را به تنظیمات خاص پروژه (یعنی my-first-project ) مطابق شکل زیر هدایت میکند:

توجه داشته باشید که در سمت چپ و در زیر پروژهها، پروژهی my-first انتخاب شده است. اگر پروژههای بیشتری وجود داشته باشد، در زیر این لیست قابل مشاهده خواهند بود و میتوانید به راحتی هر یک از پروژهها را انتخاب کرده و تنظیمات آنها را در صورت نیاز تغییر دهید.
حالا، بیایید روی سمت راست، تنظیمات پروژه نشان داده شده برای my-first-project، تمرکز کنیم. متوجه خواهید شد که این شامل یک پوشه است که ما به این پروژه اضافه کرده بودیم. میتوانید پوشههای بیشتری را نیز از اینجا اضافه کنید.
پیشنهاد میکنم ابتدا کل لیست را بررسی کنید و انعطافپذیری ارائه شده را ببینید که به شما کمک میکند تا تنظیمات زیادی را مطابق با نیازهای سفارشیسازی پروژه خود تغییر دهید.
این موارد عبارتند از:
- تنظیمات امنیتی پیشفرض : تعیین میکند که آیا قبل از اینکه عامل بتواند اقداماتی را انجام دهد، تمام دستورات ترمینال و دسترسیهای فایل توسط شما بررسی شوند یا خیر.
- رفتار عامل : تعیین میکند که آیا عامل، طرح پیادهسازی را با یا بدون بررسی شما اجرا میکند.
- مجوزهای محلی مختلف، مسیرهای فایل، URLها و غیره که برای عامل مجاز یا مسدود شدهاند.
- شما حتی میتوانید پیکربندی کنید که کدام ابزارهای خاص MCP برای این پروژه مجاز هستند. این کار برای جلوگیری از در دسترس قرار گرفتن همه سرورهای MCP پیکربندی شده سراسری برای عامل در این پروژه بسیار مفید است.
توجه : در هر زمانی، میتوانید از طریق گزینه تنظیمات اصلی در رابط کاربری Antigravity به تنظیمات Antigravity یا حتی تنظیمات پروژهها بروید.

۴. دستورات اسلش
دستورات جالبی مانند slash / در Antigravity وجود دارد. در رابط چت خود، اگر / را تایپ کنید، باید دستورات زیر را مشاهده کنید:

دستور /browser را در نظر بگیرید. این یک دستور صریح برای اجرای مرورگر و درخواست انجام کاری از آن است.
سعی کنید مانند تصویر زیر به وبسایتی بروید:

این یک عامل فرعی مرورگر ایجاد میکند که سعی میکند یک جلسه اشکالزدایی با کروم راهاندازی کند و ابتدا از شما اجازه میگیرد:

وقتی به آن اجازه دادید، در صورت نیاز درخواست مجوز میکند و جزئیات را دریافت میکند.


دستور /schedule در صورتی مفید است که بخواهید وظایف تکراری یا یکباره را برای عامل تنظیم کنید تا در فواصل زمانی ثابت یا طبق یک برنامه (مثلاً ساعت ۹ صبح دوشنبه، چهارشنبه) اجرا شوند.
همزمان، همان امکان انجام این کار از طریق رابط کاربری در اختیار شما قرار گرفته است و این موضوع در بخش