Continue چیست؟ آموزش اتصال افزونه Continue به API درواره در VS Code و JetBrains
Continue یک دستیار متنباز کدنویسی برای VS Code و JetBrains است که قابلیتهایی مانند چت با کد، ویرایش فایل، تکمیل خودکار و Agent Mode را ارائه میدهد. در این آموزش، نصب Continue و اتصال آن به مدلهای برنامهنویسی از طریق API سازگار با OpenAI درواره را مرحلهبهمرحله یاد میگیرید.
Continue یک دستیار متنباز برنامهنویسی است که مستقیماً داخل محیطهای توسعه VS Code و JetBrains اجرا میشود. این ابزار میتواند کد پروژه را بررسی کند، درباره فایلها پاسخ دهد، بخشهای انتخابشده را تغییر دهد، پیشنهاد تکمیل کد نمایش دهد و در Agent Mode چند مرحله از یک وظیفه برنامهنویسی را انجام دهد.
یکی از مزیتهای مهم Continue، امکان انتخاب مدل و ارائهدهنده API است. برخلاف ابزارهایی که کاربر را به یک مدل یا اشتراک مشخص محدود میکنند، در Continue میتوانید مدلهای مختلف را برای نقشهای Chat، Edit، Apply و Autocomplete تعریف کنید.
از آنجا که API درواره با ساختار OpenAI سازگار است، میتوان Continue را به آدرس پایه درواره متصل کرد و شناسه مدل را از میان مدلهای موجود انتخاب کرد:
https://api.darvareh.ir/v1
در این مقاله یاد میگیرید:
- Continue چیست و چه کاربردی دارد؟
- چگونه Continue را در VS Code نصب کنیم؟
- روش نصب Continue در JetBrains چیست؟
- چگونه فایل
config.yamlرا تنظیم کنیم؟ - چگونه Continue را به API درواره متصل کنیم؟
- نقشهای Chat، Edit، Apply، Autocomplete و Agent چه تفاوتی دارند؟
- چگونه برای هر وظیفه مدل جداگانه انتخاب کنیم؟
- چگونه Rules و Promptهای اختصاصی بسازیم؟
- خطاهای رایج اتصال Continue به API را چگونه برطرف کنیم؟
- چگونه هزینه استفاده از مدلهای هوش مصنوعی را مدیریت کنیم؟
Continue چیست؟
Continue یک دستیار کدنویسی متنباز برای VS Code، JetBrains و محیط خط فرمان است.
این ابزار به توسعهدهنده اجازه میدهد مدلهای هوش مصنوعی موردنظر خود را به محیط برنامهنویسی متصل کند. مدل میتواند از یک سرویس ابری، API سازگار با OpenAI یا موتور محلی مانند Ollama دریافت شود.
مطابق مستندات رسمی Continue، قابلیتهای اصلی آن عبارتاند از:
- Agent Mode برای انجام وظایف چندمرحلهای
- Chat Mode برای گفتوگو درباره کد
- Edit Mode برای تغییر بخش انتخابشده
- Autocomplete برای پیشنهاد کد هنگام تایپ
- Continue CLI برای استفاده در ترمینال
- پشتیبانی از مدلها و ارائهدهندگان مختلف
- پشتیبانی از Rules، Prompt و MCP Server
کد منبع این پروژه نیز در مخزن Continue در GitHub منتشر شده است.
Continue چه کاربردی دارد؟
Continue میتواند در بخشهای مختلف فرایند توسعه نرمافزار استفاده شود.
توضیح کدهای پیچیده
یک تابع یا کلاس را انتخاب کنید و از Continue بخواهید منطق آن را توضیح دهد:
این کلاس چگونه وضعیت سفارش را مدیریت میکند؟
مسیر اجرای متد updateStatus را مرحلهبهمرحله توضیح بده.
رفع خطا
کد، پیام خطا و Stack Trace را در اختیار مدل قرار دهید:
علت این خطای TypeError را پیدا کن.
ابتدا دلیل خطا را توضیح بده و سپس کمترین تغییر لازم را پیشنهاد کن.
بازنویسی کد
بخشی از کد را انتخاب و دستور مشخصی بنویسید:
این تابع را خواناتر کن، رفتار فعلی را تغییر نده و برای حالتهای خطا تست بنویس.
تولید تست
Continue میتواند برای تابع یا سرویس انتخابشده، تست واحد بسازد:
برای این سرویس با Vitest تست واحد بنویس.
حالت موفق، ورودی نامعتبر و خطای شبکه را پوشش بده.
ساخت مستندات
از مدل بخواهید توضیحات تابع، README یا مستندات API را بر اساس کد تولید کند.
تکمیل خودکار کد
Continue میتواند هنگام تایپ، پیشنهادهای چندخطی ارائه کند. این قابلیت برای ساخت توابع تکراری، تبدیل داده و نوشتن کدهای مشابه مفید است.
انجام وظایف چندمرحلهای
در Agent Mode میتوانید وظیفهای مانند نمونه زیر تعریف کنید:
یک endpoint جدید برای دریافت گزارش مصرف کاربر بساز.
الگوی endpointهای فعلی را رعایت کن، اعتبارسنجی ورودی اضافه کن،
تست بنویس و فایل مستندات API را بهروزرسانی کن.
مدل میتواند فایلهای مرتبط را پیدا کند، تغییرات را آماده کند و نتیجه را برای بررسی نمایش دهد.
تفاوت Continue با چتبات عمومی
| قابلیت | چتبات عمومی | Continue |
|---|---|---|
| اجرا داخل ویرایشگر کد | خیر | بله |
| دریافت کد انتخابشده | معمولاً با کپی دستی | بله |
| مشاهده فایلهای پروژه | محدود | بله |
| نمایش Diff تغییرات | معمولاً خیر | بله |
| تکمیل خودکار هنگام تایپ | خیر | بله |
| ویرایش مستقیم فایل | خیر | بله |
| انتخاب مدل و API | بسته به سرویس | بله |
| تعریف Rules پروژه | محدود | بله |
| اتصال MCP Server | معمولاً جداگانه | بله |
| استفاده با JetBrains | محدود | بله |
Continue جایگزین دانش برنامهنویسی، بررسی کد و اجرای تست نیست. مزیت اصلی آن کوتاهکردن فاصله میان سؤال، کد پروژه و تغییر پیشنهادی است.
Continue از چه محیطهایی پشتیبانی میکند؟
Continue افزونه رسمی برای محیطهای زیر ارائه میکند:
- Visual Studio Code
- محیطهای خانواده JetBrains
- Continue CLI
محیطهای JetBrains شامل ابزارهایی مانند IntelliJ IDEA، PyCharm، WebStorm و PhpStorm هستند.
پیشنیازهای اتصال Continue به درواره
برای استفاده از Continue با API درواره به موارد زیر نیاز دارید:
- VS Code یا یکی از IDEهای JetBrains
- افزونه Continue
- حساب کاربری درواره
- کلید API معتبر
- شناسه مدل موردنظر
- اعتبار کافی در حساب
- اتصال اینترنت
آدرس پایه API درواره:
https://api.darvareh.ir/v1
شناسه مدل باید از فهرست فعلی مدلهای درواره انتخاب شود. نام نمایشی مدل الزاماً همان Model ID نیست.
آموزش نصب Continue در VS Code
مرحله اول: بازکردن Extensions
در VS Code بخش Extensions را باز کنید:
Ctrl + Shift + X
در macOS:
Cmd + Shift + X
مرحله دوم: جستوجوی Continue
عبارت زیر را جستوجو کنید:
Continue
افزونه رسمی Continue را انتخاب و روی Install کلیک کنید. برای جلوگیری از نصب افزونههای مشابه، نام ناشر را بررسی کنید.
میتوانید از صفحه رسمی نصب Continue نیز وارد Marketplace شوید.
مرحله سوم: بازکردن پنل Continue
پس از نصب، آیکون Continue در نوار کناری VS Code نمایش داده میشود.
میانبر بازکردن گفتوگوی Continue در VS Code:
Ctrl + L
در macOS:
Cmd + L
ممکن است VS Code این میانبر را به فرمان دیگری اختصاص داده باشد. در این صورت میتوانید Keyboard Shortcuts را ویرایش یا پنل را از طریق آیکون افزونه باز کنید.
آموزش نصب Continue در JetBrains
در IntelliJ IDEA، PyCharm، WebStorm یا PhpStorm:
- وارد Settings یا Preferences شوید.
- بخش Plugins را باز کنید.
- Marketplace را انتخاب کنید.
- عبارت
Continueرا جستوجو کنید. - افزونه رسمی را نصب کنید.
- IDE را در صورت درخواست مجدداً راهاندازی کنید.
میانبر بازکردن Continue در JetBrains معمولاً به شکل زیر است:
Ctrl + J
در macOS:
Cmd + J
اگر این میانبر با قابلیت دیگری تداخل داشت، پنل Continue را از نوار ابزار باز کنید.
فایل config.yaml در Continue چیست؟
Continue تنظیمات مدلها، نقشها، Rules، Promptها، Contextها و MCP Serverها را در فایل config.yaml نگهداری میکند.
مسیر فایل در macOS و Linux:
~/.continue/config.yaml
مسیر فایل در Windows:
%USERPROFILE%\.continue\config.yaml
طبق راهنمای رسمی تنظیم Continue، میتوانید پنل Continue را باز کنید، از فهرست Agentها گزینه Local Config را پیدا کرده و روی آیکون چرخدنده کلیک کنید تا فایل تنظیمات باز شود.
نسخههای جدید Continue از config.yaml استفاده میکنند. قالب قدیمی config.json منسوخ شده و بهتر است برای تنظیمات جدید از YAML استفاده کنید.
اتصال Continue به API درواره
فایل config.yaml را باز کنید و محتوای پایه زیر را در آن قرار دهید:
name: Darvareh Coding Assistant
version: 1.0.0
schema: v1
models:
- name: Darvareh Chat Model
provider: openai
model: YOUR_MODEL_ID
apiBase: https://api.darvareh.ir/v1
apiKey: YOUR_DARVAREH_API_KEY
roles:
- chat
- edit
- apply
defaultCompletionOptions:
temperature: 0.2
maxTokens: 4096
مقادیر زیر را جایگزین کنید:
YOUR_MODEL_ID
YOUR_DARVAREH_API_KEY
مثال ساختاری:
model: MODEL_ID_FROM_DARVAREH
apiKey: API_KEY_FROM_DARVAREH
شناسه فرضی برای مدل وارد نکنید. Model ID را از پنل یا مستندات فعلی درواره دریافت کنید.
پس از ذخیره فایل، Continue معمولاً تنظیمات را مجدداً بارگذاری میکند. در غیر این صورت از فهرست Config گزینه Reload Config را انتخاب کنید یا VS Code را یکبار Reload کنید.
معنی فیلدهای تنظیمات Continue
| فیلد | کاربرد |
|---|---|
name | نام تنظیمات یا مدل در رابط Continue |
version | نسخه Config |
schema | نسخه ساختار تنظیمات |
provider | نوع ارائهدهنده API |
model | شناسه دقیق مدل |
apiBase | آدرس پایه API |
apiKey | کلید دسترسی |
roles | وظایفی که مدل انجام میدهد |
temperature | میزان تنوع پاسخ |
maxTokens | حداکثر طول خروجی |
چون API درواره ساختار سازگار با OpenAI دارد، مقدار Provider به شکل زیر تنظیم میشود:
provider: openai
و آدرس API درواره با apiBase جایگزین آدرس پیشفرض میشود:
apiBase: https://api.darvareh.ir/v1
تست اتصال Continue به درواره
پس از ذخیره تنظیمات، یک پروژه آزمایشی باز کنید و از پنل Continue مدل Darvareh Chat Model را انتخاب کنید.
پیام زیر را ارسال کنید:
در یک جمله توضیح بده این پروژه از چه زبان برنامهنویسی استفاده میکند.
اگر اطلاعات کافی نداری، از من بخواه فایل مرتبط را اضافه کنم.
سپس یک فایل کد را به Context اضافه کنید و بپرسید:
وظیفه این فایل چیست و مهمترین توابع آن کداماند؟
اگر پاسخ دریافت شد، اتصال برقرار است.
نقشهای مدل در Continue
Continue میتواند برای هر مدل یک یا چند Role تعریف کند.
Chat
برای پرسش و پاسخ درباره کد، معماری، خطا و مفاهیم برنامهنویسی استفاده میشود:
roles:
- chat
Edit
برای تغییر بخش انتخابشده کد کاربرد دارد:
roles:
- edit
Apply
پاسخ یا تغییر پیشنهادی مدل را روی فایل اعمال میکند:
roles:
- apply
Autocomplete
برای پیشنهاد کد هنگام تایپ استفاده میشود:
roles:
- autocomplete
Embed
مدل Embedding برای تبدیل کد به بردار و جستوجوی معنایی استفاده میشود:
roles:
- embed
Rerank
مدل Reranker نتایج بازیابیشده را بر اساس ارتباط مرتب میکند:
roles:
- rerank
مطابق مستندات مدلهای Continue، مدلهای مختلف میتوانند نقشهای متفاوتی مانند Chat، Edit، Apply، Autocomplete، Embed و Rerank داشته باشند.
انتخاب مدل مناسب برای Continue
یک مدل واحد الزاماً برای همه نقشها بهترین انتخاب نیست.
| وظیفه | ویژگی مهم مدل |
|---|---|
| Chat | درک کد و توضیح دقیق |
| Edit | پیروی از دستور و حفظ ساختار |
| Apply | سرعت و دقت در اعمال تغییر |
| Autocomplete | تأخیر کم و خروجی کوتاه |
| Agent | Tool Calling و توان برنامهریزی |
| بررسی معماری | Context Window بزرگ |
| رفع خطا | استدلال و تحلیل Stack Trace |
| تولید تست | شناخت Framework و Edge Case |
برای Chat و Agent معمولاً مدل قویتر مناسب است. برای Autocomplete، سرعت پاسخ اهمیت بیشتری دارد.
تنظیم دو مدل مجزا برای Chat و Autocomplete
میتوانید یک مدل را برای گفتوگو و ویرایش و مدل سریعتری را برای تکمیل خودکار تعریف کنید:
name: Darvareh Multi-Model Coding
version: 1.0.0
schema: v1
models:
- name: Darvareh Coding Chat
provider: openai
model: YOUR_CHAT_MODEL_ID
apiBase: https://api.darvareh.ir/v1
apiKey: YOUR_DARVAREH_API_KEY
roles:
- chat
- edit
- apply
defaultCompletionOptions:
temperature: 0.2
maxTokens: 4096
- name: Darvareh Fast Autocomplete
provider: openai
model: YOUR_FAST_MODEL_ID
apiBase: https://api.darvareh.ir/v1
apiKey: YOUR_DARVAREH_API_KEY
useLegacyCompletionsEndpoint: false
roles:
- autocomplete
autocompleteOptions:
debounceDelay: 300
maxPromptTokens: 2048
onlyMyCode: true
defaultCompletionOptions:
temperature: 0.1
maxTokens: 256
در این ساختار:
- مدل اول برای تحلیل و تغییر کد استفاده میشود.
- مدل دوم پیشنهادهای کوتاه هنگام تایپ تولید میکند.
- مدل Autocomplete باید سریع و اقتصادی باشد.
- مدل Chat میتواند قویتر و دارای Context Window بزرگتر باشد.
پشتیبانی عملی Autocomplete به رفتار و Endpointهای مدل انتخابشده بستگی دارد. تنظیم را با چند فایل واقعی آزمایش کنید.
استفاده از Chat Mode
Chat Mode برای گفتوگو درباره کد بدون اعمال خودکار تغییر مناسب است.
کاربردهای نمونه:
این سرویس چه وابستگیهایی دارد؟
ریسکهای تغییر این تابع چیست؟
چرا این Query باعث N+1 میشود؟
برای این Endpoint یک نمونه Request و Response بنویس.
برای دریافت پاسخ بهتر، فایلها یا بخشهای مرتبط را به Context اضافه کنید.
استفاده از Edit Mode
Edit Mode برای اعمال تغییر محدود روی قسمت انتخابشده مناسب است.
روش استفاده:
- بخشی از کد را انتخاب کنید.
- میانبر Edit را اجرا کنید.
- دستور مشخصی بنویسید.
- Diff پیشنهادی را بررسی کنید.
- تغییر را قبول یا رد کنید.
میانبر Edit در بسیاری از نصبها:
Ctrl + I
در macOS:
Cmd + I
نمونه دستور:
این تابع را به TypeScript تبدیل کن.
رفتار تابع تغییر نکند و نوع پارامترها و خروجی دقیق تعریف شود.
استفاده از Agent Mode
Agent Mode برای وظایف چندمرحلهای طراحی شده است. Agent میتواند فایلها را بررسی کند، تغییر پیشنهاد دهد، فایل جدید بسازد و در صورت فراهمبودن ابزار مناسب، فرمان اجرا کند.
برای استفاده درست از Agent Mode، مدل باید Tool Calling را پشتیبانی کند.
اگر مدل انتخابی شما در API درواره از Tool Calling پشتیبانی میکند، میتوانید قابلیت آن را در Config مشخص کنید:
name: Darvareh Coding Agent
version: 1.0.0
schema: v1
models:
- name: Darvareh Agent Model
provider: openai
model: YOUR_TOOL_CALLING_MODEL_ID
apiBase: https://api.darvareh.ir/v1
apiKey: YOUR_DARVAREH_API_KEY
capabilities:
- tool_use
roles:
- chat
- edit
- apply
defaultCompletionOptions:
temperature: 0.1
maxTokens: 8192
ویژگی tool_use را فقط برای مدلی فعال کنید که واقعاً Tool Calling را پشتیبانی میکند. فعالکردن این گزینه، قابلیتی به مدل فاقد پشتیبانی اضافه نمیکند.
نمونه وظیفه برای Agent:
یک endpoint جدید GET /api/products/:id بساز.
الزامات:
- الگوی routeهای فعلی رعایت شود.
- ورودی با Zod اعتبارسنجی شود.
- در صورت نبود محصول، پاسخ 404 برگردد.
- تست واحد نوشته شود.
- مستندات API بهروزرسانی شود.
- قبل از هر تغییر، فایلهای مرتبط را شناسایی کن.
پرامپت مناسب برای کار با پروژه واقعی
دستورهای مبهم مانند «این پروژه را بهتر کن» نتیجه قابلکنترلی ندارند. یک پرامپت مناسب باید محدوده، هدف و معیار پذیرش را مشخص کند.
نمونه:
فایل src/services/order-service.ts را بررسی کن.
هدف:
متد calculateTotal را خواناتر و قابلآزمایشتر کن.
محدودیتها:
- API عمومی کلاس تغییر نکند.
- از کتابخانه جدید استفاده نکن.
- محاسبه تخفیف و مالیات تغییر نکند.
- TypeScript strict رعایت شود.
خروجی مورد انتظار:
1. ابتدا مشکلهای فعلی را فهرست کن.
2. تغییر پیشنهادی را ارائه بده.
3. تستهای Vitest را در فایل جداگانه بنویس.
4. هیچ فایل نامرتبطی را تغییر نده.
تعریف Rules در Continue
Rules دستورهای ثابتی هستند که در درخواستهای Chat، Edit و Agent به مدل اضافه میشوند.
برای مثال:
name: Darvareh Project Assistant
version: 1.0.0
schema: v1
models:
- name: Darvareh Coding Model
provider: openai
model: YOUR_MODEL_ID
apiBase: https://api.darvareh.ir/v1
apiKey: YOUR_DARVAREH_API_KEY
roles:
- chat
- edit
- apply
rules:
- Always inspect existing patterns before proposing new code.
- Make the smallest change necessary to complete the task.
- Do not add a dependency unless explicitly requested.
- Preserve public APIs unless the task requires changing them.
- Add or update tests for behavior changes.
- Follow the formatting and naming conventions of the repository.
- Explain assumptions when requirements are ambiguous.
Rules باعث میشوند لازم نباشد استانداردهای پروژه را در هر درخواست تکرار کنید.
قواعد مناسب میتوانند شامل موارد زیر باشند:
- زبان اصلی پروژه
- Framework تست
- قواعد نامگذاری
- ساختار پوشهها
- نحوه مدیریت خطا
- محدودیت نصب Dependency
- استاندارد مستندسازی
- قالب Commit Message
استفاده از فایل Rules جداگانه
برای پروژههای بزرگ میتوانید Rules را در فایل مستقل نگه دارید.
نمونه فایل:
project-rules.md
محتوا:
---
name: Project development rules
---
- Use TypeScript in strict mode.
- Use Zod for request validation.
- Use Vitest for unit tests.
- Do not access the database directly from route handlers.
- Put business logic inside service modules.
- Preserve backward compatibility for public API endpoints.
- Run formatting and relevant tests after editing.
سپس آن را در Config معرفی کنید:
rules:
- uses: file:///ABSOLUTE/PATH/project-rules.md
آدرس فایل را با مسیر واقعی سیستم خود جایگزین کنید.
ساخت Prompt اختصاصی
Continue امکان تعریف Promptهای قابلاستفاده مجدد را فراهم میکند.
مثال:
prompts:
- name: review-api
description: Review an API endpoint
prompt: |
Review the selected API endpoint.
Check:
- input validation
- error handling
- status codes
- database access pattern
- tests
- backward compatibility
Return:
1. Issues ordered by impact
2. Proposed fixes
3. Missing test cases
پس از ذخیره Config میتوانید Prompt را با فرمان مربوط به آن در Continue اجرا کنید.
نمونه Prompt برای رفع خطا
این خطا را بررسی کن.
مراحل:
1. Stack Trace را از بالا به پایین تحلیل کن.
2. محتملترین خط ایجادکننده خطا را مشخص کن.
3. فرضیات خود را از واقعیتهای موجود جدا کن.
4. کوچکترین اصلاح ممکن را پیشنهاد بده.
5. یک تست Regression بنویس که قبل از اصلاح شکست بخورد.
6. فایل نامرتبط را تغییر نده.
نمونه Prompt برای Code Review
تغییرات فعلی Git Diff را بررسی کن.
فقط روی این موارد تمرکز کن:
- خطای منطقی
- تغییر ناخواسته رفتار
- مدیریت ناقص خطا
- Race Condition
- Query غیرضروری
- تستهای ازدسترفته
- ناسازگاری با الگوی فعلی پروژه
برای هر مشکل:
- فایل و بخش مرتبط را مشخص کن.
- اثر مشکل را توضیح بده.
- اصلاح حداقلی پیشنهاد کن.
اگر مشکل مهمی پیدا نکردی، صریح اعلام کن.
افزودن Context به گفتوگو
کیفیت پاسخ مدل به Context وابسته است. اگر فایل مناسب در اختیار مدل نباشد، ممکن است بر اساس حدس پاسخ دهد.
در هر وظیفه، فقط اطلاعات مرتبط را اضافه کنید:
- فایل فعلی
- فایل Interface یا Type
- تست مرتبط
- Schema پایگاه داده
- پیام خطا
- Git Diff
- خروجی Terminal
- فایل تنظیمات Framework
ارسال کل مخزن برای یک تغییر کوچک معمولاً لازم نیست و میتواند هزینه و نویز ورودی را افزایش دهد.
انتخاب مدل برای پروژه فارسی
اگر توضیحات تیم و مستندات به فارسی نوشته شدهاند، مدل را با نمونههای واقعی آزمایش کنید.
موارد مهم:
- درک دستور فارسی
- تشخیص نام متغیرهای انگلیسی در متن فارسی
- حفظ کد هنگام توضیح فارسی
- پردازش صحیح متن راستبهچپ
- استخراج عدد و نام فایل
- پاسخ کوتاه و ساختاریافته
- تولید کد بدون ترجمه نام Identifierها
نمونه آزمون:
این تابع را توضیح بده، اما نام کلاسها، متدها، متغیرها و خطاها را ترجمه نکن.
پاسخ را فارسی بنویس و مسیر اجرای کد را به ترتیب توضیح بده.
مدیریت هزینه Continue با API
دستیار کدنویسی ممکن است بارها در طول روز API را فراخوانی کند. برای مدیریت هزینه، نقش هر مدل را آگاهانه انتخاب کنید.
مدل سریع برای Autocomplete
Autocomplete تعداد درخواست زیادی ایجاد میکند. استفاده از مدل سریع و اقتصادی برای این نقش معمولاً منطقیتر است.
مدل قوی برای Agent
وظایف چندمرحلهای، معماری و رفع خطاهای پیچیده را به مدل قویتر اختصاص دهید.
محدودکردن Context
فقط فایلهای مرتبط را به درخواست اضافه کنید. ارسال فایلهای زیاد باعث افزایش توکن ورودی میشود.
خروجی کوتاه برای Apply
مدلی که تغییر نهایی را اعمال میکند، معمولاً به توضیح طولانی نیاز ندارد. نقش Chat و Apply را میتوان در صورت نیاز از هم جدا کرد.
اندازهگیری با مجموعه وظایف ثابت
چند وظیفه واقعی تعریف کنید:
- رفع یک خطای مشخص
- نوشتن تست
- بازنویسی تابع
- توضیح معماری
- تکمیل خودکار
سپس مدلها را از نظر کیفیت، سرعت و هزینه مقایسه کنید.
برای آشنایی بیشتر میتوانید مقاله محاسبه هزینه API هوش مصنوعی را مطالعه کنید.
خطاهای رایج اتصال Continue به درواره
خطای 401 یا Unauthorized
دلایل احتمالی:
- کلید API اشتباه است.
- بخشی از کلید کپی نشده است.
- فاصله اضافی در مقدار کلید وجود دارد.
- کلید منقضی یا غیرفعال شده است.
ساختار را بررسی کنید:
apiKey: YOUR_DARVAREH_API_KEY
اگر مقدار شامل نویسه خاص است، آن را داخل کوتیشن قرار دهید:
apiKey: "YOUR_DARVAREH_API_KEY"
خطای 404
آدرس پایه صحیح:
apiBase: https://api.darvareh.ir/v1
در apiBase مسیر کامل زیر را وارد نکنید:
/chat/completions
Continue مسیر Endpoint موردنیاز را به آدرس پایه اضافه میکند.
خطای Model Not Found
مقدار model باید شناسه دقیق مدل باشد:
model: YOUR_MODEL_ID
نام بازاریابی یا عنوان نمایشی مدل ممکن است با شناسه API متفاوت باشد.
مدل در فهرست Continue نمایش داده نمیشود
موارد زیر را بررسی کنید:
- فایل YAML بدون خطای تورفتگی باشد.
- Tab بهجای Space استفاده نشده باشد.
- فیلدهای
name،versionوschemaوجود داشته باشند. - Config ذخیره شده باشد.
- گزینه Reload Config اجرا شده باشد.
خطای YAML
YAML به فاصله و تورفتگی حساس است. این ساختار نادرست است:
models:
- name: Model
provider: openai
ساختار صحیح:
models:
- name: Model
provider: openai
Chat کار میکند اما Agent Mode نه
احتمالاً مدل از Tool Calling پشتیبانی نمیکند یا قابلیت آن برای Continue قابلشناسایی نیست.
ابتدا بررسی کنید مدل انتخابشده واقعاً ابزارخوانی دارد. سپس در صورت نیاز اضافه کنید:
capabilities:
- tool_use
اگر مدل Tool Calling ندارد، از Chat و Edit Mode استفاده کنید.
Autocomplete پاسخ نمیدهد
دلایل احتمالی:
- مدل برای نقش Autocomplete انتخاب نشده است.
- مدل با ساختار درخواست Autocomplete سازگار نیست.
- زمان پاسخ بیش از حد زیاد است.
- مقدار
debounceDelayبسیار پایین است. - Endpoint قدیمی Completions پشتیبانی نمیشود.
برای مدلهای مبتنی بر Chat Completions این گزینه را آزمایش کنید:
useLegacyCompletionsEndpoint: false
پاسخها ناقص هستند
مقدار maxTokens را بررسی کنید:
defaultCompletionOptions:
maxTokens: 4096
همچنین ممکن است Context Window مدل برای فایلهای اضافهشده کافی نباشد.
تغییرات با ساختار پروژه سازگار نیست
Rules دقیقتری تعریف کنید و فایلهای نمونه مشابه را به Context اضافه کنید.
بهجای این دستور:
یک endpoint بساز.
بنویسید:
یک endpoint مشابه src/routes/orders/get-order.ts بساز.
همان الگوی اعتبارسنجی، پاسخ خطا و تست را رعایت کن.
Config پیشنهادی نهایی
نمونه زیر یک نقطه شروع مناسب برای اتصال Continue به API درواره است:
name: Darvareh Development Assistant
version: 1.0.0
schema: v1
models:
- name: Darvareh Coding Chat
provider: openai
model: YOUR_CHAT_MODEL_ID
apiBase: https://api.darvareh.ir/v1
apiKey: YOUR_DARVAREH_API_KEY
roles:
- chat
- edit
- apply
defaultCompletionOptions:
temperature: 0.2
maxTokens: 4096
- name: Darvareh Fast Completion
provider: openai
model: YOUR_FAST_MODEL_ID
apiBase: https://api.darvareh.ir/v1
apiKey: YOUR_DARVAREH_API_KEY
useLegacyCompletionsEndpoint: false
roles:
- autocomplete
autocompleteOptions:
debounceDelay: 300
maxPromptTokens: 2048
onlyMyCode: true
defaultCompletionOptions:
temperature: 0.1
maxTokens: 256
rules:
- Inspect existing code patterns before making changes.
- Make the smallest change necessary.
- Do not add dependencies unless explicitly requested.
- Preserve existing public APIs.
- Add tests for behavior changes.
- Follow repository naming and formatting conventions.
- Never modify unrelated files.
prompts:
- name: review-changes
description: Review current code changes
prompt: |
Review the current changes for:
- logical bugs
- regressions
- missing validation
- incomplete error handling
- unnecessary complexity
- missing tests
Report findings first.
Do not rewrite code unless requested.
context:
- provider: file
- provider: code
- provider: diff
- provider: terminal
اگر مدل سریع جداگانه ندارید، بخش Darvareh Fast Completion را حذف کنید و ابتدا فقط Chat، Edit و Apply را راهاندازی کنید.
چکلیست راهاندازی
- افزونه رسمی Continue نصب شده است.
- فایل
config.yamlباز میشود. - ساختار YAML معتبر است.
- Provider روی
openaiقرار دارد. - آدرس پایه درواره صحیح است.
- کلید API معتبر وارد شده است.
- Model ID دقیق انتخاب شده است.
- نقشهای مدل مشخص شدهاند.
- Config مجدداً بارگذاری شده است.
- Chat Mode آزمایش شده است.
- Edit Mode روی یک فایل آزمایشی اجرا شده است.
- Agent Mode فقط با مدل Tool Calling فعال شده است.
- Rules پروژه تعریف شدهاند.
- سرعت و هزینه مدلها اندازهگیری شده است.
پرسشهای متداول
آیا Continue رایگان است؟
افزونه و هسته اصلی Continue متنباز هستند. هزینه مدل به API یا زیرساختی بستگی دارد که برای اجرای مدل انتخاب میکنید.
آیا Continue روی VS Code نصب میشود؟
بله. Continue افزونه رسمی برای VS Code دارد و از طریق Marketplace قابل نصب است.
آیا Continue با PyCharm و IntelliJ کار میکند؟
بله. Continue برای محیطهای JetBrains نیز افزونه ارائه میکند.
آیا میتوان Continue را به API درواره متصل کرد؟
بله. در فایل config.yaml مقدار Provider را openai و آدرس پایه را به شکل زیر تنظیم کنید:
https://api.darvareh.ir/v1
آیا Continue به یک مدل خاص محدود است؟
خیر. میتوانید مدلهای مختلفی را برای Chat، Edit، Apply، Autocomplete، Embedding و Reranking تعریف کنید.
آیا Continue قابلیت Agent دارد؟
بله. Agent Mode میتواند وظایف چندمرحلهای انجام دهد. مدل انتخابشده باید از Tool Calling پشتیبانی کند.
آیا میتوان از یک مدل برای Chat و Autocomplete استفاده کرد؟
بله، اما نتیجه همیشه بهینه نیست. Chat به تحلیل قوی نیاز دارد، درحالیکه Autocomplete باید سریع و کمهزینه باشد.
فایل تنظیمات Continue کجاست؟
در macOS و Linux:
~/.continue/config.yaml
در Windows:
%USERPROFILE%\.continue\config.yaml
چرا آموزشهای قدیمی از config.json استفاده میکنند؟
نسخههای قبلی Continue از config.json استفاده میکردند. در نسخههای جدید، config.yaml قالب اصلی است و config.json منسوخ شده است.
آیا Continue از زبان فارسی پشتیبانی میکند؟
Continue محدود به زبان خاصی نیست. کیفیت دستور و پاسخ فارسی به مدل انتخابشده بستگی دارد. نام فایلها، متدها و Identifierهای کد را بهتر است در متن فارسی بدون ترجمه نگه دارید.
بهترین مدل برای Continue کدام است؟
بهترین مدل به وظیفه، زبان برنامهنویسی، اندازه پروژه، نیاز به Agent، سرعت مطلوب و بودجه بستگی دارد. چند مدل را روی وظایف ثابت پروژه خود مقایسه کنید.
جمعبندی
Continue یک دستیار متنباز کدنویسی برای توسعهدهندگانی است که میخواهند مدل، API و نحوه استفاده از هوش مصنوعی در محیط برنامهنویسی خود را کنترل کنند.
این ابزار قابلیتهای زیر را در VS Code و JetBrains فراهم میکند:
- گفتوگو درباره کد
- ویرایش بخش انتخابشده
- اعمال تغییر با نمایش Diff
- تکمیل خودکار کد
- Agent Mode
- Rules و Promptهای اختصاصی
- اتصال MCP Server
- انتخاب چند مدل برای نقشهای مختلف
برای اتصال Continue به درواره، تنظیم اصلی به شکل زیر است:
provider: openai
apiBase: https://api.darvareh.ir/v1
apiKey: YOUR_DARVAREH_API_KEY
model: YOUR_MODEL_ID
بهتر است ابتدا یک مدل را برای Chat، Edit و Apply راهاندازی کنید. پس از اطمینان از اتصال، مدل سریعتر را برای Autocomplete و مدل دارای Tool Calling را برای Agent Mode اضافه کنید.
برای دریافت کلید API، مشاهده شناسه مدلهای فعلی و بررسی مستندات اتصال، به مستندات API درواره مراجعه کنید.
مقالات مرتبط
- برنامهنویسی با هوش مصنوعی و ابزارهای متنباز
- راهنمای API سازگار با OpenAI
- آموزش اتصال Cline به API درواره
- آموزش اتصال Roo Code به API درواره
- آموزش اتصال OpenCode به API درواره
- مهندسی پرامپت برای کدنویسی با هوش مصنوعی
- محاسبه هزینه API هوش مصنوعی
منابع
- مستندات رسمی Continue
- راهنمای نصب Continue
- راهنمای شروع سریع Continue
- مرجع config.yaml در Continue
- مخزن Continue در GitHub
- مستندات API درواره
این مقاله صرفاً با هدف آموزش و اطلاعرسانی تهیه شده است. پیش از استفاده عملی، مستندات رسمی سرویسها و صفحه سلب مسئولیت را مطالعه کنید.