Potřeboval jsem mít AI kódovacího agenta, kterého spustím v terminálu, v IDE, případně přes webové UI, a přitom si zachovám kontrolu nad tím, co běží lokálně a co se tahá z internetu. V tomhle mi dává smysl OpenCode jako privacy-first nástroj s client-server architekturou. https://opencode.ai
OpenCode beru jako open-source AI kódovacího agenta pro terminál, IDE nebo desktop, který mi pomáhá se psaním kódu, laděním a správou projektů. Podle projektu podporuje víc než 75 LLM providerů (Claude, GPT, Gemini i lokální modely) a je hodně rozšířený (uvádí 80 000+ stars a 1,5M měsíčních uživatelů). https://opencode.ai
opencode v terminálu a UI je součást binárky (žádné externí CDN UI). https://github.com/opencode-ai/opencodeglob, grep, bash execution, editování souborů a MCP pro integraci externích toolů. https://github.com/opencode-ai/opencode
OpenCode je podle repa napsaný v Go a je modulárně rozdělený (např. cmd jako CLI s Cobra, internal/app core služby, internal/llm providery, internal/tui Bubble Tea UI, internal/db SQLite, internal/lsp atd.). https://github.com/opencode-ai/opencode
Server umím spouštět samostatně (opencode serve) a používám ho jako lokální backend s OpenAPI endpointem pro programatické ovládání; TUI beru jako klienta nad stejným backendem. https://opencode.ai/docs/server/
Z praktických „agent„ vlastností si všímám i auto-compact pro dlouhé konverzace, permission systému a git-powered snapshots pro změny. https://www.linkedin.com/posts/milind-gaharwar_ai-awesome-artificialintelligence-activity-7357393767449964546-UHqA
Poznámka, kterou beru jako riziko pro dlouhodobé používání: původní repo je archivované a projekt má pokračovat jako Crush. https://github.com/opencode-ai/opencode
Instalaci jsem bral jako rychlý bootstrap (curl skript / brew / go install) a konfiguraci řeším přes ~/.opencode.json (API klíče, modely). https://github.com/opencode-ai/opencode
Použil jsem instalační skript:
curl -fsSL https://opencode.ai/install | bash
Napojení na providera jsem dělal interaktivně: spustím opencode, zadám /connect a vyberu provider. https://jecas.cz/opencode
Když jsem chtěl webové rozhraní, narazil jsem na to, že oficiální opencode web je hybrid: lokální backend, ale vzdálený frontend.
opencode web nebo opencode serve spustí HTTP server na localhost (API, sessions, filesystem nástroje). https://opencode.ai/docs/cli/desktop.dev.opencode.ai), ne z lokálního disku. https://github.com/sst/opencode/issues/5237anomalyco/opencode jako buildnutelný frontend; prakticky to znamená, že si ho sám nezkompiluju a nemám verzi pod kontrolou. https://advisories.gitlab.com/pkg/npm/opencode-ai/CVE-2026-22813/Maximum call stack size exceeded), problém vidí všichni i po downgradu a často nezbývá než čekat na fix nebo web UI nepoužívat. https://github.com/chris-tse/opencode-webOPENCODE_DISABLE_AUTOUPDATE=1 mi zastaví auto-update CLI, ale neovlivní fetch frontendu z CDN.
Když jsem se kvůli rozbitému oficiálnímu web UI potřeboval od CDN odpojit, dávalo mi smysl postavit UI nad vlastním lokálním backendem (opencode serve) a UI hostovat lokálně.
OpenChamber beru jako desktop + web/PWA klienta pro OpenCode. Podstatné pro mě je, že běží komplet lokálně, frontend je open-source (React/TS) a komunikuje s mým opencode serve backendem bez závislosti na oficiálním CDN. https://www.npmjs.com/package/@openchamber/web
Projekt a releasy: https://github.com/btriapitsyn/openchamber / https://github.com/btriapitsyn/openchamber/releases
Tohle je alternativní web UI postavené na React + Vite + Bun/Node. Použití chápu tak, že spustím opencode serve jako backend a v jejich repu udělám bun install + bun dev; UI mi poběží na http://localhost:5173 proti lokálnímu API. https://github.com/chris-tse/opencode-web
Poznámka/kontext, kde jsem na to narazil: https://jecas.cz/opencode
Jako stabilní základ beru opencode serve (nebo opencode web, pokud mi jde jen o lokální server). https://opencode.ai/docs/server/
OpenChamber jsem zkoušel instalovat takhle:
curl -fsSL https://raw.githubusercontent.com/btriapitsyn/openchamber/main/scripts/install.sh | bash
Instalátor mi hlásil, že potřebuje Node.js 20+.
Node.js jsem doinstaloval přes nvm takhle:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash nvm install 20
Abych si to udržel použitelné mezi shelly, beru nvm takhle (poznámka: tohle je moje provozní rutina; když se chová jinak, beru to jako závislé na shell initu):
node -v a aktivní nvm přes nvm --version.nvm use 20 (nvm je „per-shell“, takže v novém terminálu často musím mít nvm správně načtené a případně znovu použít nvm use ...).nvm alias default 20 (a pak očekávám, že nový shell tuhle volbu převezme, pokud je nvm načtené).
OpenChamber mi stačilo spustit příkazem openchamber. Defaultně se mi otevřel na portu 3000 a připojil se k běžícímu opencode; opencode jsem musel mít předtím spuštěný.
Pro rychlou a deterministickou práci mi nejlíp vychází TUI/IDE integrace (UI je součást binárky, žádné CDN). Když potřebuju web, beru opencode serve jako lokální backend a volím self-hosted UI (OpenChamber nebo chris-tse/opencode-web), protože u oficiálního opencode web nemám pod kontrolou verzi frontendu taháného z CDN. https://opencode.ai/docs/web/