GeekAlerts

جایی برای گیک‌ها

·

بررسی و آموزش Gemini CLI، دستیار هوش مصنوعی ترمینال برای توسعه‌دهندگان

بررسی و آموزش Gemini CLI، دستیار هوش مصنوعی ترمینال برای توسعه‌دهندگان

ابزار جدیدی به اسم جمینی سی‌ال‌آی (Gemini CLI) اومده که یه جورایی دستیار هوش مصنوعیه و مستقیم توی ترمینال شما کار میکنه. این ابزار که به صورت متن باز یا همون اوپن سورس عرضه شده، به ابزارهای شما وصل میشه، کدهاتون رو میفهمه و کمک میکنه کارهاتون رو سریع‌تر پیش ببرین. بیایین با هم یه نگاه دقیق و خودمونی به همه جنبه‌های این ابزار بندازیم، از نصب و راه‌اندازی گرفته تا قابلیت‌ها و بحث‌هایی که در موردش شکل گرفته.

جمینی سی‌ال‌آی چیه و چه کارایی ازش برمیاد؟

اگه بخوایم ساده بگیم، جمینی سی‌ال‌آی یه ابزار هوش مصنوعیه که توی خط فرمان (همون ترمینال کامپیوتر) زندگی میکنه. هدفش اینه که یه پل ارتباطی بین شما و قدرت مدل‌های هوش مصنوعی جمینی باشه. این ابزار فقط یه چت‌بات ساده نیست؛ یه جورایی مثل یه مامور هوشمنده که میتونه فکر کنه و بر اساس فکرش، کاری رو انجام بده. این فرایند که بهش میگن حلقه «دلیل و عمل» یا ReAct، بهش اجازه میده از ابزارهای مختلف، چه اونایی که روی سیستم خودتون هستن و چه سرورهای راه دور، برای انجام کارهای پیچیده استفاده کنه.

حالا این کارای پیچیده یعنی چی؟ بیایین چندتا مثال رو ببینیم:

  • کار با کدهای خیلی بزرگ: یکی از قابلیت‌های مهم این ابزار، کار کردن با پایگاه‌های کد (codebase) خیلی بزرگه. شما میتونین توی این کدها جستجو کنین، ازش سوال بپرسین و حتی اون‌ها رو ویرایش کنین. نکته جالبش اینه که این کار رو حتی برای پروژه‌هایی که حجمشون از پنجره زمینه (context window) یک میلیون توکنی جمینی هم بیشتره، انجام میده. این یعنی دیگه محدودیت حجم کد برای تحلیل و ویرایش یه مشکل بزرگ به حساب نمیاد.
  • ساختن اپلیکیشن‌های جدید از روی طرح‌ها: جمینی قابلیت‌های چندوجهی یا مولتی‌مدال داره. یعنی میتونه علاوه بر متن، چیزهای دیگه‌ای مثل عکس و پی‌دی‌اف رو هم بفهمه. با جمینی سی‌ال‌آی میتونین از این قابلیت استفاده کنین و مثلا از روی یه فایل PDF یا یه طرحی که کشیدین، یه اپلیکیشن جدید بسازین.
  • اتوماتیک کردن کارهای تکراری: خیلی از کارهای روزمره برنامه‌نویس‌ها تکراریه. مثلا بررسی کردن پول ریکوئست‌ها (pull requests) یا انجام دادن ریبیس‌های (rebase) پیچیده توی گیت. این ابزار میتونه اینجور کارها رو به صورت خودکار براتون انجام بده.
  • وصل شدن به قابلیت‌های جدید: با استفاده از ابزارها و سرورهای MCP (پروتکل زمینه مدل)، میشه قابلیت‌های جدیدی بهش اضافه کرد. مثلا میشه بهش ابزارهای تولید محتوای چندرسانه‌ای مثل Imagen، Veo یا Lyria رو وصل کرد و ازش خواست عکس یا ویدیو بسازه.
  • استفاده از جستجوی گوگل: یه ابزار داخلی به اسم Google Search هم داره که بهش اجازه میده برای جواب دادن به سوال‌های شما، توی گوگل جستجو کنه و اطلاعاتش رو بر اساس نتایج واقعی و به‌روز، پایه‌ریزی کنه. این قابلیت بهش میگه Grounding.

