아키텍처
Bom Agent는 모바일 · 서버 · PC · CLI 네 노드가 SignalR로 실시간 연결되어 작동합니다.
4-노드 구조
- 모바일(Bom Mobile): 화면 스트리밍, 음성 명령, 푸시 수신
- 서버(Bom.Server): 메모리·스케줄·Pack dispatch·Atlas 영속
- 데스크톱(Bom.Ag): CLI 호출, 파일 시스템, 데스크톱 자동화
- CLI: Claude Code · Codex
SignalR /agent 허브
데스크톱과 네이티브 모바일 monitor는 /agent 허브로 서버와 통신합니다. AgentHubProtocol.cs가 메서드 이름·역할·그룹 식별자 SSOT입니다.
- desktop-agent role: Bom.Ag가 등록
- monitor role: 모바일 앱이 /agent?role=monitor로 구독
- (userId, deviceId) 라우팅: AgentConnectionManager가 SSOT
데이터 영속
- MongoDB Atlas Flex (ap-northeast-2, db=bom_db)
- Atlas Vector Search: memory_vector_idx (1536d cosine)
- Azure Blob: 첨부 파일 (최대 50 MB)
- Azure OpenAI Korea Central: text-embedding-3-small (서버 전용)
로컬 옵션
개발 환경에서는 Azurite로 Blob을 에뮬레이션할 수 있습니다.