Cline AI چیست؟ آموزش نصب در VS Code و استفاده امن از Agent کدنویسی

در این راهنمای عملی Cline را در VS Code نصب و راه‌اندازی می‌کنید، تفاوت Plan و Act را می‌آموزید، مجوزها و Checkpointها را امن تنظیم می‌کنید و یک تغییر واقعی را مرحله‌به‌مرحله تحویل می‌دهید.

یک تکمیل‌کننده کد معمولاً چند خط کنار Cursor پیشنهاد می‌دهد؛ اما می‌تواند ساختار پروژه را بررسی کند، چند فایل مرتبط را تغییر دهد، فرمان Test را اجرا کند و از خروجی خطا برای مرحله بعد استفاده کند. این قدرت زمانی مفید است که مرز دسترسی، نقطه تأیید و روش بازگشت از تغییر اشتباه روشن باشد.

یک متن‌باز برای IDE و Terminal است. در این مقاله روی افزونه تمرکز می‌کنیم: نصب، اتصال Provider، استفاده از Plan و Act، بررسی Diff، مدیریت Checkpoint و تعریف Rule پروژه. سناریوی عملی ما افزودن Validation به یک API کوچک است؛ اما Workflow برای بیشتر Stackها یکسان می‌ماند.

AI چیست؟

می‌تواند فایل‌های Workspace را بخواند، تغییر چندفایلی پیشنهاد کند، فرمان Terminal اجرا کند و خطاهای Build یا Linter را ببیند. تجربه آن در پنل گفتگو ارائه می‌شود و ویرایش‌ها به‌صورت Diff قابل بررسی‌اند. برخلاف Chat جدا از Repository، Context از پروژه واقعی می‌آید و کاربر لازم نیست تمام فایل‌ها را در پیام کپی کند.

این دسترسی مسئولیت تازه‌ای ایجاد می‌کند. بخشی از کد یا Context ممکن است به Provider انتخابی فرستاده شود؛ بنابراین پیش از بازکردن Repository سازمانی، سیاست داده، قرارداد Provider و وجود Secret در Workspace را بررسی کنید. تضمین نمی‌کند خروجی همیشه درست یا امن باشد؛ Review و Test همچنان وظیفه توسعه‌دهنده است.

چه کارهایی انجام می‌دهد؟

  • کاوش فایل‌ها و یافتن ارتباط میان بخش‌های پروژه
  • ساخت یا ویرایش چند فایل همراه با Diff قابل بررسی
  • اجرای Build، Test، Linter و فرمان‌های توسعه
  • جداسازی برنامه‌ریزی و اجرا با Plan و Act
  • ثبت Checkpoint برای مقایسه یا بازگردانی فایل‌ها
  • پشتیبانی از Providerها و مدل‌های گوناگون
  • اعمال Ruleهای اختصاصی Repository برای سبک و Workflow تیم
معیارتکمیل‌کننده کد به‌عنوان Agent
دامنه Contextفایل و Cursor جاریچند فایل و ساختار Workspace
نوع خروجیپیشنهاد خط یا تابعPlan، Diff چندفایلی و اجرای فرمان
چرخه بازخوردپذیرش دستی پیشنهادخواندن خروجی Build و ادامه اصلاح
ریسکمحدود به کد پذیرفته‌شدهوابسته به مجوز فایل، Terminal، Browser و MCP
روش کنترلمرور InlineApproval، Diff، Checkpoint و Test

برای تکمیل یک شرط ساده، Inline Completion سریع‌تر است. برای Refactor چندفایلی یا Feature دارای معیار پذیرش روشن، Agent می‌تواند رفت‌وبرگشت را کم کند. ابزار را بر اساس اندازه و ریسک کار انتخاب کنید، نه فقط تازگی آن.

پیش‌نیاز نصب در

نسخه به‌روز ، یک پوشه پروژه و Git را آماده کنید. Checkpoint جای Commit تیمی را نمی‌گیرد و Git نیز جای Snapshot مرحله‌ای Agent نیست؛ هر دو لایه ارزش دارند. پیش از شروع Branch جدا بسازید و Baseline تست را ثبت کنید تا شکست قبلی با خروجی Agent مخلوط نشود.

prepare-workspace.shBash
git statusgit switch -c feature/validate-profilenpm testnpm run lint
UTF-8Bash

فرمان‌ها را با Script واقعی پروژه جایگزین کنید. اگر Test پیش از ورود Agent شکست می‌خورد، نتیجه را ثبت کنید. Secretها، فایل‌های Environment، Backup و Dump پایگاه داده را نیز از Workspace آموزشی خارج کنید.

