Strona główna → Poradniki → OpenCode z własnym API: konfiguracja, Claude, small_model i realne koszty
OpenCode czyta dostawców z opencode.json, więc konfiguracja to jeden plik. Zaskoczył nas rachunek: prośba o jedno słowo dała dwa żądania i ponad 12 000 tokenów wejściowych. Uruchomiliśmy OpenCode 1.19.0 na naszej bramce z trzema modelami, żeby pokazać, gdzie idą tokeny i jak je ograniczyć.
Wstaw to do ~/.config/opencode/opencode.json (albo opencode.json w projekcie):
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"apiclan": {
"npm": "@ai-sdk/openai-compatible",
"name": "APICLAN",
"options": {
"baseURL": "https://apiclan.us/v1",
"apiKey": "{env:APICLAN_GPT_KEY}"
},
"models": {
"gpt-6-astra": {},
"gpt-6.1-sol": {}
}
}
}
}
APICLAN_GPT_KEY.models wpisz tylko modele z grupy tego klucza. Każdy klucz należy do jednej grupy, więc GPT, DeepSeek i Claude potrzebują osobnych wpisów dostawcy i osobnych kluczy.opencode, wpisz /models i wybierz APICLAN → gpt-6-astra. W skryptach: opencode run -m apiclan/gpt-6-astra "...".| baseURL | Wynik |
|---|---|
https://apiclan.us/v1 | ✓ |
https://apiclan.us | ✗ 404 Not Found |
@ai-sdk/openai-compatible dopisuje do baseURL tylko /chat/completions, więc /v1 musi już tam być. Bez niego OpenCode kończy się samym Not Found.
Dodaj w provider drugiego dostawcę z pakietem Anthropic i kluczem z grupy Claude:
"claude": {
"npm": "@ai-sdk/anthropic",
"name": "APICLAN Claude",
"options": {
"baseURL": "https://apiclan.us/v1",
"apiKey": "{env:APICLAN_CLAUDE_KEY}"
},
"models": { "claude-fable-5-1": {} }
}
Tu również baseURL musi kończyć się na /v1: pakiet Anthropic dopisuje tylko /messages, a samo https://apiclan.us zwróciło w teście 404. To odwrotnie niż w Claude Code, gdzie ANTHROPIC_BASE_URL nie może zawierać /v1.
W pustym projekcie poprosiliśmy OpenCode o „Reply with just OK”. Każdy model wysłał dwa żądania: jedno, by nadać tytuł sesji, i właściwe, z promptem systemowym i definicjami narzędzi OpenCode.
| Model | Żądania | Tokeny wejściowe (tytuł + odpowiedź) | Czas całkowity | Koszt |
|---|---|---|---|---|
gpt-6-astra | 2 | 4,640 + 7,678 | 20.5 s | $0.050 |
deepseek-v4-pro | 2 | 528 + 5,708 | 34.1 s | $0.005 |
deepseek-v4.1-flash | 2 | 529 + 3,027 | 21.8 s | $0.0006 |
OpenCode wysyła modelom GPT dużo dłuższy prompt systemowy (ok. 7700 tokenów) niż DeepSeek (ok. 3000), a samo żądanie tytułu zużyło na GPT 4640 tokenów. Dlatego to samo „OK” kosztowało na gpt-6-astra około 77 razy więcej niż na deepseek-v4.1-flash. Test z 12 października 2026, OpenCode 1.19.0; koszty według rozliczenia naszej bramki.
OpenCode używa small_model do zadań pobocznych, takich jak tytuły sesji. Skieruj go na tani model u osobnego dostawcy:
"small_model": "apiclan-ds/deepseek-v4.1-flash",
"provider": {
"apiclan": { ... },
"apiclan-ds": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "https://apiclan.us/v1",
"apiKey": "{env:APICLAN_DS_KEY}"
},
"models": { "deepseek-v4.1-flash": {} }
}
}
Przy gpt-6-astra jako modelu głównym żądanie tytułu spadło z 0,0187 $ do 0,00003 $, a cała wymiana jednego słowa z 0,050 $ do 0,031 $ — 38% mniej przy każdej nowej sesji, bez zmiany odpowiedzi.
To samo zadanie dla każdego modelu: napisać fizzbuzz.py i testy pytest, bez uruchamiania poleceń. Potem porównaliśmy każdą funkcję z poprawnym wynikiem dla 1–30.
| Model | Żądania | Czas całkowity | Koszt | Poprawne | Asercje w testach |
|---|---|---|---|---|---|
gpt-6-astra | 3 | 40 s | $0.069 | ✓ | 2 |
deepseek-v4-pro | 3 | 61 s | $0.008 | ✓ | 7 |
deepseek-v4.1-flash | 3 | 25 s | $0.0011 | ✓ | 7 |
Wszystkie trzy napisały poprawny kod w trzech żądaniach. deepseek-v4.1-flash był najszybszy i kosztował około 1/60 tego, co gpt-6-astra; oba modele DeepSeek napisały też dokładniejsze testy. deepseek-v4-pro był najwolniejszy, bo przed każdym krokiem rozumuje. Czas całkowity obejmuje kilka sekund startu samego OpenCode.
baseURL bez /v1.apiKey nie jest ustawiona w terminalu, z którego startuje OpenCode.is not supported by any configured account in this group) → model w models nie należy do grupy klucza, np. model GPT u dostawcy z kluczem DeepSeek.Inne narzędzia dla programistów: Cline z własnym API · Codex z własnym API.
Bez abonamentu, bez minimum miesięcznego, bez rozmowy z handlowcem. Doładuj w USDT i płać za to, czego używasz — 1 USDT to 2 kredyty salda API.
Przeczytaj 30-sekundowy szybki startJęzyk: English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Deutsch · Français · Español · Türkçe · Português · Italiano · Bahasa Indonesia · Tiếng Việt · Bahasa Melayu · Polski · Čeština · فارسی · Русский
Ceny na tej stronie są uzupełniane automatycznie z rzeczywistych danych rozliczeniowych. Warunki stron trzecich cytujemy z ich dokumentacji.