در کل، این ابزار فقط برای کدنویسی نیست. یه ابزار کاربردیه که میشه برای کلی کار مختلف ازش استفاده کرد؛ از تولید محتوا و حل مسئله گرفته تا تحقیق‌های عمیق و مدیریت کارها.

چطوری شروع کنیم؟ راهنمای نصب و راه‌اندازی سریع

برای اینکه بتونین از جمینی سی‌ال‌آی استفاده کنین، چندتا مرحله ساده رو باید طی کنین.

پیش‌نیازها

اول از همه باید مطمئن بشین که Node.js نسخه ۲۰ یا بالاتر روی سیستمتون نصبه. اگه نصب نیست، میتونین از سایت رسمی Node.js دانلود و نصبش کنین.

اجرای مستقیم یا نصب دائمی

دو تا راه برای اجرای این ابزار وجود داره. راه اول اجرای مستقیم و بدون نصبه. فقط کافیه این دستور رو توی ترمینال خودتون بزنین:

npx https://github.com/google-gemini/gemini-cli

اگه هم دوست دارین که به صورت دائمی روی سیستمتون نصب بشه تا هر بار از هر جایی بتونین راحت اجراش کنین، از این دستور استفاده کنین:

npm install -g @google/gemini-cli

بعد از نصب، فقط کافیه توی ترمینال بنویسین gemini تا ابزار اجرا بشه:

gemini

مراحل اولیه بعد از اجرا

وقتی برای اولین بار ابزار رو اجرا میکنین، چندتا کار ازتون میخواد:

  1. انتخاب تم رنگی: اول از همه ازتون میخواد یه تم رنگی برای محیطش انتخاب کنین.
  2. احراز هویت: بعدش ازتون میخواد که با اکانت شخصی گوگل خودتون وارد بشین. این کار بهتون اجازه میده به صورت رایگان از مدل جمینی استفاده کنین.

با انجام این مراحل، شما آماده استفاده از جمینی سی‌ال‌آی هستین.

روش‌های مختلف احراز هویت و محدودیت‌ها

برای استفاده از این ابزار، روش‌های مختلفی برای احراز هویت وجود داره که هر کدوم محدودیت‌های خاص خودشون رو دارن.

استفاده از اکانت شخصی گوگل (روش پیش‌فرض)

وقتی با اکانت شخصی گوگل خودتون وارد میشین، بهتون یه لایسنس رایگان به اسم Gemini Code Assist داده میشه. این لایسنس به شما اجازه میده از مدل Gemini 2.5 Pro با پنجره زمینه یک میلیون توکنی استفاده کنین. محدودیتی هم که براتون در نظر گرفته شده، خیلی سخاوتمندانه است:

  • ۶۰ درخواست به مدل در هر دقیقه
  • ۱۰۰۰ درخواست به مدل در هر روز

این محدودیت‌ها در دوره پیش‌نمایش (Preview) فعاله و به گفته گوگل، خیلی به ندرت پیش میاد که به سقفش برسین.

استفاده از کلید API جمینی (Gemini API key)

یه راه دیگه، استفاده از کلید API خود جمینیه. این روش یه سری مزایا داره. مثلا کنترل بیشتری روی اینکه از کدوم مدل استفاده کنین بهتون میده و اگه نیاز به محدودیت‌های بالاتری داشته باشین، میتونین با پرداخت هزینه، پلن خودتون رو ارتقا بدین.

  • پلن رایگان: با کلید API جمینی هم یه پلن رایگان وجود داره که با استفاده از مدل Gemini 2.5 Pro، روزانه ۱۰۰ درخواست بهتون میده.
  • پلن پولی: اگه پروژه خودتون رو به یه پلن پولی ارتقا بدین، به صورت خودکار به محدودیت‌های سطح ۱ یا Tier 1 میرسین که خیلی بالاتر از پلن رایگانه.

برای استفاده از این روش، این مراحل رو دنبال کنین:

  1. اول باید از Google AI Studio یه کلید API بسازین. آدرسش اینه: https://aistudio.google.com/apikey.
  2. بعدش باید این کلید رو به عنوان یه متغیر محیطی (environment variable) توی ترمینال خودتون تعریف کنین. جای YOUR_API_KEY کلید خودتون رو قرار بدین:

    export GEMINI_API_KEY="YOUR_API_KEY"
  3. اگه خواستین، میتونین پروژه جمینی API خودتون رو به یه پلن پولی ارتقا بدین تا محدودیت‌های بیشتری داشته باشین.

