Aider چیست؟ آموزش نصب و اتصال دستیار کدنویسی Aider به API درواره

آموزش نصب و استفاده از Aider، دستیار کدنویسی متن‌باز و ترمینال‌محور، برای ویرایش کد، اجرای تست و کار با Git؛ همراه با روش اتصال Aider به مدل‌های هوش مصنوعی از طریق API درواره.

Share
آموزش نصب Aider و اتصال دستیار کدنویسی هوش مصنوعی به API درواره

Aider یک دستیار برنامه‌نویسی هوش مصنوعی متن‌باز است که مستقیماً داخل ترمینال اجرا می‌شود. این ابزار می‌تواند فایل‌های پروژه را بخواند، چند فایل مرتبط را هم‌زمان ویرایش کند، با Git کار کند، تست‌ها را اجرا کند و تغییرات ایجادشده را به شکل دقیق نمایش دهد.

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

یکی از مزایای مهم Aider این است که به سرویس‌های دارای API سازگار با OpenAI متصل می‌شود. بنابراین می‌توانید آن را با آدرس یکپارچه درواره به مدل‌های مختلف کدنویسی و مدل‌های زبانی متصل کنید.

در این راهنما مراحل زیر را بررسی می‌کنیم:

  • نصب Aider در ویندوز، لینوکس و macOS
  • اتصال Aider به API درواره
  • انتخاب مدل هوش مصنوعی
  • استفاده از Aider در یک پروژه واقعی
  • مدیریت فایل‌ها و Repository Map
  • اجرای تست و Lint
  • کار با Git و بازگرداندن تغییرات
  • تنظیم Architect Mode
  • کاهش مصرف توکن و هزینه API
  • رفع خطاهای رایج

Aider چیست؟

Aider خود را یک ابزار «برنامه‌نویسی دونفره با هوش مصنوعی در ترمینال» معرفی می‌کند. این ابزار از طریق خط فرمان اجرا می‌شود و می‌تواند با مدل‌های هوش مصنوعی مختلف ارتباط برقرار کند.

Aider به‌صورت متن‌باز توسعه داده شده و مخزن آن با مجوز Apache 2.0 در GitHub قرار دارد. این ابزار برای زبان‌های متعددی مانند Python، JavaScript، TypeScript، Java، Go، Rust، PHP، Ruby، C#، C++، HTML و CSS قابل استفاده است.

قابلیت‌های اصلی Aider عبارت‌اند از:

  • ویرایش مستقیم فایل‌های پروژه
  • اعمال تغییرات هماهنگ روی چند فایل
  • شناخت ساختار مخزن کد
  • ساخت خودکار Git Commit
  • نمایش Diff تغییرات
  • اجرای دستورهای تست و Lint
  • نوشتن تست‌های واحد
  • رفع خطا و بازنویسی کد
  • اضافه‌کردن قابلیت جدید به پروژه
  • توضیح کدهای موجود
  • اتصال به APIهای سازگار با OpenAI

براساس مستندات رسمی Aider، این ابزار می‌تواند به مدل‌هایی متصل شود که از یک endpoint سازگار با OpenAI استفاده می‌کنند.

Aider چه تفاوتی با چت‌بات‌های معمولی دارد؟

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

Aider داخل پوشه پروژه اجرا می‌شود و تغییرات را روی فایل‌های واقعی اعمال می‌کند.

ویژگیچت‌بات عمومیAider
دسترسی به ساختار پروژهمحدود به فایل‌های ارسال‌شدهدارای Repository Map
ویرایش مستقیم فایلمعمولاً ندارددارد
تغییر چند فایل مرتبطنیازمند کپی دستیبه‌صورت هماهنگ
یکپارچگی با Gitمعمولاً ندارددارد
اجرای تست و Lintمعمولاً دستیقابل تنظیم
نمایش Diffمحدوددارد
محیط اصلی استفادهمرورگر یا اپلیکیشنترمینال پروژه

