Qwen Code با یوتاپن — modelProviders در settings.json
تنظیم Qwen Code برای یوتاپن: بلوک modelProviders در settings.json با baseUrl و envKey، سقف max_tokens و اندازهٔ context، یا راه سریع با متغیر محیطی.
بهروزرسانی: ۳۱ شهریور ۱۴۰۵
Qwen Code یک ایجنت کدنویسی ترمینالی است که provider نوع openai آن بهصورت پیشفرض با Chat Completions کار میکند — دقیقاً همان چیزی که یوتاپن سرو میکند. این صفحه با مستندات رسمی مخزن در شهریور ۱۴۰۵ بررسی شده است.
راه سریع
export OPENAI_BASE_URL="https://api.uttapen.ir/v1"
export OPENAI_API_KEY="sk-up-..."
export OPENAI_MODEL="anthropic/claude-sonnet-5"
qwen
برای کار پایدارتر (چند مدل، سقف توکن، انتخاب با دستور /model) بلوک modelProviders را در ~/.qwen/settings.json بنویس.
settings.json
{
"modelProviders": {
"openai": [
{
"id": "anthropic/claude-sonnet-5",
"name": "Claude Sonnet 5",
"envKey": "UTTAPEN_API_KEY",
"baseUrl": "https://api.uttapen.ir/v1",
"generationConfig": {
"contextWindowSize": 200000,
"samplingParams": { "max_tokens": 8192 }
}
},
{
"id": "qwen/qwen3-coder",
"name": "Qwen3 Coder",
"envKey": "UTTAPEN_API_KEY",
"baseUrl": "https://api.uttapen.ir/v1",
"generationConfig": {
"contextWindowSize": 262144,
"samplingParams": { "max_tokens": 8192 }
}
}
]
},
"security": { "auth": { "selectedType": "openai" } },
"model": { "name": "anthropic/claude-sonnet-5" }
}
idهمان شناسهٔ مدل در یوتاپن است؛ شناسههای دارای/پذیرفتهاند. آنها را از فهرست مدلها بردار.envKeyنام متغیر محیطی است، نه خود کلید. کلیدsk-up-…را در همان متغیر export کن یا در فایل.envپروژه بگذار و.envرا در.gitignoreنگه دار.samplingParams.max_tokensسقف خروجی هر درخواست است و همان عددی است که ما برایش رزرو میکنیم (قیمتگذاری).8192برای کار روی کد منطقی است؛ عدد بزرگ فقط موجودیات را قفل میکند.contextWindowSizeرا روی context واقعی مدل یا کمتر بگذار.wireApiرا ننویس؛ نبودنش یعنی Chat Completions. اگرwireApi: "responses"بگذاری، درخواست به مسیری میرود که یوتاپن ندارد و404میگیری.
بعد از این، با /model داخل خود ابزار بین مدلها جابهجا میشوی.
هزینه را کنترل کن
- برای Qwen Code یک کلید جدا با سقف ماهانه بساز (کلیدها) تا مصرفش در داشبورد ← مصرف جدا دیده شود.
- برای کارهای سبک، یک ورودی دیگر با مدل ارزان مثل
openai/gpt-5-nanoیاgoogle/gemini-2.5-flash-liteوmax_tokensکوچک اضافه کن و با/modelبه آن سوییچ کن.
عیبیابی
| خطا | علت در Qwen Code | راهحل |
|---|---|---|
401 invalid_api_key | متغیری که در envKey نوشتهای خالی است | همان متغیر را export کن یا در .env بگذار |
404 model_not_found | id با شناسهٔ واقعی فرق دارد | از /models کپی کن (پیام 404 در uttapen.suggestions نزدیکترین شناسههای محتمل را هم پیشنهاد میدهد) |
404 not_found | wireApi روی responses است | آن را بردار |
| مدل در فهرست نیست | id provider غیر از openai است و بدون providerProtocol مانده | ورودی را زیر modelProviders.openai بگذار |
402 insufficient_balance | موجودی کمتر از رزرو لازم | شارژ کن یا max_tokens را کم کن |
429 | سقف نرخ یا سقف ماهانهٔ کلید (محدودیت نرخ) | صبر یا افزایش سقف |
اگر موجودی قابلاستفاده هزینهٔ کل max_tokens را پوشش ندهد، یوتاپن بهجای رد کردن درخواست سقف را تا اندازهٔ موجودی کم میکند (کف ۱٬۰۲۴ توکن) و عدد نهایی را در هدر X-Uttapen-Max-Tokens میگذارد؛ پاسخ ممکن است با finish_reason برابر length ناتمام بماند. 402 فقط وقتی است که همان کف هم نگنجد.
ابزارهای دیگر در یکپارچهسازی و کدهای خطا در خطاها.
با شماره موبایل ثبتنام کن، کیف پول را از ۱۰۰٬۰۰۰ تومان شارژ کن و کلید بساز. مدلهای رایگان بدون شارژ هم کار میکنند — تا ۵۰ درخواست در روز. ساخت کلید API ←