آموزش OpenCode با API سفارشی llmapi
OpenCode یک ایجنت برنامهنویسی متنباز برای ترمینال است که با providerهای مختلف کار میکند. llmapi در OpenCode بهعنوان یک provider سازگار با OpenAI تعریف میشود و همهٔ مدلها زیر نام llmapi/ در دسترس قرار میگیرند.
راهاندازی با یک دستور
macOS و Linux:
curl -fsSL https://llmapi.cheap/install.sh | sh
Windows (PowerShell):
irm https://llmapi.cheap/install.ps1 | iex
Node.js لازم نیست. کلید sk-llm-… را وارد کنید یا دستور آماده را از داشبورد کپی کنید. فقط OpenCode (macOS/Linux):
curl -fsSL https://llmapi.cheap/install.sh | sh -s -- --only opencode
این دستور چه چیزهایی را تغییر میدهد؟
در ~/.config/opencode/opencode.json (یا مسیری که OPENCODE_CONFIG نشان میدهد):
- provider جدیدی به نام
llmapiبا پکیج@ai-sdk/openai-compatibleاضافه میشود؛ providerهای دیگر شما حفظ میشوند. - همهٔ مدلهای llmapi با سقف context و خروجیشان در این provider ثبت میشوند.
- مدل پیشفرض روی
llmapi/gemini-3.8-flash-highقرار میگیرد.
از فایل نسخهٔ پشتیبان opencode.json.llmapi-backup ساخته میشود.
راهاندازی دستی
این را در ~/.config/opencode/opencode.json بگذارید:
{
"$schema": "https://opencode.ai/config.json",
"model": "llmapi/gemini-3.8-flash-high",
"provider": {
"llmapi": {
"npm": "@ai-sdk/openai-compatible",
"name": "llmapi",
"options": { "baseURL": "https://llmapi.cheap/v1", "apiKey": "YOUR_API_KEY" },
"models": {
"claude-sonnet-4-6": {},
"gemini-3.1-pro-high": {},
"gemini-3.8-flash-high": {}
}
}
}
}
هر شناسهٔ دیگری از فهرست مدلها را هم میتوانید زیر models اضافه کنید.
تغییر مدل
- داخل OpenCode دستور
/modelsرا بزنید و یکی از مدلهایllmapi/…را انتخاب کنید. - یا مقدار
modelرا درopencode.jsonعوض کنید، مثلاً"llmapi/claude-sonnet-4-6".
مدلهای Claude و GPT-OSS فقط در پلنهای پولی کار میکنند؛ مدلهای Gemini در دورهٔ آزمایشی هم فعالاند.
مشکلات رایج
- مدل در فهرست نیست: شناسهٔ مدل را زیر
provider.llmapi.modelsاضافه کنید، یا دستور یکخطی را دوباره اجرا کنید تا همهٔ مدلها ثبت شوند. - خطای 404:
baseURLبایدhttps://llmapi.cheap/v1باشد (با/v1). - خطای 401: کلید را از داشبورد دوباره کپی کنید؛ باید با
sk-llm-شروع شود. - فایل parse نمیشود: اگر قبلاً
opencode.jsonخرابی داشتید، اسکریپت آن را دست نمیزند و پیام خطا میدهد. فایل را درست کنید یا جابهجا کنید و دوباره اجرا کنید.
سؤالات متداول
نام مدل در OpenCode چرا با llmapi/ شروع میشود؟
OpenCode مدلها را با نام provider مشخص میکند. llmapi/gemini-3.8-flash-high یعنی مدل gemini-3.8-flash-high از provider به نام llmapi.
providerهای دیگرم از بین میروند؟
نه. فقط بخش llmapi اضافه یا جایگزین میشود.
میتوانم چند درخواست همزمان بفرستم؟
بله. تعداد درخواستهای موازی محدود نیست؛ فقط سهمیهٔ پنجساعته و هفتگی پلن مهم است.
شروع کنید
ثبتنام کنید تا کلید API خودکار ساخته شود و یک ساعت آزمایش رایگان بگیرید، بعد دستور یکخطی را اجرا کنید. اگر هنوز بین ایجنتها مردد هستید، راهنمای ایجنتهای برنامهنویسی را بخوانید.