نصب افزونه

  1. در پنل Extensions را باز کنید.
  2. عبارت را جست‌وجو و Publisher افزونه را بررسی کنید.
  3. افزونه رسمی را نصب و پنل را از Activity Bar باز کنید.
  4. روش اتصال Provider یا ورود ارائه‌شده در تنظیمات را انتخاب کنید.
  5. یک پروژه کم‌ریسک را باز و نخستین Task را در Plan Mode آغاز کنید.

فقط به یک Provider محدود نیست. انتخاب Provider مشخص می‌کند چه مدلی پاسخ می‌دهد، داده به کدام سرویس ارسال می‌شود و هزینه یا Context چگونه محاسبه می‌شود. قبل از اتصال پروژه سازمانی، شرایط داده و سیاست Provider را با مقررات تیم تطبیق دهید.

مدیریت امن API Key

اگر Provider از API Key استفاده می‌کند، کلید را در Source، Rule، Prompt، Screenshot یا Repository نگذارید. از روش ذخیره‌سازی افزونه و Secret Store سیستم استفاده کنید. Scope و سقف هزینه را محدود کنید و اگر کلید در Log یا Commit دیده شد، آن را فوراً باطل و جایگزین کنید.

مدل محلی می‌تواند خروج داده را کاهش دهد، ولی به‌تنهایی را تضمین نمی‌کند. Server محلی نباید بی‌دلیل روی شبکه عمومی Listen کند. برای شروع می‌توانید آموزش نصب امن Ollama در ویندوز را بخوانید.

Plan Mode و Act Mode

در Plan Mode، Repository را بررسی و راه‌حل را با شما طراحی می‌کند، اما فایل‌ها را تغییر نمی‌دهد و فرمان اجرایی نمی‌زند. این حالت برای شناخت Codebase، یافتن فایل‌های اثرپذیر، تعیین Edge Case و توافق بر معیار پذیرش مناسب است.

در Act Mode، Agent برنامه توافق‌شده را اجرا می‌کند: فایل می‌سازد یا ویرایش می‌کند، فرمان می‌زند و بر اساس نتیجه پیش می‌رود. Context هنگام جابه‌جایی Mode حفظ می‌شود؛ بنابراین توضیحات را از ابتدا تکرار نمی‌کنید.

سناریوMode مناسبدلیل
شناخت Repository ناآشناPlanبررسی بدون تغییر فایل
تصمیم معماریPlanمقایسه Trade-off پیش از اجرا
رفع Typo روشنActدامنه کوچک و راه‌حل مشخص
افزودن Endpoint چندفایلیPlan سپس Actنیاز به قرارداد و Test
رفع خطای Build پس از تغییرActچرخه اصلاح مشخص

Plan خوب باید فایل‌های احتمالی، قرارداد ورودی و خروجی، موارد خارج از Scope، Testهای لازم و خطر Compatibility را مشخص کند. اگر فقط می‌گوید «کد را بهتر می‌کنم»، پیش از Act سؤال دقیق‌تر بپرسید.

سناریوی عملی: Validation برای API

فرض کنید API پروفایل کاربر را به‌روزرسانی می‌کند. نام خالی باید رد شود، طول نام محدود باشد، رفتار سایر Fieldها تغییر نکند و Test اضافه شود. Prompt باید Outcome و محدودیت را تعریف کند، نه اینکه همه راه‌حل را دیکته کند.

task-prompt.mdMarkdown
در Plan Mode مسیر update profile را پیدا کن.نام خالی یا فقط شامل فاصله باید با 400 رد شود.حداکثر طول نام 80 کاراکتر است.قرارداد سایر فیلدها و Schema دیتابیس تغییر نکند.ابتدا فایل‌های اثرپذیر و Testهای لازم را فهرست کن.پیش از Act هیچ فایل یا Dependency را تغییر نده.
UTF-8Markdown

پس از Plan بررسی کنید Agent مسیر واقعی درخواست و Test Framework پروژه را پیدا کرده باشد. اگر نصب Library تازه پیشنهاد می‌دهد، بپرسید آیا Validator موجود کافی است. Dependency جدید هزینه نگه‌داری و سطح حمله را افزایش می‌دهد.

