How agentsystemlabs/agent-office works
Agent Office is a browser-based shared 3D workspace for people collaborating with coding agents. Users enter a project floor, start an agent at a desk, and interact with its live terminal; GitHub issues, pull requests, queues and worktrees support the project workflow. The office also provides shared presence, chat, voice, screen sharing and a whiteboard. The graph reflects README-documented capabilities and sampled server/client responsibilities; unsampled feature wiring is represented only where documentation supports it.
Main entry points: server.ts HTTP and realtime server · main.ts 3D office client · workers.ts Agent workers · github.ts GitHub boards and PRs
Components 21
Office experience
- 3D office client
src/client/main.ts - Office world
src/client/world/office.ts - Office interface
src/client/ui - Client state
src/client/state.ts
Workers and projects
- Project floors
src/server/building.ts - Agent workers
src/server/workers.ts - Live terminals
src/server/ptyhost.ts - Task queues
src/server/queue.ts - GitHub boards and PRs
src/server/github.ts - Git worktrees
src/server/worktrees.ts
Team collaboration
- Chat and presence
src/server/server.ts - Voice and screen sharing
src/client/voice.ts - Shared whiteboard
src/server/whiteboard.ts - Worker notifications
src/server/webhook.ts
Office services
- HTTP and realtime server
src/server/server.ts - Shared protocol
src/shared/protocol.ts - Worker web services
src/server/services.ts - Chat and terminal search
src/shared/search.ts
Other components
- Team member
- Agent CLI tools
- GitHub CLI
Connections 22
- Team member → 3D office client: uses
- 3D office client → Office world: renders
- 3D office client → Office interface: opens
- 3D office client → Client state: reads and updates
- 3D office client → HTTP and realtime server: sends realtime events
- HTTP and realtime server → 3D office client: sends office state
- HTTP and realtime server → Shared protocol: uses message types
- HTTP and realtime server → Project floors: manages projects
- HTTP and realtime server → Agent workers: dispatches worker actions
- Agent workers → Live terminals: runs processes
- Agent workers → Agent CLI tools: starts agents
- Agent workers → Task queues: manages tasks
- Agent workers → Git worktrees: uses worktrees
- Agent workers → GitHub boards and PRs: handles issue and PR actions
- GitHub boards and PRs → GitHub CLI: runs GitHub commands
- HTTP and realtime server → Chat and presence: handles shared chat and presence
- 3D office client → Voice and screen sharing: starts voice and sharing
- HTTP and realtime server → Shared whiteboard: handles board updates
- HTTP and realtime server → Worker notifications: tracks worker status
- HTTP and realtime server → Worker web services: scans worker services
- HTTP and realtime server → Chat and terminal search: normalizes search terms
- HTTP and realtime server → Live terminals: searches terminal buffers