استفاده از کلید API ورتکس ای‌آی (Vertex AI API key)

روش سوم، استفاده از Vertex AI API هست. این روش هم یه پلن رایگان داره که از حالت اکسپرس (express mode) برای مدل Gemini 2.5 Pro استفاده میکنه. مثل روش قبلی، اینجا هم کنترل روی مدل دارین و با داشتن یه حساب پرداخت (billing account) میتونین به محدودیت‌های بالاتری دسترسی پیدا کنین.

برای استفاده از این روش:

  1. از Google Cloud یه کلید بسازین. آدرسش اینه: https://cloud.google.com/vertex-ai/generative-ai/docs/start/api-keys.
  2. دو تا متغیر محیطی رو توی ترمینالتون تنظیم کنین. اولی کلید API شماست و دومی به سیستم میگه که از Vertex AI استفاده کنه:

    export GOOGLE_API_KEY="YOUR_API_KEY"
    export GOOGLE_GENAI_USE_VERTEXAI=true
  3. اگه خواستین، میتونین یه حساب پرداخت به پروژه‌تون اضافه کنین تا به محدودیت‌های استفاده بالاتر دسترسی داشته باشین.

برای روش‌های دیگه احراز هویت، مثل استفاده از اکانت‌های Google Workspace، یه راهنمای جداگانه توی مستندات پروژه وجود داره.

چند مثال کاربردی

وقتی ابزار رو راه‌اندازی کردین، میتونین شروع به کار کنین. مثلا میتونین یه پروژه جدید رو از یه پوشه خالی شروع کنین:

cd new-project/
gemini
> Write me a Gemini Discord bot that answers questions using a FAQ.md file I will provide

یا اینکه روی یه پروژه که از قبل وجود داشته کار کنین:

git clone https://github.com/google-gemini/gemini-cli
cd gemini-cli
gemini
> Give me a summary of all of the changes that went in yesterday

کارهای مختلفی میشه با این ابزار انجام داد. بیایین چند تا از وظایف محبوب رو ببینیم:

  • بررسی یه پایگاه کد جدید: وارد یه ریپازیتوری جدید یا کلون شده بشین و gemini رو اجرا کنین. بعد میتونین سوال‌هایی مثل این بپرسین:
    • «معماری اصلی این سیستم رو برام توضیح بده.»
    • «چه مکانیزم‌های امنیتی‌ای اینجا به کار رفته؟»
  • کار روی کدهای موجود:
    • «یه پیش‌نویس اولیه برای ایشوی شماره ۱۲۳ گیت‌هاب پیاده‌سازی کن.»
    • «کمکم کن این کدبیس رو به آخرین نسخه جاوا منتقل کنم. با یه برنامه شروع کن.»
  • اتوماتیک کردن گردش کارها (Workflows): با استفاده از سرورهای MCP، میتونین ابزارهای سیستمی خودتون رو با ابزارهای همکاری سازمانیتون یکپارچه کنین.
    • «برام یه اسلاید بساز که تاریخچه گیت ۷ روز گذشته رو نشون بده، و بر اساس ویژگی و اعضای تیم گروه‌بندی شده باشه.»
    • «یه وب اپ تمام صفحه برای نمایشگر روی دیوار بساز که پرتعامل‌ترین ایشوهای گیت‌هاب ما رو نشون بده.»
  • تعامل با سیستم:
    • «همه عکس‌های توی این پوشه رو به فرمت png تبدیل کن و اسمشون رو بر اساس تاریخ داده‌های exif تغییر بده.»
    • «فاکتورهای PDF من رو بر اساس ماه هزینه مرتب کن.»

نگاهی عمیق‌تر به ساختار و ویژگی‌های فنی

این ابزار روی گیت‌هاب در آدرس google-gemini/gemini-cli قرار گرفته و به صورت عمومی در دسترسه. بیایین نگاهی به جزئیات فنی و ساختارش بندازیم.

متن‌باز با لایسنس آپاچی ۲