معیار پذیرش قابل سنجش

  • نام خالی و Whitespace با Status مشخص رد شود.
  • نام 80 کاراکتری پذیرفته و 81 کاراکتری رد شود.
  • پیام خطا ساختار موجود API را حفظ کند.
  • Testهای قبلی بدون تغییر غیرضروری سبز بمانند.
  • هیچ Migration یا تغییر Configuration ایجاد نشود.

وقتی معیار پذیرش قابل اجراست، می‌تواند Build و Test را به‌عنوان شواهد بیاورد. عبارت مبهم «Validation حرفه‌ای کن» دامنه کار را باز می‌گذارد و مرور را دشوار می‌کند.

بررسی Diff پیش از تأیید

هر ویرایش را مانند Pull Request مرور کنید. سبزبودن Syntax کافی نیست. مسیر Error، سازگاری API، Logging حساس، Query اضافه، رفتار Concurrent و پوشش Test را بسنجید.

بخش Diffپرسش مرورنشانه خطر
Dependencyآیا لازم و معتبر است؟Package ناشناخته برای کار ساده
Routeآیا Contract قبلی حفظ شده؟تغییر پاسخ نامرتبط
ValidationBoundaryها پوشش داده شده‌اند؟فقط Happy Path
LogToken یا PII چاپ می‌شود؟ثبت Body کامل
Testرفتار را می‌سنجد؟Mock زیاد و Assertion ضعیف

اگر تغییر درست نیست، Reject کنید و دلیل مشخص بدهید؛ مثلاً «Dependency جدید را حذف کن و از Validator موجود استفاده کن». بازخورد دقیق مانع تکرار کل Task می‌شود.

Checkpoint چگونه کار می‌کند؟

پس از Tool Useهایی مانند ویرایش یا اجرای فرمان، Snapshot فایل‌ها را می‌سازد. Snapshotها در Shadow Git جدا از Repository اصلی نگه‌داری می‌شوند؛ History اصلی آلوده نمی‌شود و فایل Trackنشده هم می‌تواند ثبت شود.

Compare تفاوت مرحله را در Diff Viewer نشان می‌دهد. Restore Files فایل‌ها را برمی‌گرداند و گفتگو را حفظ می‌کند. Restore Task Only پیام‌های بعدی را کنار می‌گذارد ولی فایل‌ها را نگه می‌دارد. Restore Files & Task هر دو را برمی‌گرداند.

Checkpoint، Backup دائمی نیست. برای تحویل تیمی همچنان Branch، Commit، Pull Request و Pipeline لازم است. در Workspace چندریشه‌ای طبق مستندات رسمی Checkpoint محدودیت دارد و ممکن است غیرفعال باشد؛ در این حالت بیشتر به Git تکیه کنید.

Auto Approve و اصل حداقل دسترسی

Auto Approve تعیین می‌کند کدام Toolها بدون سؤال اجرا شوند: خواندن، ویرایش، Terminal، Browser یا MCP. فعال‌کردن همه دسته‌ها سرعت را بالا می‌برد اما مرز کنترل انسانی را حذف می‌کند.

دسترسیپیش‌فرض پیشنهادیزمان گسترش
Read project filesفعال برای پروژه غیرحساستحلیل Codebase
Read all filesغیرفعالفقط با مسیر روشن
Edit project filesنیازمند تأییدBranch ایزوله و Task تکراری
Edit all filesغیرفعالتقریباً هیچ‌گاه
Execute commandsنیازمند تأییدBuild و Test شناخته‌شده
Browser و MCPغیرفعالTool و مقصد مورد اعتماد

YOLO Mode همه تأییدها را کنار می‌گذارد و می‌تواند ویرایش، فرمان، Browser و MCP را خودکار کند. آن را روی سیستم اصلی، Repository دارای Secret یا محیط متصل به Production فعال نکنید. برای Demo فقط محیط دورریختنی و بدون Credential مناسب است.

تعریف Rule پروژه

Ruleها Context پایدار درباره Convention و Workflow می‌دهند. فرمان Test، ممنوعیت Migration، سبک Error Handling و فایل‌های Generated را در Rule کوتاه بنویسید. Rule نباید Secret داشته باشد.

.clinerules/project.mdMarkdown
# Project rules- Inspect existing tests before editing.- Do not add dependencies without approval.- Do not modify database migrations.- Keep API errors backward compatible.- Run npm test and npm run lint.- Never print secrets or full request bodies.- Summarize files and verification evidence.
UTF-8Markdown

Rule خوب کوتاه، قابل آزمون و خاص Repository است. سیاست امنیتی بحرانی را علاوه بر Rule در CI، Permission، Branch Protection و Review انسانی Enforcement کنید؛ Prompt کنترل امنیتی قطعی نیست.