Aider جایگزین کامل برنامه‌نویس نیست. وظیفه آن سریع‌ترکردن تحلیل، ویرایش، تست و بازنویسی کد است. توسعه‌دهنده همچنان باید تغییرات، تست‌ها و رفتار نهایی نرم‌افزار را بررسی کند.

Aider برای چه کارهایی مناسب است؟

اضافه‌کردن قابلیت جدید

می‌توانید از Aider بخواهید یک endpoint، صفحه، کامپوننت یا سرویس جدید به برنامه اضافه کند.

برای مثال:

یک endpoint جدید با مسیر /api/orders ایجاد کن که سفارش‌های کاربر
احراز هویت‌شده را با صفحه‌بندی برگرداند. ساختار فعلی پروژه و الگوی
پاسخ endpointهای دیگر را رعایت کن و تست‌های آن را هم بنویس.

رفع خطا

شرح خطا، Stack Trace و فایل‌های مرتبط را در اختیار Aider قرار دهید و از آن بخواهید ابتدا علت خطا را پیدا کند.

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

بازنویسی کد

Aider برای تقسیم تابع‌های بزرگ، حذف کد تکراری و بهبود ساختار پروژه قابل استفاده است.

تولید تست

می‌توانید فایل اصلی و فایل تست را به جلسه اضافه کنید و سناریوهای موردنظر را دقیقاً مشخص کنید.

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

پس از تغییر API، از Aider بخواهید README، توضیحات endpoint و مثال‌های استفاده را نیز اصلاح کند.

پیش‌نیازهای نصب Aider

برای اجرای این آموزش به موارد زیر نیاز دارید:

  • Python
  • Git
  • ترمینال یا PowerShell
  • یک پروژه برنامه‌نویسی
  • کلید API درواره
  • شناسه یک مدل مناسب برنامه‌نویسی

برای دریافت کلید و مشاهده مدل‌های در دسترس، به مستندات API درواره مراجعه کنید.

آموزش نصب Aider

روش پیشنهادی مستندات رسمی، استفاده از بسته aider-install است:

python -m pip install aider-install
aider-install

این نصب‌کننده Aider را در محیط جداگانه‌ای قرار می‌دهد و در صورت نیاز نسخه مناسب Python را نیز نصب می‌کند. جزئیات روش‌های نصب در راهنمای رسمی نصب Aider ارائه شده است.

پس از نصب، نسخه برنامه را بررسی کنید:

aider --version

اگر فرمان aider شناسایی نشد، ترمینال را ببندید و دوباره باز کنید. همچنین می‌توانید این دستور را آزمایش کنید:

python -m aider --version

نصب Aider با uv

روش دیگر، نصب با uv است:

python -m pip install uv
uv tool install --force --python python3.12 --with pip aider-chat@latest

نصب Aider با pipx

python -m pip install pipx
pipx install aider-chat

مزیت uv و pipx این است که وابستگی‌های Aider را از بسته‌های پروژه اصلی جدا نگه می‌دارند.

آماده‌سازی پروژه برای Aider

ابتدا وارد پوشه پروژه شوید:

cd path/to/your-project

وضعیت Git را بررسی کنید:

git status

اگر پروژه هنوز مخزن Git ندارد، می‌توانید آن را ایجاد کنید:

git init
git add .
git commit -m "Initial project state"

وجود یک Commit اولیه بسیار مفید است؛ زیرا می‌توانید تغییرات Aider را با نسخه قبلی مقایسه یا در صورت لزوم بازگردانی کنید.

اگر پروژه تغییرات ثبت‌نشده دارد، بهتر است ابتدا آن‌ها را بررسی و Commit کنید. این کار باعث می‌شود تغییرات تولیدشده توسط هوش مصنوعی از کارهای قبلی شما قابل تفکیک باشند.

اتصال Aider به API درواره

آدرس پایه API درواره عبارت است از:

https://api.darvareh.ir/v1

از آنجا که API درواره با ساختار OpenAI سازگار است، می‌توان endpoint و کلید آن را در متغیرهای محیطی Aider قرار داد.