یکی از نکات مهم در مورد جمینی سی‌ال‌آی اینه که کاملا متن‌بازه. این پروژه تحت لایسنس Apache-2.0 منتشر شده. این یعنی کد منبع کاملش در دسترس همه قرار داره و هر کسی میتونه اون رو ببینه، بررسی کنه و حتی در توسعه‌اش مشارکت داشته باشه. این موضوع باعث میشه جامعه برنامه‌نویس‌ها بتونن بهش اعتماد کنن و حتی قابلیت‌های جدیدی بهش اضافه کنن.

مخزن گیت‌هاب این پروژه خیلی فعاله و آمار و ارقام جالبی داره:

  • ۶۱.۵ هزار ستاره (Stars)
  • ۵.۷ هزار فورک (Forks)
  • ۱۶۰ مشارکت‌کننده (Contributors)
  • ۱,۳۷۵ کامیت (Commits)

زبان‌های اصلی استفاده شده در این پروژه هم به این صورته:

  • TypeScript: ۹۶.۷٪
  • JavaScript: ۳.۳٪

آخرین نسخه منتشر شده در زمان بررسی این متن، نسخه v0.1.13 بوده که در تاریخ ۱۹ جولای ۲۰۲۵ منتشر شده.

دستور سیستمی (System Prompt): مغز متفکر ابزار

هر مدل هوش مصنوعی یه دستور سیستمی داره که بهش میگه چطور رفتار کنه. این دستور مثل یه راهنمای خیلی دقیق و فشرده عمل میکنه. دستور سیستمی جمینی سی‌ال‌آی هم خیلی جالبه و نشون میده که این ابزار برای چه کارهایی بهینه‌سازی شده. این دستور توی فایل core/src/core/prompts.ts در مخزن گیت‌هاب قرار داره.

بیایین چند بخش از این دستور سیستمی رو بررسی کنیم:

  • در مورد کامنت گذاشتن:

    «کامنت‌ها: کامنت‌های کد رو به ندرت اضافه کن. تمرکزت روی این باشه که چرا یه کاری انجام شده، به خصوص برای منطق‌های پیچیده، نه اینکه چی انجام شده. فقط اگه برای شفافیت لازمه یا کاربر ازت خواسته، کامنت‌های باارزش اضافه کن. کامنت‌هایی که جدا از کدی هستن که داری تغییر میدی رو ویرایش نکن. هیچ وقت از طریق کامنت با کاربر حرف نزن یا تغییراتت رو توضیح نده.»


    این دستور نشون میده که ابزار سعی میکنه کدی تمیز و بدون کامنت‌های اضافه تولید کنه و فقط روی منطق‌های مهم تمرکز داشته باشه.
  • فناوری‌های ترجیحی:

    «وقتی فناوری‌های کلیدی مشخص نشدن، موارد زیر رو ترجیح بده:

    • وب‌سایت‌ها (فرانت‌اند): ری‌اکت (JavaScript/TypeScript) با Bootstrap CSS، با ترکیب اصول متریال دیزاین برای UI/UX.
    • APIهای بک‌اند: Node.js با Express.js (JavaScript/TypeScript) یا پایتون با FastAPI.
    • فول-استک: Next.js (React/Node.js) با استفاده از Bootstrap CSS و اصول متریال دیزاین برای فرانت‌اند، یا پایتون (Django/Flask) برای بک‌اند با فرانت‌اند React/Vue.js که با Bootstrap CSS و اصول متریال دیزاین استایل‌دهی شده.
    • ابزارهای خط فرمان (CLI): پایتون یا گو (Go).
    • اپلیکیشن موبایل: Compose Multiplatform (Kotlin Multiplatform) یا فلاتر (Flutter) با استفاده از کتابخانه‌ها و اصول متریال دیزاین، وقتی که کد بین اندروید و iOS به اشتراک گذاشته میشه. Jetpack Compose (Kotlin JVM) با اصول متریال دیزاین یا SwiftUI (Swift) برای اپ‌های نیتیو که به ترتیب برای اندروید یا iOS هدف‌گذاری شدن.
    • بازی‌های سه‌بعدی: HTML/CSS/JavaScript با Three.js.
    • بازی‌های دوبعدی: HTML/CSS/JavaScript.»

    این لیست نشون میده که ابزار یه سری پیش‌فرض‌های مشخص برای انتخاب فناوری داره که بیشترشون فناوری‌های مدرن و محبوب هستن.

ابزارهای داخلی جمینی سی‌ال‌آی

