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.