تنظیم در لینوکس و macOS

export OPENAI_API_BASE="https://api.darvareh.ir/v1"
export OPENAI_API_KEY="YOUR_DARVAREH_API_KEY"

سپس Aider را با شناسه مدل موردنظر اجرا کنید:

aider --model openai/YOUR_MODEL_ID

مقدار YOUR_MODEL_ID را با شناسه دقیق یکی از مدل‌های موجود در پنل یا مستندات درواره جایگزین کنید.

تنظیم موقت در Windows PowerShell

$env:OPENAI_API_BASE="https://api.darvareh.ir/v1"
$env:OPENAI_API_KEY="YOUR_DARVAREH_API_KEY"

aider --model openai/YOUR_MODEL_ID

این متغیرها تا زمان بسته‌شدن پنجره PowerShell فعال می‌مانند.

تنظیم دائمی در ویندوز

setx OPENAI_API_BASE "https://api.darvareh.ir/v1"
setx OPENAI_API_KEY "YOUR_DARVAREH_API_KEY"

پس از اجرای setx، ترمینال را ببندید و دوباره باز کنید:

aider --model openai/YOUR_MODEL_ID

وجود پیشوند openai/ قبل از شناسه مدل مهم است. این پیشوند به Aider اعلام می‌کند که باید از رابط سازگار با OpenAI استفاده کند.

تنظیم Aider با فایل .env

واردکردن متغیرهای محیطی در هر جلسه ضروری نیست. می‌توانید یک فایل .env در ریشه پروژه بسازید:

OPENAI_API_BASE=https://api.darvareh.ir/v1
OPENAI_API_KEY=YOUR_DARVAREH_API_KEY
AIDER_MODEL=openai/YOUR_MODEL_ID

Aider می‌تواند فایل .env را از پوشه اصلی کاربر، ریشه مخزن Git، پوشه جاری یا مسیری که با --env-file مشخص شده است بارگذاری کند. ترتیب و اولویت این مسیرها در مستندات تنظیم Aider با فایل env توضیح داده شده است.

برای جلوگیری از ثبت کلید در Git، این خط را به .gitignore اضافه کنید:

.env

اکنون در ریشه پروژه فقط دستور زیر را اجرا کنید:

aider

برای استفاده از فایل env با نام یا مسیر متفاوت نیز می‌توانید بنویسید:

aider --env-file .env.aider

تنظیمات دائمی با .aider.conf.yml

گزینه‌های عمومی Aider را می‌توان در فایل .aider.conf.yml نگه داشت:

model: openai/YOUR_MODEL_ID
openai-api-base: https://api.darvareh.ir/v1
auto-commits: true
show-diffs: true
stream: true
chat-language: fa
commit-language: en

کلید API را داخل این فایل قرار ندهید؛ زیرا ممکن است فایل پیکربندی همراه کد در Git ثبت شود. کلید را در متغیر محیطی یا فایل .env نگه دارید.

این تنظیمات باعث می‌شوند:

  • مدل پیش‌فرض مشخص باشد.
  • پاسخ‌ها به‌صورت جریانی نمایش داده شوند.
  • Diff تغییرات نمایش داده شود.
  • Aider برای تغییرات تأییدشده Commit بسازد.
  • گفت‌وگوها به زبان فارسی انجام شوند.
  • پیام‌های Commit به زبان انگلیسی تولید شوند.

اولین استفاده عملی از Aider

فرض کنید یک پروژه FastAPI دارید و می‌خواهید endpoint ثبت کاربر را اصلاح کنید.

ساختار پروژه:

project/
├── app/
│   ├── main.py
│   ├── schemas.py
│   └── services.py
├── tests/
│   └── test_users.py
└── requirements.txt

Aider را در ریشه پروژه اجرا کنید:

aider --model openai/YOUR_MODEL_ID

سپس فایل‌های مرتبط را به جلسه اضافه کنید:

/add app/main.py app/schemas.py app/services.py tests/test_users.py

حالا یک دستور دقیق بنویسید:

