Continue چیست؟ آموزش اتصال افزونه Continue به API درواره در VS Code و JetBrains

Continue یک دستیار متن‌باز کدنویسی برای VS Code و JetBrains است که قابلیت‌هایی مانند چت با کد، ویرایش فایل، تکمیل خودکار و Agent Mode را ارائه می‌دهد. در این آموزش، نصب Continue و اتصال آن به مدل‌های برنامه‌نویسی از طریق API سازگار با OpenAI درواره را مرحله‌به‌مرحله یاد می‌گیرید.

Share
آموزش اتصال افزونه Continue در VS Code به API هوش مصنوعی درواره

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:

  1. وارد Settings یا Preferences شوید.
  2. بخش Plugins را باز کنید.
  3. Marketplace را انتخاب کنید.
  4. عبارت Continue را جست‌وجو کنید.
  5. افزونه رسمی را نصب کنید.
  6. 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تأخیر کم و خروجی کوتاه
AgentTool 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 برای اعمال تغییر محدود روی قسمت انتخاب‌شده مناسب است.

روش استفاده:

  1. بخشی از کد را انتخاب کنید.
  2. میان‌بر Edit را اجرا کنید.
  3. دستور مشخصی بنویسید.
  4. Diff پیشنهادی را بررسی کنید.
  5. تغییر را قبول یا رد کنید.

میان‌بر 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 فراهم می‌کند:

  1. گفت‌وگو درباره کد
  2. ویرایش بخش انتخاب‌شده
  3. اعمال تغییر با نمایش Diff
  4. تکمیل خودکار کد
  5. Agent Mode
  6. Rules و Promptهای اختصاصی
  7. اتصال MCP Server
  8. انتخاب چند مدل برای نقش‌های مختلف

برای اتصال 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 درواره مراجعه کنید.

مقالات مرتبط

منابع

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

Read more