Kilo Code با یوتاپن — provider سفارشی و kilo.jsonc
افزودن یوتاپن به Kilo Code بهعنوان Custom provider از نوع OpenAI Compatible، تنظیم limit.context و limit.output در kilo.jsonc و انتخاب Small Model ارزان.
بهروزرسانی: ۳۱ شهریور ۱۴۰۵
Kilo Code در نسخهٔ ۷ روی هستهٔ opencode بازنویسی شده و در VS Code، JetBrains و ترمینال یک فایل پیکربندی مشترک دارد. یوتاپن را بهصورت Custom provider اضافه میکنی. این صفحه با مستندات رسمی Kilo (نسخهٔ 7.x) بررسی شده است.
افزودن provider از رابط گرافیکی
۱. Settings (چرخدنده) ← تب Providers ← پایین فهرست، دکمهٔ Custom provider. ۲. فرم را پر کن:
| فیلد | مقدار |
|---|---|
| Provider ID | uttapen (حروف کوچک) |
| Display name | uttapen |
| Provider API | OpenAI Compatible |
| Base URL | https://api.uttapen.ir/v1 |
| API key | کلید sk-up-… از داشبورد ← کلیدها |
۳. بعد از واردکردن آدرس، Kilo مدلها را از GET /v1/models میآورد؛ از همان فهرست مدلهای موردنظرت را انتخاب کن و Submit را بزن.
مستندات Kilo پیشنهاد میکند برای مدلهای OpenAI گزینهٔ OpenAI Responses و برای مدلهای Anthropic گزینهٔ Anthropic Messages را بگیری. برای یوتاپن این کار را نکن: هر دو به مسیرهایی میروند که ما نداریم. همیشه OpenAI Compatible را انتخاب کن، حتی برای شناسههای openai/… و anthropic/….
سقف خروجی و context در kilo.jsonc
فرم گرافیکی فیلد سقف توکن ندارد؛ اینها در فایل پیکربندی تنظیم میشوند: ~/.config/kilo/kilo.jsonc برای همهٔ پروژهها یا kilo.jsonc در ریشهٔ پروژه.
{
"$schema": "https://app.kilo.ai/config.json",
"provider": {
"uttapen": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"apiKey": "{env:UTTAPEN_API_KEY}",
"baseURL": "https://api.uttapen.ir/v1"
},
"models": {
"anthropic/claude-sonnet-5": {
"name": "Claude Sonnet 5",
"tool_call": true,
"limit": { "context": 200000, "output": 8192 }
},
"openai/gpt-5-nano": {
"name": "GPT-5 nano",
"limit": { "context": 400000, "output": 1024 }
}
}
}
},
"model": "uttapen/anthropic/claude-sonnet-5",
"small_model": "uttapen/openai/gpt-5-nano"
}
limit.outputبهعنوانmax_tokensبه ما فرستاده میشود و پیشفرض داخلی Kilo برای آن ۳۲٬۰۰۰ است. چون یوتاپن پیش از ارسال، هزینهٔ همین سقف را از موجودی رزرو میکند (قیمتگذاری)، عدد بزرگ یعنی قفلشدن بیدلیل موجودی.8192برای ویرایش کد کافی است.- اگر
limitرا ننویسی، هر دو مقدار صفر میمانند و مدیریت خودکار context خاموش میشود؛ یعنی گفتگو خلاصه نمیشود و prompt مدام بزرگتر و گرانتر میشود. {env:UTTAPEN_API_KEY}کلید را از متغیر محیطی میخواند، پس کلید در فایل نمیماند.- شناسهٔ مدل در Kilo به شکل
provider_id/model_idاست و فقط اولین/جداکننده حساب میشود؛ بنابراینuttapen/anthropic/claude-sonnet-5درست است.
Small Model را حتماً بگذار
Kilo برای ساخت عنوان جلسه، پیام commit و بهبود prompt از Small Model استفاده میکند (تب Settings ← Models یا کلید small_model). اگر خالی بگذاری، Kilo اول دنبال یک مدل ارزان روی همان provider میگردد و چون provider سفارشی ما در کاتالوگ داخلیاش نیست، یا به سرویس خود Kilo میافتد یا همان مدل اصلی را با همان رزرو بزرگ صدا میزند. یک مدل ارزان مثل openai/gpt-5-nano یا google/gemini-2.5-flash-lite را صریح انتخاب کن.
برای مدل اصلی، شناسه را از فهرست مدلها بردار: anthropic/claude-sonnet-5 و openai/gpt-5 برای کار سنگین، qwen/qwen3-coder و deepseek/deepseek-v3.2 برای کار ارزانتر.
بررسی اتصال
در ترمینال یا پنل Kilo یک درخواست کوچک بزن و بعد در داشبورد ← مصرف دو ردیف ببین: یکی برای مدل اصلی و یکی کوچک برای Small Model.
عیبیابی
| خطا | علت در Kilo | راهحل |
|---|---|---|
401 invalid_api_key | کلید در provider ذخیره نشده یا متغیر محیطی خالی است | کلید را دوباره در فرم provider بگذار یا UTTAPEN_API_KEY را export کن |
404 model_not_found | شناسهٔ مدل دستی و اشتباه نوشته شده | از فهرست خودکار Kilo انتخاب کن (پیام 404 در uttapen.suggestions نزدیکترین شناسههای محتمل را هم پیشنهاد میدهد) |
404 not_found | Provider API روی OpenAI Responses یا Anthropic Messages است | به OpenAI Compatible تغییر بده |
402 insufficient_balance | رزرو بزرگ بهخاطر نبودن limit.output، یا موجودی کم | limit.output را بگذار و کیف پول را شارژ کن |
429 | سقف نرخ یا سقف ماهانهٔ کلید (محدودیت نرخ) | صبر کن یا سقف کلید را بالا ببر |
| هشدار «پاسخ ناتمام» | مدل به limit.output رسیده است | عدد را بالاتر بگذار یا reasoning را خاموش کن |
اگر موجودی قابلاستفاده کفاف کل max_tokens را ندهد، یوتاپن سقف خروجی را تا اندازهٔ موجودی کم میکند (حداقل ۱٬۰۲۴ توکن) و عدد اعطاشده را در هدر X-Uttapen-Max-Tokens میفرستد؛ در این حالت هشدار «پاسخ ممکن است ناقص باشد» Kilo را میبینی. اگر حتی ۱٬۰۲۴ توکن هم جا نشود، 402 برمیگردد.
ابزارهای دیگر در یکپارچهسازی و کدهای خطا در خطاها.
با شماره موبایل ثبتنام کن، کیف پول را از ۱۰۰٬۰۰۰ تومان شارژ کن و کلید بساز. مدلهای رایگان بدون شارژ هم کار میکنند — تا ۵۰ درخواست در روز. ساخت کلید API ←