این ابزار یه سری ابزار داخلی داره که بهش اجازه میده با فایل‌ها و سیستم شما تعامل داشته باشه. این ابزارها خیلی مهمن چون به مدل اجازه میدن کارهای واقعی انجام بده، نه اینکه فقط متن تولید کنه. لیست این ابزارها این‌ها هستن:

نام ابزارکارکرد
editبرای تغییر دادن فایل‌ها به صورت برنامه‌نویسی شده.
globبرای پیدا کردن فایل‌ها بر اساس یه الگو.
grepبرای جستجوی محتوا داخل فایل‌ها.
lsبرای لیست کردن محتویات یه پوشه.
shellبرای اجرای یه دستور در شل.
memoryToolبرای به خاطر سپردن اطلاعات خاص کاربر.
read-fileبرای خوندن یه فایل تکی.
write-fileبرای نوشتن توی یه فایل تکی.
read-many-filesبرای خوندن چندتا فایل به صورت همزمان.
web-fetchبرای گرفتن محتوا از آدرس‌های اینترنتی (URL).
web-searchبرای انجام جستجوی وب (با استفاده از Grounding with Google Search).

این ابزارها به جمینی اجازه میدن که با محیط اطرافش تعامل کنه، فایل‌ها رو بخونه، تغییر بده، دستور اجرا کنه و حتی توی اینترنت جستجو کنه.

یکپارچگی با وی‌اس‌کد و کیت توسعه ایجنت (ADK)

جمینی سی‌ال‌آی فقط یه ابزار مستقل نیست، بلکه با ابزارهای دیگه هم یکپارچه میشه.

حالت ایجنت در Gemini Code Assist

یکی از جاهای مهمی که جمینی سی‌ال‌آی قدرت خودش رو نشون میده، توی VS Code و از طریق Gemini Code Assist agent mode هست. در واقع، این حالت ایجنت که توی چت Gemini Code Assist در IDE شما فعاله، توسط جمینی سی‌ال‌آی قدرت گرفته. یه سری از قابلیت‌های جمینی سی‌ال‌آی مستقیما از داخل IDE در دسترس هستن:

  • سرورهای MCP (Model Context Protocol): این سرورها به شما اجازه میدن قابلیت‌های جدیدی به ایجنت اضافه کنین.
  • دستورات جمینی سی‌ال‌آی: دستوراتی مثل /memory، /stats، /tools و /mcp مستقیما توی چت قابل استفاده هستن.
  • حالت یولو (Yolo mode): این حالت به ایجنت اجازه میده که بدون تایید شما، کارها رو انجام بده.
  • ابزارهای داخلی: ابزارهایی مثل grep، ترمینال، خوندن و نوشتن فایل.
  • جستجوی وب و واکشی وب.

این یکپارچگی باعث میشه که شما بتونین از قدرت جمینی سی‌ال‌آی بدون اینکه از محیط کدنویسی خودتون خارج بشین، استفاده کنین.

قدرت گرفتن از کیت توسعه ایجنت (ADK)

برای توسعه‌دهنده‌هایی که میخوان ایجنت‌های هوش مصنوعی بسازن، گوگل یه ابزار به اسم Agent Development Kit (ADK) ارائه کرده. اخیرا به‌روزرسانی‌هایی برای ADK منتشر شده که وقتی با جمینی سی‌ال‌آی ترکیب میشه، تجربه کدنویسی که بهش میگن «vibe coding» رو خیلی بهتر میکنه.

قلب این به‌روزرسانی، فایل llms-full.txt هست که توی مخزن ADK قرار گرفته. این فایل مثل یه راهنمای فشرده و کامل برای کل فریمورک ADK عمل میکنه. این فایل نسبت به قبل ۵۰ درصد کوتاه‌تر شده و فهمش برای مدل‌های زبانی بزرگ (LLM) راحت‌تر شده.

وقتی شما این فایل رو به جمینی سی‌ال‌آی میدین (@llms-full.txt)، این ابزار به یه متخصص ADK تبدیل میشه. یعنی به صورت عمیق و بومی، کل فریمورک رو میفهمه. این باعث میشه که بتونه ایده‌های سطح بالای شما رو مستقیما به کد دقیق و درست برای ساختن ایجنت‌های چندگانه تبدیل کنه. این کار سرعت ساخت نمونه اولیه (prototype) رو به شدت بالا میبره.