endpoint ثبت کاربر را بررسی کن.

نیازمندی‌ها:
- ایمیل پیش از ذخیره به حروف کوچک تبدیل شود.
- ایمیل تکراری پاسخ HTTP 409 برگرداند.
- ساختار پاسخ‌های فعلی پروژه تغییر نکند.
- برای ایمیل تکراری و ایمیل دارای حروف بزرگ تست اضافه کن.
- فقط فایل‌های اضافه‌شده به جلسه را تغییر بده.
- پس از تغییر، تست‌های مربوط به کاربران را اجرا کن.

یک دستور خوب باید مسئله، محدودیت‌ها، خروجی مورد انتظار و معیار پذیرش را مشخص کند. عبارت‌هایی مانند «کد را بهتر کن» بیش از حد مبهم هستند.

پس از اعمال تغییرات، Diff را ببینید:

/diff

تست‌ها را اجرا کنید:

/test pytest tests/test_users.py

اگر نتیجه مطلوب نبود، تغییر قبلی Aider را بازگردانید:

/undo

اگر نتیجه درست بود، می‌توانید Commit بسازید:

/commit

مهم‌ترین دستورهای داخل Aider

دستورهای داخلی با / شروع می‌شوند.

دستورکاربرد
/addافزودن فایل قابل ویرایش به جلسه
/dropحذف فایل از زمینه گفت‌وگو
/read-onlyافزودن فایل فقط برای مطالعه
/mapنمایش نقشه مخزن
/diffنمایش تغییرات ایجادشده
/undoبازگرداندن آخرین تغییر Aider
/commitساخت Git Commit
/runاجرای دستور Shell
/testاجرای دستور تست
/lintاجرای Linter
/tokensمشاهده مصرف تقریبی زمینه
/modelتغییر مدل
/modelsجست‌وجوی مدل‌ها
/clearپاک‌کردن تاریخچه گفت‌وگو
/helpدریافت راهنما
/exitخروج از Aider

فهرست کامل در صفحه دستورهای Aider موجود است.

تفاوت /add و /read-only

فایل‌هایی که با /add وارد می‌شوند، می‌توانند توسط مدل ویرایش شوند:

/add app/services.py

فایل‌هایی که با /read-only اضافه می‌شوند، فقط برای ایجاد زمینه در اختیار مدل قرار می‌گیرند:

/read-only docs/api-contract.md

برای مثال، اگر یک فایل قرارداد API دارید که نباید تغییر کند، آن را به‌صورت فقط‌خواندنی اضافه کنید. سپس Aider می‌تواند پیاده‌سازی را براساس آن اصلاح کند، بدون اینکه خود قرارداد را بازنویسی کند.

Repository Map در Aider چیست؟

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

Repository Map معمولاً اطلاعاتی مانند موارد زیر را در اختیار مدل قرار می‌دهد:

  • نام فایل‌ها
  • کلاس‌ها
  • تابع‌ها
  • نمادهای مهم
  • ارتباط بخش‌های مختلف کد
  • نقاط مهم معماری پروژه

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

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

/map

این قابلیت جایگزین انتخاب درست فایل‌ها نیست. برای یک تغییر دقیق همچنان بهتر است فایل‌های اصلی را با /add وارد جلسه کنید.

محدودکردن فایل‌ها با .aiderignore

Aider از فایل .aiderignore برای کنارگذاشتن فایل‌ها و پوشه‌های غیرضروری استفاده می‌کند.

نمونه:

node_modules/
dist/
build/
coverage/
vendor/
*.min.js
*.map
*.log

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

اجرای خودکار تست و Lint

یکی از کاربردی‌ترین قابلیت‌های Aider، اجرای دستورهای کنترل کیفیت پس از ویرایش است.

برای پروژه JavaScript:

aider \
  --model openai/YOUR_MODEL_ID \
  --lint-cmd "npm run lint" \
  --test-cmd "npm test" \
  --auto-test

برای یک پروژه Python:

