[ BLOG // 2026-06-26 // 3 MIN ]

Push notifikace s inline akcemi — Orca na mobilu

Orca umí teď posílat push notifikace přímo na telefon. Když agent potřebuje vaši odpověď, schválit fázi nebo ohlásí dokončení, dostanete notifikaci s tlačítky přímo v ní.

ORCA ORCAAIPWAPUSHNOTIFIKACEMOBIL

Když Orca orchestruje několik AI agentů a mise běží hodiny, nemůžete pořád sedět u dashboardu. Dřív nebo později potřebujete odejít od počítače — a přesto zůstat v obraze.

Nově Orca podporuje web push notifikace přímo na telefon. Nejen upozornění „něco se stalo” — ale notifikace s inline akcemi, které lze spustit přímo z notifikace bez otevření prohlížeče.

Jak to vypadá v praxi

Agent dokončí fázi a Orca vyhodnotí, že potřebuje lidské review. V tu chvíli přijde na telefon notifikace:

Mise potřebuje vaše rozhodnutí Refaktor endpointu: agent navrhl změnu, která mění API contract.

Na výběr jsou dvě tlačítka: Schválit a Spustit znovu. Žádné otevírání browseru, žádné přihlašování — akce se provede přímo.

Podobně to funguje u dalších situací:

  • Agent čeká na odpověď — notifikace s Povolit / Odmítnout (pokud jde o jednoduchý permission prompt)
  • Mise se zastavila — upozornění, že něco potřebuje pozornost
  • Mise dokončena — informace o hotovém výsledku, případně odkaz na PR

Architektura celého toku

Celý systém má tři vrstvy:

1. VAPID + subscriptions

Při prvním spuštění Orca automaticky vygeneruje VAPID klíčový pár (Web Push Authorization). Ten se používá k ověření, že notifikace skutečně přichází z vaší instance Orca.

Uživatel se přihlásí k odběru v nastavení účtu (přepínač „Push notifikace”). Browser zaregistruje service worker, získá push subscription a tu Orca uloží — včetně vazby na majitele mise a adminy.

2. Event-bus dispatcher

Jádro systému je PushDispatcher — jediný subscriber na interním event busu. Ten mapuje životní události Orca na push payload:

UdálostTyp notifikaceInline akce
Review eskalace„Mise potřebuje rozhodnutí”Schválit / Spustit znovu
Agent čeká na odpověď„Agent čeká na odpověď”Povolit / Odmítnout
Mise zastavená„Mise se zastavila”Otevřít
Úkol blokovaný„Mise se zastavila”Otevřít
Mise dokončena„Mise dokončena”(tap → otevřít app)

Každý typ notifikace se collapses na zařízení pomocí tag — opakované notifikace o té samé misi se nepřekrývají.

3. Service worker s inline akcemi

Notifikace se zobrazuje service worker (sw.js), který běží nezávisle na prohlížeči. Na rozdíl od standardních notifikací Orca worker nejen zobrazuje text, ale umí provést akce:

  • ApprovePOST /tasks/:id/approve-gate
  • RerunPATCH /tasks/:id + PATCH /missions/:id (reset fáze + resume mise)
  • Allow/RejectPOST /sessions/:id/keys s klávesou Enter/Escape

Worker provádí HTTP požadavky přímo ze service worker kontextu — bez nutnosti otevírat prohlížeč. Selže-li akce, zobrazí se notifikace „Akce se nezdařila, otevřete aplikaci.”

Bezpečnost a hranice

Service worker nepřijímá žádná data z payloadu jako URL k otevření bez validace — vše prochází přes safeOpenUrl, která akceptuje pouze same-origin cesty nebo https:// URL. Žádné javascript:, žádné data:, žádné off-origin přesměrování.

Dead endpointy (404/410) se automaticky čistí — pokud uživatel přestal push odebírat nebo změnil zařízení, Orca subscription bez hlášení odebere.

Před odesláním se kontroluje, jestli existují VAPID klíče a alespoň jedna subscription. Pokud ne, push se nekoná — žádný crash, žádný noise.

Proč to děláme přes Web Push místo jiného řešení

Alternativ bylo hodně — mobilní app, Telegram bot, e-mail. Web Push vyhrál, protože:

  • Žádná app — stačí přidat na plochu z prohlížeče (PWA manifest je součástí)
  • Funguje na iOS i Androidu — Apple podporuje Web Push od iOS 16.4
  • Stejná instance — push chodí z toho samého serveru, žádný třetí service
  • Inline akce — to je klíčové. Standardní notifikace jen informují, Orca vám umožní jednat přímo

Co to mění

Dřív jste museli sledovat dashboard, abyste věděli, jestli agent potřebuje vaši pomoc. Teď vás Orca kontaktuje — a vy můžete rozhodnout z mobilu, z gauče, z vlaku.

Nejde o to být neustále online. Jde o to, aby vás agent mohl oslovit ve správný okamžik — a vy abyste mohli odpovědět, aniž byste museli přepínat kontext.

Tohle je posun od „dashboard, který sledujete” k „systém, který vás oslovuje”. A to je přesně ten typ interakce, který dělá AI agenty použitelnými v reálném provozu.

// ALL_POSTS
ZPĚT NA BLOG