مثال عملی: ساختن یه ایجنت برای لیبل‌گذاری ایشوهای گیت‌هاب

بیایین ببینیم این فرایند در عمل چطوریه. فرض کنین میخوایم یه ایجنت هوش مصنوعی بسازیم که ایشوهای گیت‌هاب مخزن ADK رو لیبل‌گذاری کنه.

  1. قدم صفر: دانلود llms-full.txt
    اول این فایل رو از مخزن adk-python گیت‌هاب دانلود میکنین و توی پوشه کاری خودتون قرار میدین.
  2. قدم اول: ایده‌پردازی با جمینی سی‌ال‌آی
    اول از جمینی سی‌ال‌آی به عنوان یه همکار برای طوفان فکری استفاده میکنیم تا یه برنامه سطح بالا بسازیم.

    شما: «من میخوام یه ایجنت هوش مصنوعی با فریمورک ADK بسازم که بهم کمک کنه ایشوهای گیت‌هاب توی ریپوی https://github.com/google/adk-python رو با جمینی لیبل‌گذاری کنم. باید ایشوهای گیت‌هاب رو بخونه و با چندتا لیبل از پیش تعریف شده (لطفا اول چندتا لیبل رایج رو پیشنهاد بده) لیبل‌گذاری کنه. یه برنامه برای انجام این کار بریز. @llms-full.txt»


    جمینی سی‌ال‌آی یه برنامه کامل و چند مرحله‌ای ارائه میده که شامل راه‌اندازی پروژه، نصب کتابخونه‌های لازم، ساخت ابزارهای سفارشی برای گیت‌هاب و تعریف خود ایجنت میشه.
  3. قدم دوم: تبدیل برنامه به کد ADK
    حالا ازش میخوایم که بر اساس همون برنامه، کد رو تولید کنه.

    شما: «عالیه. حالا کد این برنامه رو با استفاده از Python ADK تولید کن. @llms-full.txt»


    جمینی سی‌ال‌آی با ارجاع به فایل llms-full.txt، کد کامل و کاربردی رو تولید میکنه که شامل تعریف ایجنت، ابزارهای گیت‌هاب و فایل‌های جانبی مثل requirements.txt میشه.
  4. قدم‌های بعدی: تست و بهبود
    حالا میشه کد رو به صورت محلی تست کرد. اگه مشکلی داشت یا خواستین چیزی بهش اضافه کنین، فقط کافیه به صورت محاوره‌ای ازش بخواین. مثلا:

    شما: «میتونی یه لیبل جدید به اسم “some_new_label” به ایجنت اضافه کنی؟»


    ابزار کد رو بازنویسی میکنه و تغییر رو اعمال میکنه. این چرخه ایده‌پردازی، تولید کد، تست و بهبود رو میشه اونقدر تکرار کرد تا ایجنت به چیزی که میخواین تبدیل بشه.

بحث و گفتگوها در جامعه برنامه‌نویسی

مثل هر ابزار جدید دیگه‌ای، جمینی سی‌ال‌آی هم به محض معرفی، مورد توجه جامعه برنامه‌نویسی قرار گرفت و بحث‌های زیادی در موردش شکل گرفت. وبلاگ‌ها و سایت‌هایی مثل Hacker News و وبلاگ Simon Willison پر از نظرات مختلف در مورد این ابزار شدن. بیایین یه نگاه بی‌طرف به این نظرات بندازیم.

جایگاه در بین ابزارهای مشابه

سایمون ویلیسون در وبلاگش به این نکته اشاره کرده که الان هر سه آزمایشگاه بزرگ هوش مصنوعی، نسخه خودشون از چیزی که اون بهش میگه «ایجنت ترمینال» (terminal agent) رو دارن. اول Claude Code در فوریه، بعد OpenAI Codex (CLI) در آوریل و حالا Gemini CLI در ژوئن. این نشون میده که این دسته از ابزارها اهمیت زیادی پیدا کردن و برخلاف تصور اولیه، فقط یه علاقه خاص و محدود نیستن.

تجربه‌های کاربری: از موفقیت تا شکست