aider \
  --model openai/YOUR_MODEL_ID \
  --lint-cmd "ruff check ." \
  --test-cmd "pytest" \
  --auto-test

می‌توانید این تنظیمات را در .aider.conf.yml نیز قرار دهید:

lint-cmd: ruff check .
test-cmd: pytest
auto-test: true

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

Architect Mode در Aider

در تغییرات پیچیده، می‌توانید مدل برنامه‌ریزی را از مدل ویرایشگر جدا کنید. این روش Architect Mode نام دارد.

نمونه:

aider \
  --architect \
  --model openai/YOUR_STRONG_MODEL_ID \
  --editor-model openai/YOUR_FAST_MODEL_ID

در این معماری:

  • مدل اصلی مسئله را تحلیل و راه‌حل را طراحی می‌کند.
  • مدل Editor تغییرات طراحی‌شده را روی فایل‌ها اعمال می‌کند.

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

برای تغییرات کوچک، استفاده از یک مدل معمولاً ساده‌تر و اقتصادی‌تر خواهد بود.

چگونه مدل مناسب Aider را انتخاب کنیم؟

مدلی که برای گفت‌وگوی عمومی مناسب است، لزوماً بهترین مدل برای ویرایش کد نیست. مدل مناسب Aider باید بتواند:

  • دستور چندمرحله‌ای را دنبال کند.
  • ساختار کد را حفظ کند.
  • تغییرات چندفایلی ایجاد کند.
  • خروجی منظم و قابل اعمال تولید کند.
  • خطاهای تست را تحلیل کند.
  • از زمینه نسبتاً بزرگ پشتیبانی کند.

برای انتخاب مدل، چند وظیفه واقعی از پروژه خود تعریف کنید:

  1. اصلاح یک خطای مشخص
  2. نوشتن تست
  3. اضافه‌کردن یک endpoint
  4. Refactor یک ماژول
  5. به‌روزرسانی مستندات

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

نمونه پرامپت‌های حرفه‌ای برای Aider

رفع باگ

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

اضافه‌کردن قابلیت

به سرویس سفارش‌ها قابلیت لغو سفارش اضافه کن.

شرایط:
- فقط سفارش pending قابل لغو باشد.
- کاربر فقط بتواند سفارش خودش را لغو کند.
- عملیات لغو باید idempotent باشد.
- برای حالت موفق، سفارش متعلق به کاربر دیگر و وضعیت نامعتبر تست بنویس.
- الگوی معماری موجود را رعایت کن.

Refactor

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

بررسی کد

این فایل را از نظر خطاهای منطقی، مدیریت حالت‌های مرزی،
پیچیدگی غیرضروری و نبود تست بررسی کن.
فعلاً هیچ فایلی را تغییر نده و ابتدا یافته‌ها را با اولویت ارائه کن.

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

تغییرات endpointهای این Branch را بررسی کن و فقط بخش‌های مرتبط
README و نمونه درخواست‌ها را به‌روزرسانی کن. هیچ قابلیت جدیدی
که در کد وجود ندارد به مستندات اضافه نکن.

روش کاهش هزینه API هنگام استفاده از Aider

فقط فایل‌های مرتبط را اضافه کنید

اضافه‌کردن ده‌ها فایل کامل به جلسه، مصرف توکن را افزایش می‌دهد. فایل‌های اصلی را با /add و فایل‌های مرجع را با /read-only وارد کنید.

فایل‌های غیرمرتبط را حذف کنید

/drop path/to/unused-file.py

مصرف زمینه را بررسی کنید

/tokens

اگر تاریخچه بیش از حد بزرگ شده است، پس از پایان یک وظیفه جلسه را پاک کنید:

/clear

هر جلسه را به یک هدف محدود کنید

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

مدل را متناسب با پیچیدگی کار انتخاب کنید

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

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

خطاهای رایج اتصال Aider به درواره

خطای aider command not found

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

python -m aider

اگر همچنان خطا وجود داشت، مسیر نصب Python یا محیط ابزارهایی مانند uv و pipx را بررسی کنید.

