OneProvider

OpenCode

ارائه‌دهندهٔ Anthropic در OpenCode را با همان کلید به OneProvider وصل کنید و در صورت نیاز مدل‌های gpt-* را هم مسیردهی کنید. نمونهٔ پیکربندی و مدل پیش‌فرض.

OpenCode مدل‌های Anthropic و OpenAI را از طریق ارائه‌دهندگان افزونه‌پذیر مسیردهی می‌کند. بلوک anthropic را به OneProvider اشاره دهید و کار تمام است.

همهٔ مدل‌ها، قابلیت‌ها و قیمت‌ها فهرست مستندات برای عامل‌های هوش مصنوعی: https://oneprovider.dev/docs/llms.txt پیش از شروع: یک کلید از حساب کاربری حساب کاربری خود را باز کنید: ربات Telegram به نام @oneprovider_robot (بخش «حساب کاربری») یا app.oneprovider.dev . «صدور کلید» را بزنید، یک نام (مثلاً نام همین کلاینت) و سقف مصرف بدهید و کلید را کپی کنید. شارژ موجودی هم همان‌جاست. اطلاعات بیشتر دربارهٔ حساب کاربری و کلیدها .

پیکربندی

مسیر پیکربندی: ~/.config/opencode/opencode.json (یا opencode.jsonc). اگر فایل وجود ندارد، آن را بسازید.

json
{
"provider": {
"anthropic": {
"options": {
"baseURL": "https://api.oneprovider.dev/v1",
"apiKey": "sk-your-key-here"
},
"npm": "@ai-sdk/anthropic"
}
},
"$schema": "https://opencode.ai/config.json"
}

کلید API را می‌توان درون‌خطی (مثل بالا) تنظیم کرد یا بیرون از فایل نگه داشت: دستور /connect داخل OpenCode (یا opencode auth login در ترمینال) آن را جداگانه ذخیره می‌کند (در نسخهٔ 1.x در ~/.local/share/opencode/auth.json) و پیکربندی فقط baseURL را نگه می‌دارد.

راه‌های ساده‌تر

  • برای هر پروژه. همین JSON را در opencode.json ریشهٔ پروژه بگذارید: فقط همان‌جا اعمال می‌شود و روی فایل سراسری ادغام می‌شود.
  • کلید از متغیر محیطی. "apiKey": "{env:ONEPROVIDER_KEY}" را بنویسید و export ONEPROVIDER_KEY=sk-your-key-here را اجرا کنید. فایل رازی ندارد و می‌توان آن را کامیت کرد. اگر متغیر تنظیم نشده باشد، رشتهٔ خالی جایگزین می‌شود.

ماشین راه دور، CI، کانتینر

لازم نیست ~/.config را با SSH کپی کنید. opencode.json با {env:ONEPROVIDER_KEY} را در مخزن نگه دارید و ONEPROVIDER_KEY را روی آن ماشین تنظیم کنید (راز CI، docker run -e، export). در OpenCode 1.x می‌توانید کل پیکربندی را هم در یک متغیر بدهید، OPENCODE_CONFIG_CONTENT: JSON درون‌خطی که بعد از همهٔ فایل‌های پیکربندی اعمال می‌شود و چیزی روی دیسک نوشته نمی‌شود. OPENCODE_CONFIG=/path/to/config.json به فایل پیکربندی در جای دیگری اشاره می‌کند.

bash
export OPENCODE_CONFIG_CONTENT='{"provider":{"anthropic":{"npm":"@ai-sdk/anthropic","options":{"baseURL":"https://api.oneprovider.dev/v1","apiKey":"sk-your-key-here"}}}}'
opencode

OpenCode 1.x و OpenCode 2

نسخهٔ خود را با opencode --version ببینید: عدد با 1 شروع می‌شود ( OpenCode 1.x ، آنچه نصب‌کننده به‌طور پیش‌فرض می‌دهد) یا با 2 ( OpenCode 2 ). پیکربندی این صفحه قالب 1.x است (provider، npm، options) و OpenCode 2 آن را بدون تغییر از همان مکان‌ها می‌خواند. قالب بومی 2 اختیاری است؛ همان تنظیمات را با providers، package، settings می‌نویسد:

json
{
"providers": {
"anthropic": {
"package": "aisdk:@ai-sdk/anthropic",
"settings": { "baseURL": "https://api.oneprovider.dev/v1", "apiKey": "sk-your-key-here" }
},
"openai": {
"package": "aisdk:@ai-sdk/openai",
"settings": { "baseURL": "https://api.oneprovider.dev/v1", "apiKey": "sk-your-key-here" }
}
}
}

OpenCode 1.x را به فایلی که به قالب 2 بازنویسی شده اشاره ندهید: هر دو نسخه همان فایل‌ها را می‌خوانند. OPENCODE_CONFIG و OPENCODE_CONFIG_CONTENT برای 1.x مستند شده‌اند؛ در OpenCode 2 برای ماشین راه دور از opencode.json در پروژه و متغیر ONEPROVIDER_KEY استفاده کنید.

مسیردهی مدل‌های gpt-* هم

همین کلید برای مدل‌های GPT هم کار می‌کند — بلوک ارائه‌دهندهٔ دوم را اضافه کنید. هر دو در یک فایل هستند؛ مدل را به‌صورت provider/model-id انتخاب کنید.

json
{
"provider": {
"anthropic": { "options": { "baseURL": "https://api.oneprovider.dev/v1", "apiKey": "sk-your-key-here" }, "npm": "@ai-sdk/anthropic" },
"openai": { "options": { "baseURL": "https://api.oneprovider.dev/v1", "apiKey": "sk-your-key-here" }, "npm": "@ai-sdk/openai" }
}
}
مدل پیش‌فرض بعد از ذخیره، داخل OpenCode دستور /models را اجرا کنید و مدل پیش‌فرض را بگذارید — برای Anthropic claude-sonnet-5-5 و برای OpenAI gpt-6.1-terra.

کدام مدل را انتخاب کنیم

anthropic/claude-sonnet-5-5 را به‌عنوان مدل روزمره به کار ببرید: قیمت و کیفیت متعادل. برای کار معماری و بازسازی‌های بزرگ به anthropic/claude-opus-5-5 بروید و anthropic/claude-haiku-5-5 را جایی به کار ببرید که سرعت از عمق مهم‌تر است. برای مدل‌های GPT از بلوک openai استفاده کنید: openai/gpt-6.1-terra پیش‌فرض متعادل و openai/gpt-6.1-sol ردهٔ پیشرو است. برای انتخاب، /models را باز کنید؛ یک مدل ارزان برای تنظیم small_model در OpenCode (عنوان‌ها و کارهای کوتاه) هم مناسب است. شناسه‌ها در صفحهٔ مدل‌ها و نرخ‌ها در صفحهٔ قیمت‌ها است.

خطاهای رایج و راه‌حل‌ها

404 «The requested API endpoint does not exist»

در OpenCode ارائه‌دهندهٔ @ai-sdk/anthropic انتظار baseURL همراه با /v1 را دارد: https://api.oneprovider.dev/v1. /messages را خودتان اضافه نکنید و اینجا از میزبان خالی هم استفاده نکنید.

401 Invalid API key

کلید در پیکربندی ناقص است یا دور آن نقل‌قول گذاشته‌اید. می‌توانید /connect را هم اجرا کنید و کلید را آنجا جایگذاری کنید (OpenCode 1.x آن را در ~/.local/share/opencode/auth.json نگه می‌دارد)؛ سپس apiKey را از پیکربندی حذف کنید.

پیکربندی بارگذاری نمی‌شود

نقل‌قول‌های «هوشمند» از پیام‌رسان یا Notion JSON را خراب می‌کنند. فایل را با jq . ~/.config/opencode/opencode.json بررسی کنید، یا اگر توضیحات (comment) می‌خواهید از opencode.jsonc استفاده کنید.

مدل در فهرست نیست

آن را دقیقاً به‌صورت provider/model-id انتخاب کنید، مثلاً anthropic/claude-sonnet-5-5، و مطمئن شوید بلوک ارائه‌دهندهٔ متناظر در فایل هست.

429 «Insufficient balance»

موجودی یا سقف مصرف کلید تمام شده است. حساب کاربری را شارژ کنید؛ تلاش دوباره کمکی نمی‌کند.

