Show HN: Agent Office (Slack for AI Agents) – Similar to Grok Bot but older Agent Office, a multi-agent workspace manager built on Pi, orchestrates AI coding agents with tick-based scheduling, priority queues, inbox IPC, cross-agent file access, watchdog monitoring, cron jobs, optional Docker sandbox isolation, and declarative YAML configuration. The tool, similar to Claude Code or OpenClaw, supports teams like basic-team, OpenServ team, and feature team, and requires pnpm install and environment setup. It offers in-process or Docker sandbox modes and includes a Web UI. Multi-agent workspace manager built on Pi https://github.com/badlogic/pi-mono . Orchestrates AI coding agents — similar to Claude Code or OpenClaw — with tick-based scheduling, priority queues, inbox IPC, cross-agent file access, watchdog monitoring, proactive cron jobs, optional Docker sandbox isolation, and declarative YAML configuration. agent-office.mp4 Try one of these examples to get up and running quickly. Set env vars in the project root .env not inside Docker — the host forwards them to containers . Basic team — PM, coder, and reviewer uses GitHub Copilot OAuth, no API keys : pnpm install cp -r examples/basic-team/ ~/.agent-office/offices/basic-team/ pnpm dev oauth login github-copilot --office basic-team pnpm dev start --office basic-team --sandbox docker OpenServ team — idea scout, team lead, agent dev, and token launcher: pnpm install cp .env.example .env mkdir -p ~/.agent-office/offices/openserv-team cp examples/openserv-team/office.yaml ~/.agent-office/offices/openserv-team/office.yaml pnpm dev start --office openserv-team --sandbox docker OPENAI API KEY= WALLET PRIVATE KEY= EVM wallet key for openserv-labs/skills agents Feature team — task-driven development with Kanban board: cp -r examples/feature-team/ ~/.agent-office/offices/feature-team/ pnpm dev start --office feature-team See examples/ /baturyilmaz/agent-office/blob/main/examples for more details — each has a README describing the setup. Architecture architecture Quick Start quick-start OAuth Authentication oauth-authentication Multi-Office Architecture multi-office-architecture Sandbox Modes sandbox-modes Commands commands Agent Tools agent-tools Concepts concepts Prompt Inspection prompt-inspection Cost Tracking cost-tracking Web UI web-ui End-to-End Examples end-to-end-examples Project Structure project-structure Dependencies dependencies Development development php graph TD YAML office.yaml -- WS CLI CLI + Web UI -- WS Workspace WS -- SCH Scheduler\ntick loop WS -- BUS MessageBus\ninboxes WS -- WD Watchdog\nheartbeat WS -- CRON CronService\nscheduled jobs WS -- TS TaskService\nKanban board WS -- |in-process| A Agent A\nPi · tools · skills WS -- |in-process| B Agent B\nPi · tools · skills WS -- |Docker sandbox| HA Host API\nHTTP :13000 HA <-- |HTTP| SA Sandbox A\nDocker · Pi · proxy tools HA <-- |HTTP| SB Sandbox B\nDocker · Pi · proxy tools BUS -- A BUS -- B BUS -- HA Core flow: office.yaml auto-spawn / CLI / Web UI / Cron / Agent cron tools / Task notifications - Workspace - Scheduler tick - drain inbox - dispatch to Pi Agent - agent runs tools - response streamed to UI. Each agent is a full Pi coding agent with its own filesystem workspace, skills, and injected tools message user , post channel , message agent , list agents , read agent file , authenticated fetch , cron add , cron remove , cron list , task create , task update , task list , task get , task delete , read skill , skill search , skill install , skill remove , skill create . The scheduler runs a tick loop that serves agents by priority, one message per tick per agent, non-blocking. Agents can run in-process default or inside Docker containers for full process-level isolation. pnpm install Configure .env cp .env.example .env then fill in your keys Create an office pnpm dev office create my-team Start Web UI auto-starts pnpm dev start --office my-team Start with Docker sandbox isolation pnpm dev start --office my-team --sandbox docker Create a .env file with your provider API keys. Each model requires its corresponding provider key: Model API Keys required for agents using these models OPENAI API KEY=sk-... For OpenAI models gpt-4o, etc. ANTHROPIC API KEY=sk-... For Anthropic models Claude, etc. GEMINI API KEY=... For Google Gemini models XAI API KEY=... For xAI Grok models Optional: Custom secret refs for office.yaml agents MY GH TOKEN=ghp ... Host env vars for authenticated fetch secrets Authentication: Each model needs credentials. You can use either API keys .env or OAuth: API keys — set in .env e.g. OPENAI API KEY=sk-... . Required when the model's provider has no OAuth credentials. OAuth — authenticate via provider CLIs before starting. OAuth tokens auto-refresh and don't require .env keys. Option A: API keys in .env echo "ANTHROPIC API KEY=sk-..." .env Option B: OAuth login requires provider CLI installed pnpm dev oauth login anthropic --office my-team pnpm dev oauth list --office my-team When both OAuth credentials and an API key exist for a provider, you can switch between them per-agent in the Web UI. See OAuth Authentication oauth-authentication for details. See the Dynamic Model Discovery section below for how to browse available models and their requirements in the Web UI. As an alternative to API keys in .env , agents can authenticate with model providers via OAuth. This uses the provider's own CLI login flow — the agent-office CLI orchestrates the browser-based OAuth handshake and stores credentials per office. | Provider ID | Name | Flow Type | Requires | |---|---|---|---| anthropic | Anthropic | Code paste | Anthropic CLI | openai-codex | OpenAI | Callback server | OpenAI Codex CLI | github-copilot | GitHub Copilot | Code paste | GitHub Copilot CLI | google-gemini-cli | Google Gemini CLI | Callback server | Gemini CLI | google-antigravity | Antigravity | Callback server | Antigravity CLI | Code paste providers open a browser URL and prompt you to paste back an auth code. Callback server providers start a local HTTP server and complete the flow automatically. Login — interactive OAuth flow opens browser pnpm dev oauth login