خطای 401 یا Unauthorized

موارد زیر را بررسی کنید:

  • کلید API به‌درستی کپی شده باشد.
  • متغیر OPENAI_API_KEY تنظیم شده باشد.
  • کلید فاصله یا کوتیشن اضافی نداشته باشد.
  • حساب و اعتبار API فعال باشد.

خطای 404 یا Model Not Found

شناسه مدل باید دقیقاً مطابق فهرست مدل‌های درواره باشد:

aider --model openai/YOUR_MODEL_ID

همچنین آدرس پایه باید شامل /v1 باشد:

https://api.darvareh.ir/v1

هشدار Unknown Model

Aider ممکن است درباره مدلی که در فهرست داخلی آن ثبت نشده هشدار نشان دهد. این هشدار همیشه به معنای ناموفق‌بودن اتصال نیست. اگر endpoint، کلید و شناسه مدل درست باشند، مدل ممکن است همچنان کار کند.

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

بزرگ‌شدن بیش از حد Context

فایل‌های غیرضروری را حذف کنید:

/drop path/to/file

سپس مصرف را ببینید:

/tokens

در صورت نیاز یک جلسه تازه آغاز کنید.

ایجاد تغییر نامطلوب

ابتدا Diff را بررسی کنید:

/diff

برای بازگرداندن آخرین تغییر:

/undo

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

git diff
git log --oneline

برای آشنایی بیشتر، مقاله آموزش Git و GitHub برای پروژه‌های هوش مصنوعی را مطالعه کنید.

گردش کار پیشنهادی برای استفاده حرفه‌ای

یک فرایند عملی و قابل کنترل می‌تواند به این شکل باشد:

  1. یک Branch مجزا برای وظیفه بسازید.
  2. مطمئن شوید وضعیت Git مشخص است.
  3. Aider را با مدل مناسب اجرا کنید.
  4. فقط فایل‌های مرتبط را اضافه کنید.
  5. ابتدا از مدل بخواهید مسئله را توضیح دهد.
  6. معیارهای پذیرش را دقیق بنویسید.
  7. تغییرات را در چند مرحله کوچک اعمال کنید.
  8. Diff را پس از هر مرحله بررسی کنید.
  9. تست و Lint را اجرا کنید.
  10. برنامه را در محیط واقعی آزمایش کنید.
  11. Commit نهایی را بررسی کنید.
  12. سپس تغییرات را وارد Branch اصلی کنید.

نمونه:

git switch -c fix/user-email-normalization
aider --model openai/YOUR_MODEL_ID

داخل Aider:

/add app/services.py tests/test_users.py

سپس:

ابتدا رفتار فعلی را تحلیل کن و بگو چرا ایمیل دارای حروف بزرگ
باعث ایجاد حساب تکراری می‌شود. هنوز کد را تغییر نده.

پس از تأیید تحلیل:

اکنون کوچک‌ترین اصلاح ممکن را انجام بده و یک تست رگرسیون اضافه کن.

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

آیا Aider جایگزین Cursor یا افزونه‌های VS Code است؟

Aider بیشتر برای توسعه‌دهندگانی مناسب است که با ترمینال، Git و ابزارهای خط فرمان راحت هستند. Cursor و افزونه‌های ویرایشگر معمولاً رابط بصری‌تر و تکمیل خودکار داخل ادیتور ارائه می‌کنند.

Aider در موارد زیر جذاب‌تر است:

  • کار با پروژه از طریق ترمینال
  • استفاده روی سرور یا محیط SSH
  • مشاهده و کنترل دقیق Diff
  • گردش کار Git-first
  • استفاده از ویرایشگر دلخواه
  • اجرای تست و فرمان‌های پروژه در همان محیط
  • اتصال منعطف به API سازگار با OpenAI

لازم نیست فقط یکی از این ابزارها را انتخاب کنید. ممکن است از تکمیل خودکار ویرایشگر برای تغییرات لحظه‌ای و از Aider برای وظایف چندفایلی یا Refactor استفاده کنید.