استریم‌ها قطع می‌شوند

VPN یا پروکسی‌های VLESS را خاموش کنید: SSE را بافر می‌کنند و HTTP/2 را خراب می‌کنند.

پرسش‌های متداول

فایل پیکربندی کجاست؟

~/.config/opencode/opencode.json (یا opencode.jsonc). هر پروژه هم می‌تواند opencode.json خودش را داشته باشد.

چطور کلید را بیرون از فایل نگه دارم؟

OpenCode متغیرهای محیطی را جایگزین می‌کند: "apiKey": "{env:ONEPROVIDER_KEY}" را بنویسید و متغیر را در شل export کنید.

چطور روی ماشین راه دور یا در CI به کار ببرم؟

بدون کپی فایل با SSH: opencode.json با {env:ONEPROVIDER_KEY} را در مخزن نگه دارید و ONEPROVIDER_KEY را روی آن ماشین تنظیم کنید، یا (OpenCode 1.x) کل پیکربندی را در متغیر OPENCODE_CONFIG_CONTENT بدهید. به بخش «ماشین راه دور، CI، کانتینر» در بالا نگاه کنید.

می‌توانم هم Claude و هم GPT را به کار ببرم؟

بله. بلوک openai این صفحه را کنار بلوک anthropic اضافه کنید؛ یک کلید برای هر دو کار می‌کند.

به حساب Claude یا OpenAI نیاز دارم؟

نه، کلید OneProvider تنها اعتبارنامه است.

پاسخ‌های سریع

از کدام base URL استفاده کنم؟

Claude Code و SDKهای Anthropic از https://api.oneprovider.dev استفاده می‌کنند. SDKهای OpenAI و کلاینت‌های سازگار با OpenAI از https://api.oneprovider.dev/v1 استفاده می‌کنند. یک کلید پشت هر دو آدرس کار می‌کند؛ فهرست مدل‌ها در صفحهٔ مدل‌ها و نرخ‌ها در صفحهٔ قیمت‌ها است.

چگونه احراز هویت کنم؟

کلید خام sk-… را در x-api-key یا Authorization: Bearer بفرستید: یکی از این دو، نه هر دو. کلید را در یک متغیر محیطی نگه دارید، نه در فایلی که commit می‌شود. اطلاعات بیشتر دربارهٔ احراز هویت .

کلید را از کجا بگیرم؟

حساب کاربری خود را در ربات Telegram به نام @oneprovider_robot یا در app.oneprovider.dev باز کنید، موجودی را شارژ کنید و «صدور کلید» را بزنید. هر کلید می‌تواند سقف مصرف مخصوص خودش را داشته باشد. حساب کاربری و کلیدهای API .

کدهای 401، 404 و 429 یعنی چه؟

401: کلید ارسال نشده، اشتباه تایپ شده یا در هدر نادرست فرستاده شده است؛ کلید را کامل و بدون گیومه و فاصله جای‌گذاری کنید. 404: معمولاً base URL نادرست است، مثلاً /v1 جا افتاده یا دوبار آمده است. 429 با پیام «Insufficient balance»: موجودی حساب کاربری یا سقف مصرف کلید تمام شده است؛ به‌جای تلاش دوباره، شارژ کنید. هر 429 دیگری محدودیت نرخ است؛ تا پایان زمان Retry-After صبر کنید. جزئیات: کدهای خطا و رفع اشکال .

چرا استریم‌ها قطع یا ریست می‌شوند؟

VPN و پروکسی‌های VLESS اغلب SSE را بافر می‌کنند یا مذاکرهٔ HTTP/2 را مختل می‌کنند. OneProvider هیچ محدودیت منطقه‌ای ندارد و استریم‌ها را بافر نمی‌کند؛ پروکسی را خاموش کنید و دوباره امتحان کنید.

اگر این‌ها کافی نبود از کجا بپرسم؟

در Telegram به @Oneproviderhelpbot پیام بدهید یا در حساب کاربری وب «پشتیبانی» را باز کنید و کد وضعیت HTTP و متن دقیق خطا را بفرستید. پشتیبانی چگونه کار می‌کند .

آخرین به‌روزرسانی: 2026-11-08 باگی پیدا کردید؟ @Oneproviderhelpbot