Crush با یوتاپن — provider از نوع openai-compat در crushrc
افزودن یوتاپن به Crush با دستور provider add از نوع openai-compat، ثبت مدلها با context-window و default-max-tokens و انتخاب مدل small ارزان.
بهروزرسانی: ۳۱ شهریور ۱۴۰۵
Crush ایجنت کدنویسی ترمینالی Charm است. پیکربندیاش از نسخههای اخیر یک فایل Bash به نام crushrc است که هنگام اجرا خوانده میشود و دستورهای مخصوص Crush دارد (فرمت قدیمی crush.json هنوز خوانده میشود ولی منسوخ اعلام شده). این صفحه با مستندات مخزن رسمی در شهریور ۱۴۰۵ بررسی شده است.
فایل crushrc
~/.config/crush/crushrc برای همهٔ پروژهها، یا .crushrc در ریشهٔ پروژه:
provider add uttapen \
--type openai-compat \
--base-url "https://api.uttapen.ir/v1" \
--api-key "$UTTAPEN_API_KEY"
model add uttapen/anthropic/claude-sonnet-5 \
--name "Claude Sonnet 5" \
--context-window 200000 \
--default-max-tokens 8192
model add uttapen/openai/gpt-5-nano \
--name "GPT-5 nano" \
--context-window 400000 \
--default-max-tokens 1024
model large uttapen/anthropic/claude-sonnet-5
model small uttapen/openai/gpt-5-nano
بعد UTTAPEN_API_KEY را در محیط بگذار (یا در همان فایل از یک مدیر رمز بخوان، چون Bash است):
export UTTAPEN_API_KEY="sk-up-..."
چهار نکتهای که هزینهات را تعیین میکند
--type openai-compatرا حتماً بنویس. نوعopenaiبرای هر شناسهای که الگویgpt-4تاgpt-9داشته باشد سراغ Responses API میرود؛ یوتاپن آن مسیر را ندارد و جواب404است.- مدلها را دستی ثبت کن. اگر فهرست مدل خالی بماند، Crush از
GET /v1/modelsمیخواند و چون از آنجا فقط شناسه را برمیدارد،context_windowوdefault_max_tokensصفر میمانند: هیچ سقف خروجی فرستاده نمیشود، خلاصهسازی خودکار خاموش میشود و بیش از ۴۰۰ مدل در انتخابگر میریزد. --default-max-tokensهمان سقفی است که ما رزرو میکنیم (قیمتگذاری).8192برای کار روی کد کافی است؛ اگر جایی به سقف خوردی، باmodel large … --max-tokens 16000موقتاً بالاترش ببر.model smallرا بگذار. عنوان جلسه با مدل small و سقف بسیار کوچک ساخته میشود؛ اگر تعیینش نکنی، Crush اولین مدل provider را برای هر دو نقش برمیدارد.
شناسهها را از فهرست مدلها بردار؛ / داخل شناسه مشکلی ندارد چون Crush فقط اولین / را جداکنندهٔ provider میگیرد. برای کار سبکتر qwen/qwen3-coder و deepseek/deepseek-v3.2، و برای عنوان و کارهای ریز openai/gpt-5-nano یا google/gemini-2.5-flash-lite.
بررسی اتصال
Crush را در یک پروژه باز کن، مدل را از فهرست انتخاب کن و یک سؤال کوتاه بپرس؛ بعد دو درخواست (عنوان و پیام) را در داشبورد ← مصرف ببین.
عیبیابی
| خطا | علت در Crush | راهحل |
|---|---|---|
401 invalid_api_key | UTTAPEN_API_KEY در محیطی که Crush اجرا شده خالی است | متغیر را export کن و دوباره اجرا کن |
404 model_not_found | شناسهٔ مدل در model add اشتباه است | از /models کپی کن (پیام 404 در uttapen.suggestions نزدیکترین شناسههای محتمل را هم پیشنهاد میدهد) |
404 not_found | provider با --type openai ساخته شده | با --type openai-compat دوباره بسازش |
402 insufficient_balance | موجودی کمتر از رزرو، یا رزرو بزرگ چون سقف تعیین نشده | --default-max-tokens را بگذار و شارژ کن |
429 | سقف نرخ یا سقف ماهانهٔ کلید (محدودیت نرخ) | صبر یا افزایش سقف |
| پاسخ ناتمام | مدل به سقف خروجی خورده است | --max-tokens مدل large را بالاتر بگذار |
وقتی موجودی قابلاستفاده کل سقف خروجی را پوشش ندهد، یوتاپن سقف را به اندازهٔ موجودی کم میکند (کف ۱٬۰۲۴ توکن) و عدد نهایی را در هدر X-Uttapen-Max-Tokens برمیگرداند؛ 402 فقط برای وقتی است که همان کف هم جا نشود.
ابزارهای دیگر در یکپارچهسازی و کدهای خطا در خطاها.
با شماره موبایل ثبتنام کن، کیف پول را از ۱۰۰٬۰۰۰ تومان شارژ کن و کلید بساز. مدلهای رایگان بدون شارژ هم کار میکنند — تا ۵۰ درخواست در روز. ساخت کلید API ←