پرسش‌های متداول

آیا Aider رایگان است؟

خود Aider متن‌باز است و می‌توانید آن را بدون خرید مجوز نصب کنید. هزینه احتمالی مربوط به مدل و API مورداستفاده است.

آیا Aider روی ویندوز اجرا می‌شود؟

بله. Aider روی Windows، macOS و Linux قابل نصب است. در ویندوز می‌توانید از PowerShell، Windows Terminal یا محیط‌های توسعه مشابه استفاده کنید.

آیا Aider به VS Code نیاز دارد؟

خیر. Aider در ترمینال اجرا می‌شود و به ویرایشگر خاصی وابسته نیست. می‌توانید هم‌زمان فایل‌ها را در VS Code، PyCharm، WebStorm یا ویرایشگر دیگری باز نگه دارید.

آیا می‌توان Aider را فارسی کرد؟

می‌توانید با مدل به فارسی گفت‌وگو کنید و زبان چت را در تنظیمات مشخص کنید:

chat-language: fa

بااین‌حال، بهتر است نام متغیرها، کلاس‌ها، تابع‌ها و قراردادهای فنی پروژه براساس استاندارد خود پروژه باقی بمانند.

آیا Aider تمام فایل‌های پروژه را برای مدل ارسال می‌کند؟

Aider برای شناخت کلی پروژه از Repository Map استفاده می‌کند. محتوای کامل فایل‌هایی که به جلسه اضافه می‌کنید در زمینه مدل قرار می‌گیرد. اندازه دقیق اطلاعات ارسالی به تنظیمات، فایل‌های انتخاب‌شده و وضعیت جلسه بستگی دارد.

آیا می‌توان مدل Aider را تغییر داد؟

بله. هنگام اجرا مدل را مشخص کنید:

aider --model openai/ANOTHER_MODEL_ID

یا داخل جلسه از دستور /model استفاده کنید.

آیا Aider خودش تست‌ها را اجرا می‌کند؟

در صورت تنظیم test-cmd یا استفاده از دستور /test می‌تواند تست‌های پروژه را اجرا کند و نتیجه را برای اصلاح بعدی در اختیار مدل قرار دهد.

آیا می‌توان تغییرات Aider را بازگرداند؟

بله. دستور /undo برای بازگرداندن آخرین تغییر Aider در دسترس است. Git نیز امکان بررسی و مدیریت کامل تغییرات را فراهم می‌کند.

جمع‌بندی

Aider یکی از کاربردی‌ترین ابزارهای متن‌باز برای برنامه‌نویسی با هوش مصنوعی در ترمینال است. این ابزار به‌جای تولید یک قطعه کد جداگانه، روی فایل‌های واقعی پروژه کار می‌کند و می‌تواند ویرایش چندفایلی، Git، تست، Lint و Repository Map را در یک گردش کار واحد قرار دهد.

برای اتصال Aider به درواره کافی است آدرس و کلید API را تنظیم کنید:

export OPENAI_API_BASE="https://api.darvareh.ir/v1"
export OPENAI_API_KEY="YOUR_DARVAREH_API_KEY"

سپس مدل را با پیشوند openai/ اجرا کنید:

aider --model openai/YOUR_MODEL_ID

برای رسیدن به نتیجه بهتر:

  • با یک Git Commit تمیز شروع کنید.
  • فایل‌های مرتبط را دقیق انتخاب کنید.
  • درخواست را همراه محدودیت و معیار پذیرش بنویسید.
  • پس از هر مرحله Diff را بررسی کنید.
  • تست‌ها را اجرا کنید.
  • مدل را براساس پیچیدگی وظیفه انتخاب کنید.
  • مصرف زمینه و هزینه API را اندازه‌گیری کنید.

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

مقالات مرتبط

منابع

این مقاله صرفاً با هدف آموزش و اطلاع‌رسانی تهیه شده است. پیش از استفاده عملی، مستندات رسمی سرویس‌ها و صفحه سلب مسئولیت را مطالعه کنید.

Read more