Workflow پیشنهادی روزانه

  1. Branch و Baseline سالم بسازید.
  2. Task را با یک Goal، محدودیت و معیار پذیرش تعریف کنید.
  3. در Plan Mode فایل‌ها و خطرها را شناسایی کنید.
  4. Plan و موارد خارج از Scope را اصلاح کنید.
  5. در Act هر Diff و فرمان را بخوانید.
  6. Test هدفمند و سپس Suite مرتبط را اجرا کنید.
  7. Git Diff نهایی را مستقل از خلاصه Agent مرور کنید.
  8. Commit کوچک بسازید و Pull Request را به Review انسانی بدهید.

برای مرز میان کمک Agent و مسئولیت مهندس، راهنمای وایب کدینگ امن را ببینید. اگر کار شما در Terminal است، آموزش Codex CLI در ویندوز مسیر مکملی است.

خطرهای امنیتی مهم

Prompt Injection از فایل یا وب

متن Issue، README، Comment یا صفحه وب می‌تواند از Agent بخواهد Secret را بخواند یا فرمان نامرتبط بزند. این متن‌ها داده‌اند، نه دستور مورد اعتماد. Task اصلی و Rule باید مرجع باشند و هر Tool Call حساس جداگانه بررسی شود.

انتشار ناخواسته Secret

Agent ممکن است برای Debug فایل Environment، Header یا Log را بخواند و بخشی از آن وارد Context Provider شود. فایل حساس را از Workspace خارج، دسترسی را محدود و Log را Redact کنید. اگر Credential افشا شد، پاک‌کردن پیام کافی نیست؛ آن را Rotate کنید.

فرمان مخرب و Supply Chain

پیش از فرمان، مسیر هدف و Flag را بخوانید. حذف Recursive، نصب Global، Push یا اتصال Production کنترل ویژه می‌خواهد. نام Package پیشنهادی را در Registry رسمی بررسی کنید؛ خطای املایی کوچک می‌تواند Typosquatting باشد.

خطاهای رایج

نشانهعلتراه اصلاح
فایل نامرتبط تغییر می‌کندScope مبهمفایل و خارج از Scope را در Plan مشخص کنید
Context سریع مصرف می‌شودTask بزرگیک Goal در هر Task
فرمان متوقف می‌شودApproval یا ورودی تعاملیاثر فرمان را بررسی کنید
Checkpoint کند استRepository بزرگفایل Generated را مدیریت کنید
پاسخ با Library سازگار نیستContext قدیمیVersion و مستندات رسمی را بدهید
Test سبز ولی Feature خراب استمعیار ناقصBoundary و Failure واقعی اضافه کنید

چک‌لیست پذیرش خروجی

  1. Diff فقط فایل‌های لازم را تغییر داده است.
  2. Dependency جدید دلیل و منبع معتبر دارد.
  3. Secret، Token، PII یا Log حساس اضافه نشده است.
  4. Error و Boundary با Test پوشش داده شده‌اند.
  5. Migration یا تنظیم Production بدون درخواست ایجاد نشده است.
  6. Build و Test واقعی اجرا شده‌اند.
  7. Test جدید با Failure کنترل‌شده اعتبارسنجی شده است.
  8. Git Diff مستقل از خلاصه Agent مرور شده است.
  9. Commit کوچک و قابل Revert است.
  10. Reviewer می‌تواند دلیل تغییر را توضیح دهد.

جمع‌بندی

فاصله گفتگو و اجرای واقعی در Repository را کم می‌کند: پروژه را می‌خواند، Plan می‌سازد، Diff پیشنهاد می‌دهد، فرمان اجرا می‌کند و با Checkpoint بازگشت را ممکن می‌سازد. همین توانایی‌ها ضرورت کنترل مجوز، حفاظت Secret و Review مستقل را بیشتر می‌کنند.

شروع مطمئن ساده است: Repository آزمایشی، Branch جدا، Plan Mode، Auto Approve محدود، Rule کوتاه و معیار پذیرش قابل اجرا. پس از هر تغییر، Diff و Test را خودتان بررسی کنید و شواهد را بپذیرید، نه اطمینان لفظی Agent را.

یک Task کوچک و قابل آزمون انتخاب کن، آن را ابتدا در Plan Mode به بده و فقط پس از بررسی فایل‌های اثرپذیر وارد Act Mode شو.

منابع رسمی