نظرات کاربران در Hacker News خیلی متنوع بود.

  • تجربه‌های مثبت: یه کاربر به اسم bsenftner تعریف کرده که چطور برای تبدیل یه الگوریتم از روبی (که بلد نبوده) به جاوااسکریپت، بعد از کلی کلنجار ناموفق با GPT-4، با جمینی سی‌ال‌آی تونسته در عرض ۵ دقیقه کار رو انجام بده. کاربری دیگه به اسم dtech هم اشاره کرده که تجربه مشابه و موفقی با Claude Code داشته.
  • تجربه‌های منفی: در مقابل، کاربری به اسم joelm گفته که در یه کدبیس بزرگ راست (Rust)، جمینی سی‌ال‌آی عملکرد ضعیف‌تری نسبت به Claude Code داشته و کدهایی که تولید کرده کامپایل نمیشدن. البته همین کاربر به یه نکته جالب اشاره کرده بود؛ جمینی در یه نقطه گفته: «من کد رو کاملا به هم ریختم. الان همه تغییراتم رو برمیگردونم و از اول شروع میکنم.» که نشون دهنده یه جور خودآگاهی جالبه.
  • مقایسه با ابزارهای دیگه: خیلی از کاربرها این ابزار رو با Claude Code مقایسه کردن. یه کاربر به اسم wohoef گفته که جمینی سی‌ال‌آی برای پروژه‌های بزرگ‌تر، بهتر از Claude Code عمل میکنه و تونسته با دستور «کدبیس رو تحلیل و همه باگ‌ها رو برطرف کن» یه اپلیکیشن رو درست کنه. اما کاربری دیگه به اسم manmal گفته که جمینی سی‌ال‌آی خیلی وقت‌ها در اعمال تغییرات روی فایل‌ها شکست میخوره و این حس عدم اطمینان ایجاد میکنه.

مسائل مربوط به احراز هویت و اکانت‌های Workspace

یکی از بزرگترین مشکلات و بحث‌هایی که مطرح شد، مربوط به احراز هویت با اکانت‌های Google Workspace بود. خیلی از کاربرانی که برای Workspace پول پرداخت میکنن، با این پیام مواجه شدن که باید متغیر محیطی GOOGLE_CLOUD_PROJECT رو تنظیم کنن، در حالی که کاربرهای عادی با اکانت شخصی گوگل به راحتی و رایگان میتونستن از ابزار استفاده کنن.

  • کاربری به اسم ebiester این مشکل رو مطرح کرد و گفت که این موضوع برای کاربرانی که پول پرداخت میکنن، تجربه کاربری خوبی نیست.
  • کاربری به اسم thimabi توضیح داد که به نظر میرسه کاربرهای Workspace باید یه اشتراک جدا به اسم «Gemini for Google Cloud» با قیمت ۱۹ دلار در ماه بخرن تا بتونن از این ابزار استفاده کنن که این موضوع ناامیدکننده است.
  • cperry، یکی از اعضای تیم جمینی سی‌ال‌آی، در ابتدا توضیحاتی داد که به نظر میرسید مشکل در حال حله، اما بعدا حرفش رو تصحیح کرد و گفت که پلن رایگان برای کاربرهای Workspace هنوز پشتیبانی نمیشه و این موضوع در حال پیگیریه. این سردرگمی در مورد قیمت‌گذاری و پلن‌ها یکی از نقدهای اصلی بود.

حریم خصوصی و استفاده از داده‌ها

یکی از نگرانی‌های همیشگی در مورد ابزارهای هوش مصنوعی، حریم خصوصی و نحوه استفاده از داده‌هاست.

  • در شرایط استفاده از ابزار برای کاربرهای رایگان (که از اکانت شخصی گوگل استفاده میکنن)، گفته شده که گوگل پرامپت‌ها، کدهای مرتبط، خروجی تولید شده و بازخوردهای شما رو جمع‌آوری میکنه تا محصولات و خدماتش رو بهبود بده.
  • همچنین گفته شده که برای کنترل کیفیت، ممکنه بازبین‌های انسانی این داده‌ها رو بخونن و بررسی کنن. گوگل میگه برای حفاظت از حریم خصوصی، این داده‌ها رو از اکانت گوگل شما جدا میکنه و تا ۱۸ ماه نگه میداره.
  • این موضوع باعث نگرانی خیلی از کاربرها شد. به خصوص اینکه مشخص نبود آیا راهی برای انصراف (opt-out) از این جمع‌آوری داده وجود داره یا نه. در مستندات به این اشاره شده که میشه از طریق تنظیمات IDE این کار رو انجام داد، اما برای ابزار CLI که IDE نداره، این موضوع مبهم بود.
  • در مقابل، برای پلن‌های پولی (مثل Standard و Enterprise) و کاربرهایی که از کلید API پولی استفاده میکنن، گوگل تعهد داده که بدون اجازه، از داده‌های اون‌ها برای آموزش مدل‌هاش استفاده نکنه.
  • این تفاوت بین کاربرهای رایگان و پولی، و سردرگمی در مورد نحوه انصراف، یکی از داغ‌ترین بحث‌ها در مورد این ابزار بود. تیم جمینی سی‌ال‌آی هم در پاسخ به این نگرانی‌ها، یه سند توضیحی در مورد شرایط استفاده و حریم خصوصی برای هر نوع حساب منتشر کرد تا ابهامات رو برطرف کنه.

