این سند نحوه پیکربندی و استفاده از حالت عامل Gemini Code Assist را به عنوان برنامه نویس جفت در محیط توسعه یکپارچه خود (IDE) توضیح می دهد.
با حالت عامل، می توانید هر یک از موارد زیر و موارد دیگر را انجام دهید:
- در مورد کد خود سوال بپرسید.
- از زمینه و ابزارهای داخلی برای بهبود محتوای تولید شده استفاده کنید.
- سرورهای MCP را برای گسترش توانایی های عامل پیکربندی کنید.
- برای کارهای پیچیده با چند مرحله راه حل دریافت کنید.
- کد را از اسناد طراحی، مسائل و نظرات
TODO
ایجاد کنید. - با اظهار نظر، ویرایش و تایید طرح ها و استفاده از ابزار در حین اجرا، رفتار عامل را کنترل کنید.
محدودیت ها
برخی از ویژگیهای چت استاندارد Gemini Code Assist ممکن است در حالت نماینده در دسترس نباشند یا ممکن است متفاوت از چت استاندارد کار کنند.
تلاوت در حالت عامل موجود نیست. در حالی که در حالت نماینده است، Gemini منابع را ذکر نمی کند و نمی توانید کد پیشنهادی را که با منابع ذکر شده مطابقت دارند غیرفعال کنید .
قبل از شروع
کد VS
- نسخه Gemini Code Assist را که میخواهید در IDE خود استفاده کنید، تنظیم کنید:
IntelliJ
نسخه Gemini Code Assist را که میخواهید در IDE خود استفاده کنید، تنظیم کنید:
از حالت عامل استفاده کنید
در حالت عامل، می توانید از Gemini بخواهید که اهداف سطح بالا و کارهای پیچیده را انجام دهد.
برای استفاده حداکثری از حالت عامل، بهترین روشهای پیشنهادی را دنبال کنید و تا حد امکان جزئیات را ارائه دهید.
برای تغییر به حالت عامل:
کد VS
- برای باز کردن چت Gemini Code Assist، در نوار فعالیت IDE خود، روی spark Gemini Code Assist کلیک کنید.
- برای ورود به حالت عامل، روی کلید Agent کلیک کنید. هنگامی که به حالت نماینده تغییر میکنید، کلید روشن و در چت معمولی خاکستری میشود.
- در چت Gemini Code Assist، درخواست خود را وارد کنید.
Gemini به شما پاسخی به درخواست شما می دهد یا اجازه استفاده از یک ابزار را درخواست می کند.
برای متوقف کردن عامل،
توقف کلیک کنید.برای استفاده از چت استاندارد Gemini Code Assist، روی
گپ جدید کلیک کنید تا یک چت جدید ایجاد شود.حالت عامل Gemini Code Assist توسط Gemini CLI ارائه می شود.
IntelliJ
- روی spark Gemini در نوار پنجره ابزار کلیک کنید. اگر از شما خواسته شد وارد شوید.
- تب Agent را انتخاب کنید.
- وظیفه ای را که می خواهید نماینده انجام دهد را شرح دهید.
همانطور که نماینده مراحل انجام کار را طی می کند، شما می توانید هر تغییری را بررسی و تایید کنید.
اختیاری: برای تأیید خودکار تغییرات، تنظیمات نماینده گزینهها را انتخاب کنید و روی کادر تأیید کنار تأیید تغییرات خودکار کلیک کنید.
ابزارها را برای حالت عامل پیکربندی کنید
ابزارها دسته وسیعی از خدمات هستند که یک نماینده می تواند برای زمینه و اقدامات در پاسخ به درخواست شما از آنها استفاده کند. برخی از ابزارهای نمونه، ابزارهای داخلی مانند خواندن یا نوشتن grep و فایل، سرورهای پروتکل بافت مدل (MCP) محلی یا راه دور و عملکردهای اجرایی آنها یا اجرای خدمات سفارشی هستند.
کنترل استفاده از ابزار داخلی
حالت عامل به ابزارهای داخلی شما مانند جستجوی فایل، خواندن فایل، نوشتن فایل، دستورات ترمینال و غیره دسترسی دارد.
کد VS
می توانید از تنظیمات coreTools
و excludeTools
برای کنترل ابزارهایی که Gemini در حالت عامل به آن دسترسی دارد استفاده کنید.
-
coreTools
- به شما امکان میدهد فهرستی از ابزارهایی را که میخواهید در دسترس مدل قرار گیرند، مشخص کنید. همچنین میتوانید محدودیتهای خاص دستور را برای ابزارهایی که از آن پشتیبانی میکنند، تعیین کنید. به عنوان مثال—افزودن موارد زیر به تنظیمات Gemini JSON تنها به فرمان shell
ls -l
اجازه میدهد تا اجرا شود:"coreTools": ["ShellTool(ls -l)"]
. -
excludeTools
- به شما امکان میدهد فهرستی از ابزارهایی را که نمیخواهید در دسترس مدل باشند، مشخص کنید. همچنین میتوانید محدودیتهای خاص دستور را برای ابزارهایی که از آن پشتیبانی میکنند، تعیین کنید. به عنوان مثال—افزودن موارد زیر به تنظیمات Gemini خود JSON استفاده از دستور
rm -rf
را مسدود می کند:"excludeTools": ["ShellTool(rm -rf)"]
.
ابزاری که هم در excludeTools
و هم coreTools
فهرست شده است مستثنی شده است.
برای پیکربندی ابزارهای داخلی موجود در حالت عامل، موارد زیر را انجام دهید:
- تنظیمات Gemini JSON خود را که در
~/.gemini/settings.json
قرار دارد، باز کنید، جایی که~
فهرست اصلی شما است. برای محدود کردن استفاده از ابزار عامل به لیستی از ابزارهای تایید شده، خط زیر را به تنظیمات Gemini JSON خود اضافه کنید:
"coreTools": ["TOOL_NAME_1,TOOL_NAME_2"]
TOOL_NAME_1
وTOOL_NAME_2
را با نام ابزارهای داخلی که میخواهید نماینده به آنها دسترسی داشته باشد، جایگزین کنید.می توانید هر تعداد ابزار داخلی را که می خواهید فهرست کنید. به طور پیش فرض تمام ابزارهای داخلی در دسترس نماینده هستند.
برای محدود کردن استفاده از ابزار عامل به دستورات ابزار خاص، خط زیر را به تنظیمات Gemini JSON خود اضافه کنید:
"coreTools": ["TOOL_NAME(COMMAND)"]
موارد زیر را جایگزین کنید:
-
TOOL_NAME
: نام ابزار داخلی -
COMMAND
: نام دستور ابزار داخلی که می خواهید عامل بتواند از آن استفاده کند.
-
برای حذف یک ابزار از استفاده از عامل، خط زیر را به تنظیمات Gemini JSON خود اضافه کنید:
"excludeTools": ["TOOL_NAME_1,TOOL_NAME_2"]
TOOL_NAME_1
وTOOL_NAME_2
را با نام ابزارهای داخلی که میخواهید از استفاده نماینده حذف کنید، جایگزین کنید.برای حذف یک دستور ابزار از استفاده از عامل، خط زیر را به تنظیمات Gemini JSON خود اضافه کنید:
"excludeTools": ["TOOL_NAME(COMMAND)"]
موارد زیر را جایگزین کنید:
-
TOOL_NAME
: نام ابزار داخلی -
COMMAND
: نام دستور ابزار داخلی که می خواهید از استفاده عامل حذف شود.
-
برای اطلاعات بیشتر در مورد تنظیمات پیکربندی coreTools
و excludeTools
، به مستندات پیکربندی Gemini CLI مراجعه کنید.
IntelliJ
این ویژگی در Gemini Code Assist برای IntelliJ یا سایر IDE های JetBrains پشتیبانی نمی شود.
سرورهای MCP را پیکربندی کنید
کد VS
برای در دسترس قرار دادن سرورهای MCP برای استفاده در حالت عامل، پیکربندی هر سرور را در فایل JSON تنظیمات Gemini خود، با توجه به مستندات هر سرور، اضافه کنید.
- هر وابستگی مورد نیاز سرورهای MCP را که اضافه می کنید نصب کنید.
- فایل JSON تنظیمات Gemini خود را باز کنید، واقع در
~/.gemini/settings.json
که در آن~
فهرست اصلی شما است. طبق دستورالعمل های هر سرور، هر سرور MCP محلی یا راه دور را در فایل JSON تنظیمات Gemini پیکربندی کنید.
مثال زیر دو سرور Cloudflare MCP راه دور اضافه می کند و سرورهای GitHub و GitLab را برای اجرا در ماشین محلی پیکربندی می کند.
{ "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345" } }, "gitlab": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-gitlab"] }, "cloudflare-observability": { "command": "npx", "args": ["mcp-remote", "https://observability.mcp.cloudflare.com/sse"] }, "cloudflare-bindings": { "command": "npx", "args": ["mcp-remote", "https://bindings.mcp.cloudflare.com/sse"] } } }
پالت فرمان را باز کرده و Developer: Reload Window را انتخاب کنید.
سرورهای MCP پیکربندی شده شما برای استفاده در حالت عامل در دسترس هستند.
IntelliJ
برای در دسترس قرار دادن سرورهای MCP برای استفاده در حالت عامل، پیکربندی هر سرور را در یک فایل mcp.json
اضافه کنید و فایل mcp.json
را در دایرکتوری پیکربندی برای IDE خود قرار دهید.
- هر وابستگی مورد نیاز سرورهای MCP را که اضافه می کنید نصب کنید.
- فایلی به نام
mcp.json
در فهرست پیکربندی IDE خود ایجاد کنید. طبق دستورالعمل هر سرور، هر سرور MCP محلی یا راه دور را در فایل
mcp.json
پیکربندی کنید.مثال زیر دو سرور Cloudflare MCP راه دور اضافه می کند و سرورهای GitHub و GitLab را برای اجرا در ماشین محلی پیکربندی می کند.
{ "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345" } }, "gitlab": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-gitlab"] }, "cloudflare-observability": { "command": "npx", "args": ["mcp-remote", "https://observability.mcp.cloudflare.com/sse"] }, "cloudflare-bindings": { "command": "npx", "args": ["mcp-remote", "https://bindings.mcp.cloudflare.com/sse"] } } }
سرورهای MCP پیکربندی شده شما برای استفاده در حالت عامل در دسترس هستند.
احراز هویت سرور MCP
برخی از سرورهای MCP نیاز به احراز هویت دارند. مستندات سرور را دنبال کنید تا توکن های مورد نیاز کاربر را ایجاد کنید و سپس آنها را به طور مناسب مشخص کنید. سرورهای محلی ممکن است متغیرهای محیطی را بپذیرند. سرورهای راه دور ممکن است اعتبارنامه ها را در هدرها بپذیرند.
کد VS
برای سرورهای MCP که نیاز به احراز هویت دارند، میتوانید آنها را به تنظیمات جمینی JSON خود اضافه کنید.
مثال زیر نحوه تعیین رمز دسترسی شخصی برای سرورهای MCP محلی و راه دور GitHub را نشان می دهد:
{
"mcpServers": {
"github-remote": {
"httpUrl": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer ACCESS_TOKEN"
}
},
"github-local": {
"command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
}
}
}
}
جایی که ACCESS_TOKEN
نشانه دسترسی کاربر است.
IntelliJ
برای سرورهای MCP که نیاز به احراز هویت دارند، می توانید آنها را به فایل mcp.json
خود اضافه کنید.
مثال زیر یک نشانه دسترسی شخصی برای سرور محلی GitHub اضافه می کند:
{
"mcpServers": {
"github-local": {
"command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
}
}
}
}
جایی که ACCESS_TOKEN
نشانه دسترسی کاربر است.
یک فایل زمینه ایجاد کنید
زمینه به یک عامل اجازه می دهد تا پاسخ های بهتری را برای یک درخواست داده شده ایجاد کند. متن را میتوان از فایلهای IDE، فایلهای موجود در پوشههای سیستم محلی، پاسخهای ابزار و جزئیات درخواستیتان گرفت. برای اطلاعات بیشتر، به زمینه حالت عامل مراجعه کنید.
کد VS
فایلی به نام
GEMINI.md
در مکانی ایجاد کنید که با محدوده مورد نظر شما مطابقت داشته باشد. جدول زیر مکان های فایل های زمینه را برای حوزه های مختلف توضیح می دهد:دامنه مکان تمام پروژه های شما ~/.gemini/GEMINI.md
یک پروژه خاص دایرکتوری کاری شما یا هر دایرکتوری والد تا ریشه پروژه (که توسط یک پوشه .git
مشخص می شود) یا فهرست اصلی شما.یک جزء، ماژول یا زیربخش خاص از یک پروژه زیر شاخه های دایرکتوری کاری شما. سیستم حافظه عامل با بارگیری فایل های زمینه از چندین مکان ایجاد می شود. متن فایلهای خاصتر، مانند موارد مربوط به مؤلفهها یا ماژولهای خاص، محتوای فایلهای زمینه عمومیتر مانند فایل زمینه کلی در
~/.gemini/GEMINI.md
را لغو یا تکمیل میکند.هر قانون، اطلاعات راهنمای سبک یا زمینه ای را که می خواهید عامل در Markdown استفاده کند، بنویسید و فایل را ذخیره کنید. برای اطلاعات بیشتر، به نمونه فایل زمینه در GitHub مراجعه کنید.
عامل شامل اطلاعات موجود در فایل زمینه شما به همراه هر درخواستی است که برای آن ارسال می کنید.
IntelliJ
یک فایل با نام
GEMINI.md
یاAGENT.md
در ریشه پروژه خود ایجاد کنید.هر قانون، اطلاعات راهنمای سبک یا زمینه ای را که می خواهید عامل در Markdown استفاده کند، بنویسید و فایل را ذخیره کنید.
عامل شامل اطلاعات موجود در فایل زمینه شما به همراه هر درخواستی است که برای آن ارسال می کنید. همچنین میتوانید با اضافه کردن یک فایل به صورت دستی با نحو FILENAME
@
که در آن FILENAME
نام فایل با اطلاعات زمینهای است که میخواهید شامل شود، زمینه اضافه کنید.
از دستورات استفاده کنید
دستورات اسلش /
به شما امکان می دهد دستورات مشابه دستورات را در پنجره ترمینال به سرعت اجرا کنید.
کد VS
می توانید از دستورات Gemini CLI زیر در حالت عامل استفاده کنید:
-
/tools
: فهرستی از ابزارهایی را که در جلسه حالت عامل شما در دسترس هستند را نمایش می دهد. -
/mcp
: سرورهای پیکربندی شده پروتکل بافت مدل (MCP)، وضعیت اتصال آنها، جزئیات سرور و ابزارهای موجود را فهرست می کند.
برای اطلاعات بیشتر در مورد دستورات Gemini CLI، به دستورات Gemini CLI مراجعه کنید. توجه داشته باشید که همه دستورات Gemini CLI در حالت عامل در دسترس نیستند.
IntelliJ
این ویژگی در Gemini Code Assist برای IntelliJ یا سایر IDE های JetBrains پشتیبانی نمی شود.
همیشه به اقدامات نماینده اجازه دهید
میتوانید بهطور خودکار به همه اقدامات عامل اجازه دهید.
برای مجاز کردن خودکار تمام اقدامات عامل:
کد VS
از حالت yolo استفاده کنید تا به طور خودکار تمام اقدامات عامل مجاز باشد. حالت Yolo فقط در یک فضای کاری قابل اعتماد قابل استفاده است.
برای پیکربندی حالت yolo:
فایل JSON تنظیمات کاربر VS Code خود را باز کنید:
- پالت Command (
ctrl
/command
+Shift
+P
) را باز کنید. - تنظیمات برگزیده را انتخاب کنید: تنظیمات کاربر (JSON) را باز کنید .
- پالت Command (
موارد زیر را به فایل JSON تنظیمات کاربر VS Code خود اضافه کنید:
//other settings... "geminicodeassist.agentYoloMode": true, //other settings...
پالت فرمان را باز کرده و Developer: Reload Window را انتخاب کنید.
حالت نماینده از حالت yolo استفاده میکند و قبل از انجام اقداماتی که برای آن درخواست ارسال میکنید، اجازه نمیخواهد. هنگام استفاده از یک فضای کاری محدود ، نماینده قبل از انجام اقدامات بدون توجه به این تنظیم، از شما درخواست می کند.
IntelliJ
برای تأیید خودکار تغییرات، در برگه نماینده چت Gemini، تنظیمات نماینده گزینهها را انتخاب کنید و سپس روی کادر تأیید کنار تأیید تغییرات خودکار کلیک کنید.
حالت نماینده به طور خودکار همه درخواستها را تأیید میکند و قبل از انجام اقداماتی که درخواستی برای آن ارسال میکنید، اجازه نمیخواهد.
درخواست های اضافی
دستورات زیر را با اطلاعات خود امتحان کنید:
- "این مخزن چه کاری انجام می دهد؟ به من در درک معماری کمک کنید."
- "این [کلاس/عملکرد] چه می کند؟"
- "یک ویژگی به این پایگاه کد - "[link-or-path-to-codebase]" اضافه کنید."
- "توابع Refactor [A] و [B] برای استفاده از روش رایج [C]."
- "مشکل GitHub [link-to-github-issue] را برطرف کنید."
- "یک برنامه کاربردی برای انجام [هدف] با یک رابط کاربری بسازید که به کاربر اجازه می دهد [وظیفه] را در [محیط] انجام دهد."
- "نسخه های کتابخانه موجود در این مخزن را از [X] به [Y] منتقل کنید."
- "عملکرد این کد Go را بهینه کنید تا سریعتر اجرا شود."
- "از [name-of-API] برای ایجاد این ویژگی استفاده کنید."
- "الگوریتمی را برای انجام [x]، [Y] و [Z] اجرا کنید."
بعدش چی
- مرور کلی Gemini Code Assist را بخوانید.
- چند نمونه از سرورهای MCP را کاوش کنید.
- سرورهای MCP بیشتری را در GitHub بیابید.
- از IDE خود بازخورد ارسال کنید .