Opencode- models- devision 2.0 Release: Konfiguracja kształtów Full, OpenCode v2 Formalnie poprawny
Po pierwsze, wniosek jest następujący:Opencode- models- discovery 2.0.0, opublikowane 19 października 2026, formalnie przywrócić OpenCode v2 do głównej siły i v1 do kompatybilnego adaptera.To nie jest rutynowa aktualizacja -- kształt pliku konfiguracyjnego jest całkowicie zmieniony, a ty podążasz za starym programem nauczania, i prawdopodobnie nie możesz wyjść poza linię.
Sam nadepnąłem na trzy ogony. Wszystko tam jest. Po pierwsze, to co robi: jest to wtyczka OpenCode, która rozwiązuje bardzo denerwujący problem - dostajemy kilka bramek kompatybilnych z OpenCode, lokalne usługi modelowe, tranzytowanie API, a każdy nowy model idzie ręcznie do konfigu, aby trafić nazwę modelu, długość kontekstu, cena. Ta wtyczka sprawia, że pasuje tylko raz, a reszta sama się ciągnie.
Co się zmieniło tym razem?
Magazyn został zbudowany w kwietniu 2026 roku przez Yuhp / opencode- modele-odkrycie, MIT, a teraz 188 gwiazd, 57 widelec. To nie brzmi jak szczyt listy, ale to kilka projektów w ekologii OpenCode, które poważnie dotyczą "odkrycia modelu".
2, 0 Jest tylko jedno podstawowe działanie:Podnieść OpenCode v2 do pierwotnej stabilnej integracjiNie wiem. Technicznie, V2 wykorzystuje oryginalne struktury konfiguracyjne dla impulsów / dostawców, cykl życia dostawcy API, host hosting przechowywania, voucher integracji, natywny TUI, RPC Handler i narzędzia Agent.
Tłumaczenie: Stary plugin był "Zmieniłem konfigurację" i teraz jest "Host otwiera mnie". Dokument nie musi być zapisany w pliku konfiguracyjnym, podręcznik jest przekazywany menedżerowi serwera, a pokrywy modelu mogą być zapalone w panelu TuI i nie mogą być ponownie uruchomione.
Poziom wsparcia dla v1 i v2
| Wersja hosta | Poziom wsparcia | Konfiguracja pól | Przechowywanie i bon |
|---|---|---|---|
| OpenCode v2 | Stabilne / główne | plugins oraz providers | Host ctx.storage / ctx.integration |
| OpenCode v1 | Zgodność dziedziczenia | plugin oraz provider | v1 XDG Cache + auth Bottom |
v1 nie jest cięty, bezpieczna naprawa i poważny powrót pozostanie na miejscu. Ale nowe funkcje -- cykl życia, cache, TUI, RPC, obłożenie modelu -- wszystko idzie tylko do v2, a nie automatycznie z powrotem do v1.
Dwa lub dziewięć formatów metadanych. To jest najważniejsze.
v2.0.0 Oficjalny dokument posiada dziewięć modeli formatów informacyjnych, które całkowicie usuwają "spożycie metadanych" i "planowanie odkryć". Jest to inteligentny projekt: logika ruchu nie musi być zmieniana dla każdego producenta, z adapterem formatu.
| Format | Co? | Dodatkowe wnioski |
|---|---|---|
openrouter | Długość konteksu, górne kapsle wyjściowe, tryb (tekst / obraz / udio), cena wywołania / dopełnienia i pamięci podręcznej, znaki wywołania narzędzia, sloty rozumowania (niskie / media / wysokie) | Brak dodatkowego wniosku |
aiproxy | Wyświetlanie Limity Inline AIProxy, Cena, wysiłek + Models.dev Imię | zespół |
bifrost | Limity wewnętrzne, pleśń, token, wariant rozumowania | Brak dodatkowego wniosku |
litellm | Bogate metadane modelu, ograniczenia kontekstowe, ceny, możliwości | Wniosek /v1/model/info |
lmstudio | Wczytywana konfiguracja instancji (LM Studio 0.4.0 + rodzime) /api/v1/modelsNie jestem pewna. | Raz. |
llama-swap | Długość, struktura, znaki wywołania funkcji | Brak dodatkowego wniosku |
models.dev | Dolny katalog publiczny, wspólny kontekst i możliwości | Ciągnij! models.json |
omniroute | (szybka / flex) | Brak dodatkowego wniosku |
vllm | Prosto. max_model_len | Brak dodatkowego wniosku |
Obejrzyj ostatnie zdanie:Jeśli się nie zgadzasz modelInfoFormatPotem jest tylko model ID, nie ma metadanych.To nie jest błąd, to design. Nie zgaduj, jaką usługę wykonujesz, unikając złych cen i długości kontekstu.
W ogóle nie pasowałem do tego pola i spojrzałem na listę modeli z jedynymi nazwiskami i pomyślałem: "Dlaczego nic się nie zmieniło?" Spojrzałem na nie pół dnia.
A co z profilem? Napisz
To najprostsze miejsce do przewrócenia. plugin / provider / options Nieprawidłowe wszystkie w v2, zastąp je liczbą mnogą settingsNie wiem.
| OpenCode v1 | OpenCode v2 |
|---|---|
plugin | plugins |
provider | providers |
provider.<id>.npm | providers.<id>.package |
provider.<id>.options | providers.<id>.settings |
options.baseURL | settings.baseURL |
options.apiKey | settings.apiKey |
options.modelsDiscovery | settings.modelsDiscovery |
Konfiguracja v2, która działa bezpośrednio, jest następująca:
{
"$schema": "https://opencode.ai/config.json",
"plugins": [
"opencode-models-discovery@2.0.0"
],
"providers": {
"gateway": {
"package": "@opencode/ai/providers/openai-compatible",
"name": "My Gateway",
"settings": {
"baseURL": "https://gateway.example.com/v1",
"apiKey": "{env:GATEWAY_API_KEY}",
"modelsDiscovery": {
"enabled": true,
"modelInfoFormat": "models.dev",
"smartModelName": true,
"cache": {
"enabled": true,
"ttlSeconds": 86400
}
}
}
}
}
}
Należy zauważyć kilka punktów:
modelsDiscovery.enabledTak.WidoczneNapisztrueNie wiem. v2 nie jest już domyślnie otwarty, jest to zmiana zachowania, nie opcjonalne.packageKompatybilna usługa OpenAI@opencode/ai/providers/openai-compatibleNie wiem.- Certyfikat
{env:KEY}Niech gospodarz się przeprowadzi, albo nie pisze.apiKeyBezpośrednio przy użyciu OpenCode./connectInteraktywne wejście. - Domyślnym pociągnięciem jest
/v1/models(w stosunku do źródła bazowego URL). W kontakcie z DeepSeek./modelsTak, tak, tak.modelsDiscoveryRyga."endpoint": "/models"Nie wiem. - v2 Ani trochę. V1
auth.jsonorazOPENCODE_AUTH_CONTENTIdź na dno. Utknie w 401.
IV. Model pokrycia i pamięci podręcznej, bardziej funkcjonalny niż oczekiwano
Model v2 obejmuje przechowywany host overrides:<providerID>:<modelID> Namespace. Zmiany można dokonać w dziedzinach takich jak nazwy wyświetlaczy, ograniczenia, umiejętności, rozumowanie, załączniki, warianty, ceny, kompatybilne metadane.
Jest wiele do powiedzenia o:Pola takie jak bony i zezwolenia zostałyby odrzucone i nigdy nie byłyby zrównoważone.Granica jest wyraźnie rysowana - pokrycie obejmuje parametry wyświetlania i ruchu, a nie klucz, który podłączasz.
Inny organizator /models-discovery-console Wizualizacja edycji, etykietowanie zawyżonych modeli na liście *Nie wiem. Zmień listę modeli, aby przeładować i odświeżyć TUI bezpośrednio, bez ponownego uruchamiania usługi.Cache nie zostanie usunięty.To właśnie wielu ludzi robi źle.
Domyślne obudowy są wyłączone, a następnie domyślne TTL 24 godziny, z oryginalną odpowiedzią na wykrywanie i eutrofizacją, go- host ctx.storageNie wiem. Uwaga Plik buforowy XDG dla v1Nie.Import v2, dwie grupy wymienionych przestrzeni są całkowicie odizolowane.
V. Polecenia TUI i narzędzia Agent
V2 oferuje cztery punkty dostępu:
/models-discovery-refresh
/models-discovery-console
models_discovery_refresh
models_discovery_status
Pierwsze dwa to polecenia TUI, ostatnie dwa są do automatyzacji.models_discovery_status Pass rawCache: true Jest to szczególnie przydatne, gdy można wypluć oryginalne modele w pamięci podręcznej wraz z wynikami eutrofizacji.
Console obsługuje również filtrowanie przez dostawcę:/models-discovery-console status --provider <provider-id>Nie wiem. Kiedy bierzesz trzy lub pięć bramek, oszczędzasz czas.
Sześć: Podaj ten czek przed awansem.
- Wersja OpenCode: v2 wymaga ≥ 2.0.26; co najmniej 1.18.29 pozostaje w v1.
- Zastąp pola Wszystkie: complex +
settingsNie wiem.npmTak.packageNie wiem.optionsTak.settingsNie wiem. - Widok otwarty: Napisz każdego dostawcę, aby znaleźć
enabled: trueNie wiem. - Kontrola końcowa: Nie
/v1/modelsRęczny.endpointNie wiem.
Pozostałe dwa są łatwe do zignorowania: budowa lokalna.package Do wypełnienia file:///绝对路径/distNie wiem.Wskaż katalog zamiast index.jsMusimy zmienić kod. opencode service restart Niech obsługa back-office załaduje nową książkę. Trzeci to miejsce, w którym utknąłem -- pół dnia bez kodu, ponieważ obsługa nawet się nie zaczęła.
Warto udawać?
Spójrz na swoją scenę.
- Tylko jeden oficjalny APINie udawaj. Lista modeli to te napisane ręcznie przez rok, a wtyczki są jeszcze jedną warstwą.
- Mamy przystanek. Brama polimerowa.: Silna rekomendacja. Takie modele usług charakteryzują się frekwencją, przezwiskami i częstymi zmianami cen, a ręczną obsługą jest wyłącznie samo-nadużycie.
- Lokalny operator LM Studio / vLLM / lama-swapZaładuj. Te modele usług są ładowane na żądanie. Wtyczka cię załaduje.
max_model_lenJest o wiele bardziej bezpośredni, dużo szybszy niż twoja własna konfiguracja. - Firma zbudowała bramę.Warto to ocenić. Dziewięć formularzy.
bifrostNie wiem.omnirouteTo do bramy.includeBy/excludeByObsługuje regularne i równoważne filtrowanie oryginalnych pól, które mogą bezpośrednio blokować modele, które nie powinny być postrzegane przez zwykłych użytkowników.
2, 0 Jeśli chodzi o siebie, uwagi do wydania odnoszą się do 41 plików testowych, 314 testów, plus lokalnych testów integracji OpenAI kompatybilnych HTTP i walidacji tłumaczenia produktu. Ta gęstość testowa jest poważna dla 188-gwiazdkowego projektu.
V1 działa, ale nowe rzeczy są w v2. Jeśli chcesz działać w dłuższej perspektywie, przesuń konfiguracje wcześniej i nie czekaj do dnia, w którym adapter V1 ma tylko system bezpieczeństwa.
Adres projektu:Gythub.com / yuhp / opencode- models- discovery, zainstalować bezpośrednio npm i opencode-models-discovery@2.0.0 Lub zapisać nazwę pakietu w powyższej konfiguracji. pluginsOpenCode sam rozwiąże obciążenie.