====== OpenWork ====== [[https://github.com/different-ai/openwork?tab=readme-ov-file|OpenWork]] je open-source desktopová a serverová vrstva pro práci s AI coding agenty, kterou projekt popisuje jako alternativu ke Claude Cowork nebo Codexu pro týmové použití. Je postavený nad [[ai:platformy:opencode:uvod|OpenCode]] a kombinuje lokální běh, připojení na vzdálené workery a workflow vhodnější pro sdílení v týmu. ===== Co projekt řeší ===== README projektu staví OpenWork na několika principech: * **Local-first, cloud-ready** — aplikace se spouští lokálně a vzdálené sdílení se zapíná až ve chvíli, kdy je potřeba * **Composable** — OpenWork lze použít jako desktop aplikaci, server nebo přes konektory pro WhatsApp, Slack a Telegram * **Ejectable** — protože je postavený nad OpenCode, lze použít i capability, které ještě nemají vlastní GUI * **Sharing is caring** — výchozí scénář je solo provoz na ''localhost'', sdílení je vědomý krok navíc Z praktického pohledu jde o vrstvu, která má OpenCode posunout z čistě vývojářského CLI/TUI do podoby použitelnější pro opakovatelné agentické workflow a týmovou spolupráci. ===== Co je součástí ===== Podle README projekt obsahuje hlavně tyto části: * **Host mode** — spuštění OpenCode lokálně na vlastním počítači * **Client mode** — připojení k existujícímu OpenCode serveru přes URL * **Sessions** — vytváření a přepínání session a posílání promptů * **Live streaming** — realtime aktualizace přes SSE endpoint * **Execution plan** — zobrazení todo kroků z OpenCode jako timeline * **Permissions** — zpracování požadavků na oprávnění typu allow once / always / deny * **Templates** — ukládání a opakované spouštění běžných workflow * **Debug exports** — export runtime debug reportu a developer logů * **Skills manager** — správa nainstalovaných skillů ve složce ''.opencode/skills'' ===== Režimy provozu a architektura ===== OpenWork umí běžet lokálně i proti vzdálenému workeru. ==== Host mode ==== V host režimu spustí lokální stack nad vybraným projektem a UI se na něj připojí. Výchozí runtime používá komponentu ''openwork'' z balíku ''openwork-orchestrator'', která orchestruje ''opencode'', ''openwork-server'' a volitelně i ''opencode-router''. Fallback režim ''direct'' místo toho spouští přímo: opencode serve --hostname 127.0.0.1 --port ==== Client mode ==== V client režimu se desktop aplikace nepokouší nic hostovat lokálně a jen se připojí k již existujícímu OpenCode serveru podle URL. To dává smysl ve chvíli, kdy agent běží jinde a desktop funguje jen jako klientské rozhraní. ==== UI a komunikace ==== README uvádí, že UI používá ''@opencode-ai/sdk/v2/client''. Prakticky to znamená připojení k serveru, práci se session, odesílání promptů, odběr SSE událostí a čtení todo položek nebo permission requestů. ===== Instalace a spuštění ===== ==== Desktop aplikace ==== Desktop aplikaci lze stáhnout z [[https://openworklabs.com/download|openworklabs.com/download]] nebo z [[https://github.com/different-ai/openwork/releases|GitHub Releases]]. README uvádí přímé buildy pro macOS a Linux. Windows je v době psaní řešený přes placený support plán na [[https://openworklabs.com/pricing#windows-support|openworklabs.com]]. README také zmiňuje hostované OpenWork Cloud workery, které se spouštějí z webové aplikace po checkoutu a potom se připojí z desktopu přes ''Add a worker'' → ''Connect remote''. ==== Orchestrator bez GUI ==== Pokud není potřeba desktopové UI, existuje samostatný CLI host: npm install -g openwork-orchestrator openwork start --workspace /path/to/workspace --approval auto Tahle varianta je vhodná pro provoz OpenCode + OpenWork serveru bez desktopové aplikace. ==== Spuštění ze zdrojáků ==== Pro lokální vývoj README uvádí požadavky na Node.js, ''pnpm'', Rust toolchain, Tauri CLI a nainstalovaný ''opencode'' v ''PATH''. Pro desktopový vývoj je navíc potřeba Bun 1.3.9+. Základní spuštění ze zdrojového checkoutu vypadá takto: pnpm install pnpm dev Pro samotné webové UI bez desktop shellu je v README uvedeno: pnpm dev:ui ===== Technické poznámky ===== * OpenWork spravuje OpenCode pluginy přes soubor ''opencode.json'' — buď v projektu, nebo v globální konfiguraci uživatele * V host režimu se služba standardně váže na ''127.0.0.1'' * README uvádí, že OpenWork ve výchozím stavu skrývá model reasoning a citlivá metadata nástrojů * Na Linuxu může desktop narážet na problémy s WebKitGTK; README pro Wayland/Hyprland uvádí tyto workaroundy: WEBKIT_DISABLE_DMABUF_RENDERER=1 openwork WEBKIT_DISABLE_COMPOSITING_MODE=1 openwork ===== Kdy dává OpenWork smysl ===== OpenWork dává smysl hlavně tam, kde samotné CLI OpenCode nestačí a je potřeba nad ním přidat přívětivější týmové rozhraní: * když je potřeba lokální desktop nad OpenCode bez stavění vlastního klienta * když je potřeba vidět timeline kroků, permission requesty a debug exporty na jednom místě * když je potřeba přepínat mezi lokálním během a vzdáleným workerem * když se ukládají opakovatelná workflow jako šablony * když je cílem rozšířit OpenCode o UI a správu skillů bez opuštění jeho plugin modelu ===== Zdroje ===== * [[https://github.com/different-ai/openwork?tab=readme-ov-file|OpenWork – GitHub README]] * [[https://openworklabs.com/download|OpenWork Labs – download]] * [[https://github.com/different-ai/openwork/releases|OpenWork – GitHub Releases]] * [[https://openworklabs.com/pricing#windows-support|OpenWork Labs – Windows support]]