ویژگی‌های درخواستی و بازخوردها

کاربرها کلی بازخورد و درخواست برای ویژگی‌های جدید داشتن:

  • ایجنت‌های فرعی (Sub-agent): کاربری به اسم akrauss به یه ویژگی در Claude Code اشاره کرد که به مدل اجازه میده یه پنجره زمینه جدید و تازه برای انجام یه کار فرعی و مشخص باز کنه. این قابلیت عملا مدل رو از یه ایجنت تکی به یه مدل چند ایجنتی سلسله‌مراتبی تبدیل میکنه. این کاربر پیشنهاد داد که این ویژگی به جمینی سی‌ال‌آی هم اضافه بشه.
  • مجوزهای دقیق‌تر: کاربری به اسم bravura یه لیست بلند از درخواست‌ها برای بهبود سیستم مجوزدهی ابزار ارائه داد. مواردی مثل:
    • مجوزهای مبتنی بر الگو (مثلا اجازه دادن به git ولی نه rm).
    • فلگ‌های خط فرمان برای تعیین مجوزها در هر بار اجرا.
    • قوانین اولویت (مثلا رد کردن صریح، اجازه دادن عمومی رو لغو کنه).
  • مشکلات عملکردی: خیلی از کاربرها گزارش دادن که با خطای «تعداد درخواست‌ها بیش از حد مجاز است» (Too Many Requests) مواجه شدن، حتی وقتی که از کلید API پولی استفاده میکردن. بعضی‌ها هم گفتن که ابزار به صورت خودکار از مدل gemini-2.5-pro به مدل ضعیف‌تر gemini-2.5-flash سوییچ میکنه. اعضای تیم توسعه هم تایید کردن که به خاطر استقبال زیاد، با مشکلات ظرفیتی مواجه شدن و در حال کار برای رفعش هستن.

انتخاب زبان برنامه‌نویسی

یه بحث دیگه هم در مورد انتخاب TypeScript/Node.js برای ساخت این ابزار بود. بعضی کاربرها مثل ZeroCool2u میگفتن که ای کاش این ابزار با Go یا Rust نوشته میشد تا یه فایل اجرایی باینری تکی و بدون نیاز به نصب یه ران‌تایم مثل Node.js تولید میکرد. در مقابل، بعضی دیگه میگفتن که استفاده از Node.js باعث شده نصب و استفاده از ابزار خیلی راحت باشه و مشکلات وابستگی کمی داشته باشه.

مراحل بعدی و منابع بیشتر

برای کسایی که به این ابزار علاقه‌مند شدن، چندتا منبع و راهنمای مفید وجود داره:

  • مشارکت در پروژه: اگه دوست دارین در توسعه این ابزار مشارکت کنین یا از روی کد منبعش اون رو بسازین، میتونین راهنمای CONTRIBUTING.md رو توی مخزن گیت‌هاب بخونین.
  • دستورات خط فرمان: برای آشنایی با همه دستورات موجود، میتونین مستندات CLI Commands رو بررسی کنین.
  • راهنمای عیب‌یابی: اگه به مشکلی برخوردین، troubleshooting guide میتونه کمکتون کنه.
  • نقشه راه رسمی: برای اینکه ببینین چه ویژگی‌هایی در آینده قراره به این ابزار اضافه بشه، میتونین به Official Roadmap نگاهی بندازین.
  • حذف ابزار: اگه هم خواستین ابزار رو از روی سیستمتون حذف کنین، یه راهنمای Uninstall برای این کار وجود داره.

منابع

دیدگاه‌ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *