اتصال Continue به هوشوانا
راهنمای اتصال افزونهی Continue به هوشوانا با config.yaml، تعریف مدل برای چت، ویرایش و embedding، کنترل هزینه و رفع خطاهای رایج.
آخرین بهروزرسانی:
Continue
افزونهی VS Code و JetBrainsContinue دستیار کدنویسی متنباز برای VS Code و JetBrains است. مدلها در فایل config.yaml تعریف میشوند و هر مدل میتواند ارائهدهنده و آدرس پایهی خودش را داشته باشد. با ارائهدهندهی openai و آدرس هوشوانا، همهی مدلهای هوشوانا در Continue در دسترساند.
چه چیزی به دست میآورید
- چند مدل با نقشهای مختلف، همه با یک کلید.
- embedding برای جستوجوی معنایی در کد پروژه.
- پرداخت ریالی و گزارش هزینه برای هر نقش.
پیشنیازها
- حساب کاربری در هوشوانا.
- یک کلید API از صفحهی کلیدها.
- اعتبار کافی در کیف پول.
- افزونهی Continue نصبشده در VS Code یا یکی از IDEهای JetBrains.
راهاندازی
- پنل Continue را باز کنید، روی منوی انتخاب مدل یا آیکون تنظیمات بزنید و فایل پیکربندی را باز کنید. فایل محلی معمولاً در
~/.continue/config.yamlاست. - بخش
modelsرا اینطور بنویسید:
name: Hooshvana
version: 1.0.0
schema: v1
models:
- name: Claude Sonnet (Hooshvana)
provider: openai
model: anthropic/claude-sonnet-4.6
apiBase: https://hooshvana.ir/api/v1
apiKey: hv-YOUR_KEY
roles:
- chat
- edit
- apply
- name: GPT-4o mini (Hooshvana)
provider: openai
model: openai/gpt-4o-mini
apiBase: https://hooshvana.ir/api/v1
apiKey: hv-YOUR_KEY
roles:
- chat
- summarize
- name: Embeddings (Hooshvana)
provider: openai
model: openai/text-embedding-3-small
apiBase: https://hooshvana.ir/api/v1
apiKey: hv-YOUR_KEY
roles:
- embed- فایل را ذخیره کنید. Continue تغییرات را خودکار بارگذاری میکند.
نقشها
| نقش | کاربرد |
|---|---|
chat | گفتوگو در پنل Continue |
edit | ویرایش کد انتخابشده با دستور |
apply | اعمال پیشنهاد چت روی فایل |
summarize | خلاصهسازی |
embed | ساخت embedding برای جستوجو در کد |
autocomplete | تکمیل خودکار حین تایپ |
دربارهی تکمیل خودکار
تکمیل خودکار (autocomplete) در Continue به مدلهایی نیاز دارد که حالت fill-in-the-middle را پشتیبانی کنند و با ارائهدهندهی openai ممکن است به نقطهی پایانی /completions درخواست بفرستد. هوشوانا نقطهی پایانی /chat/completions را ارائه میدهد، پس تکمیل خودکار از طریق هوشوانا تضمینشده نیست. اگر نقش autocomplete را به یک مدل هوشوانا دادید و خطای 404 گرفتید، برای این نقش از یک مدل محلی استفاده کنید و چت و ویرایش را روی هوشوانا نگه دارید.
نکته دربارهی embedding
بعد از اضافه کردن مدل embed، Continue پروژه را دوباره فهرستسازی میکند. در پروژههای بزرگ این کار تعداد زیادی درخواست /embeddings میسازد. هزینهی openai/text-embedding-3-small پایین است، اما بهتر است پوشههایی مثل node_modules و خروجیهای build در .continueignore یا .gitignore باشند.
بررسی اتصال
- در پنل Continue مدل Claude Sonnet (Hooshvana) را انتخاب کنید و یک سؤال بپرسید.
- یک قطعه کد را انتخاب کنید و با دستور ویرایش، تغییری بخواهید.
- در گزارشها باید درخواستهای
/chat/completionsو/embeddingsرا ببینید.
مدلهای پیشنهادی
| نقش | مدل |
|---|---|
| چت و ویرایش | anthropic/claude-sonnet-4.6 یا openai/gpt-4.1 |
| چت سریع و ارزان | openai/gpt-4o-mini یا deepseek/deepseek-v4-flash |
| embedding | openai/text-embedding-3-small |
شناسهها نمونه هستند؛ فهرست کامل در کاتالوگ مدلها است.
کنترل هزینه
- برای Continue یک کلید جدا بسازید و سقف خرج روزانه بگذارید.
- در مدلهای مجاز فقط مدلهای تعریفشده در
config.yamlرا باز بگذارید. - نقطههای پایانی مجاز را روی
chatوembeddingsمحدود کنید. - کلید را در مخزن git قرار ندهید. اگر
config.yamlرا با تیم به اشتراک میگذارید، کلید را از سازوکار secrets خود Continue بخوانید.
رفع اشکال
| خطا | علت رایج | راهحل |
|---|---|---|
401 invalid_api_key | apiKey اشتباه یا باطلشده است | کلید تازه بسازید و در همهی مدلها جایگزین کنید |
404 model_not_found | model بدون پیشوند سازنده نوشته شده | شناسهی کامل مثل openai/gpt-4.1 بنویسید |
403 endpoint_not_allowed | کلید embeddings را مجاز نکرده | embeddings را به نقطههای پایانی مجاز اضافه کنید |
402 insufficient_balance | موجودی کیف پول کافی نیست | کیف پول را شارژ کنید |
404 بدون کد خطای هوشوانا | apiBase اشتباه است یا نقش autocomplete به /completions درخواست داده | apiBase را دقیقاً https://hooshvana.ir/api/v1 بگذارید و برای autocomplete مدل محلی استفاده کنید |
| مدل در فهرست Continue دیده نمیشود | خطای قالب YAML، مثلاً تورفتگی اشتباه | فایل را با یک بررسیکنندهی YAML چک کنید |
اگر مشکل ادامه داشت، کد خطا و زمان درخواست را در تیکت پشتیبانی بفرستید.