Ostatnia aktualizacja OpenCode, otwartoźródłowego asystenta kodowania AI, przynosi dwie kluczowe nowości dla deweloperów. Po pierwsze, rozszerza możliwości integracji z chmurą, dodając oficjalne wsparcie dla modeli Azure spoza ekosystemu OpenAI. Po drugie, co istotne dla rosnącej grupy użytkowników, rozwiązuje długo oczekiwany problem: dodaje natywne wsparcie dla architektury ARM64 w systemie Windows, co jest przełomem dla posiadaczy laptopów z procesorami Qualcomm Snapdragon X Elite.
Dlaczego ARM64 dla Windows stanowiło taki problem?
Problem był znany od miesięcy i zgłoszony oficjalnie w repozytorium projektu jako issue #4340. Użytkownicy systemu Windows 11 na architekturze ARM64, instalujący OpenCode przez menedżery pakietów takie jak WinGet, Chocolatey czy nawet npm install -g opencode-ai, napotykali tę samą, frustrującą wiadomość: „It seems that your package manager failed to install the right version of the opencode CLI for your platform. You can try manually installing the 'opencode-windows-arm64′ package”. Paradoks polegał na tym, że taki pakiet po prostu nie istniał.
Winę za ten stan rzeczy ponosił łańcuch zależności. OpenCode jest zbudowany na środowisku uruchomieniowym Bun. A Bun do niedawna nie oferował natywnej wersji bun-windows-arm64 – wszystko przez to, że sam Bun zależy od silnika WebKit, który nie miał pełnego wsparcia dla Windows na ARM. To tworzyło sytuację patową.
Deweloperzy musieli stosować skomplikowane obejścia. Najpopularniejszym była ręczna instalacja pakietu opencode-windows-x64 z flagą --force, wymuszająca pobranie binarki pod x64, a następnie ustawienie zmiennej środowiskowej OPENCODE_BIN_PATH, by nakierować wrapper Node.js na emulowany plik wykonywalny. Działało to, ale było dalekie od ideału – niektórzy zgłaszali nawet sporadyczne błędy segfault (kod wyjścia 139) podczas uruchamiania TUI.
Dzięki aktualizacji do Bun w wersji 1.3.10, który w końcu dostarczył stabilną wersję pod ARM64, zespół OpenCode mógł zbudować i wydać natywne pakiety. To nie tylko upraszcza instalację, ale też powinno znacząco poprawić stabilność i wydajność działania na nowych laptopach z procesorami Snapdragon.
Szersze horyzonty: wsparcie dla modeli Azure poza OpenAI
Druga istotna zmiana dotyczy warstwy AI. Dotychczas integracja z Azure OpenAI Service była oczywiście możliwa, ale framework był w dużej mierze zoptymalizowany pod endpointy OpenAI. Aktualizacja wprowadza pełnoprawne wsparcie dla modeli innych niż OpenAI dostępnych przez Azure AI, które korzystają z endpointów typu completions.
Co to oznacza w praktyce? Deweloperzy i firmy korzystające z usług innych dostawców modeli językowych hostowanych na Azure – na przykład GLM-4 od firmy Z.AI – mogą teraz bezproblemowo podłączyć je do OpenCode. Integracja odbywa się przez znane polecenie /models w CLI. To poszerza pole manewru, pozwalając na wykorzystanie bardziej niszowych lub zlokalizowanych modeli, które mogą lepiej radzić sobie z określonymi zadaniami czy językami.
Solidniejszy fundament: bezpieczeństwo typów i naprawa błędów
W tle tej dużej aktualizacji znalazło się mnóstwo pracy nad stabilnością i architekturą kodu. Kluczowym obszarem było wzmocnienie bezpieczeństwa typów (type safety). Zespół przeprojektował sposób zarządzania kluczowymi identyfikatorami w systemie, takimi jak PartID, WorkspaceID, SessionID czy ProjectID.
Zamiast zwykłych stringów czy liczb, identyfikatory te są teraz "brandowane" za pomocą schematów Drizzle i Zod. To technika, która na poziomie systemu typów TypeScript uniemożliwia przypadkowe pomylenie identyfikatora sesji z identyfikatorem obszaru roboczego (workspace), nawet jeśli oba są stringami. Kompilator wyłapie taki błąd, zanim kod trafi do produkcji, co zmniejsza ryzyko subtelnych, trudnych do wykrycia błędów w logice aplikacji.
Naprawiono też kilka dokuczliwych błędów. Jednym z nich był timeout przy przetwarzaniu długich strumieni odpowiedzi od modeli językowych (LLM stream chunk timeout) – domyślny limit wydłużono z 2 do 5 minut. Poprawiono również pobieranie danych organizacji, zarządzanie konsolami w tle na Windows oraz problemy z pamięcią w dużych monorepozytoriach Javy. Dla użytkowników Electrona (wersji desktopowej) istotna jest poprawka ukrywająca niechciane okna konsoli w tle.
Więcej uniwersalności i drobne usprawnienia

Aby zwiększyć przenośność kodu i zmniejszyć zależność od specyficznych API Buna, zespół zastąpił je standardowymi API Node.js. Na przykład Bun.connect zamieniono na net.createConnection, a Bun.hash na bibliotekę xxhash3-xxh64. To krok w kierunku większej niezależności od środowiska wykonawczego.
Dodano też GPT-5.4 do listy dozwolonych modeli dla Codex, co otwiera drogę do korzystania z najnowszych osiągnięć OpenAI. W warstwie agentowej AI wprowadzono zmiany w sposobie prezentacji "umiejętności" (skills) – mają one teraz być lepiej opisane dla modelu, co optymalizuje użycie tokenów i zwiększa szansę, że agent poprawnie wywoła potrzebne narzędzie.
Jak zainstalować teraz OpenCode?
Proces stał się prostszy, szczególnie dla użytkowników ARM64. Standardowe metody działają bez obejść:
- npm:
npm install -g opencode-ai - Skrypt curl:
curl -fsSL https://opencode.ai/install | bash - Bezpośrednie pobranie: Na stronie projektu dostępne są teraz paczki
.exezarówno dla Windows x64, jak i ARM64, a także dla macOS (Apple Silicon/Intel) i Linuxa (.deb/.rpm).
Integracja z edytorami, takimi jak VS Code czy Cursor, pozostaje bez zmian – często wystarczy wcisnąć Ctrl+Esc w terminalu, aby uruchomić OpenCode, a wtyczka zadba o resztę.
Podsumowanie
Aktualizacja OpenCode do wersji 1.2.27 i wcześniejszych to coś więcej niż zwykły zestaw poprawek. To strategiczny ruch w dwóch kierunkach. Z jednej strony – ku szerszej kompatybilności sprzętowej, która otwiera projekt na prężnie rozwijający się rynek laptopów z procesorami ARM. Z drugiej – ku większej elastyczności w wyborze backendu AI, dzięki wsparciu dla szerszej gamy modeli w chmurze Azure.
Dodatkowo setki mniejszych poprawek i refaktoryzacji, szczególnie w obszarze type safety, pokazują, że projekt dojrzewa. Skupia się nie tylko na dodawaniu nowych funkcji, ale też na budowaniu solidnego, przewidywalnego i łatwiejszego w utrzymaniu fundamentu dla asystenta kodowania, który ma ambicje być poważnym narzędziem w warsztacie każdego dewelopera.


Dodaj komentarz