Architecture

Bom Agent is a four-node system — mobile, server, desktop, and CLI — connected in real time over SignalR.

The four nodes

  • Mobile (Bom Mobile) — screen streaming, voice commands, push notifications
  • Server (Bom.Server) — memory, schedule, Pack dispatch, Atlas persistence
  • Desktop (Bom.Ag) — CLI invocation, file system, desktop automation
  • CLI — Claude Code · Codex

SignalR /agent hub

Desktop and the PWA monitor both talk to the server through the /agent hub. AgentHubProtocol.cs is the SSOT for method names, role keys, and group identifiers.

  • desktop-agent role — registered by Bom.Ag
  • monitor role — subscribed by the PWA at /agent?role=monitor
  • (userId, deviceId) routing — AgentConnectionManager is SSOT

Persistence

  • MongoDB Atlas Flex (ap-northeast-2, db=bom_db)
  • Atlas Vector Search — memory_vector_idx (1536d cosine)
  • Azure Blob — attachments (50 MB max)
  • Azure OpenAI Korea Central — text-embedding-3-small (server-only)
Local option

Use Azurite for a local Blob emulator in development.