====== 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]]