An intelligent orchestration platform for GitHub Copilot CLI agents. Schedule, monitor, and chain AI agents together β with Managers that coordinate multi-agent workflows, real-time chat, cloud sync, and a full web dashboard.
Native desktop app β no browser, no command line required. Installs per-user (no admin). Every push to
mainis built and published automatically by GitHub Actions (badge above); grab the newestTheOffice.AI_<version>_x64-setup.exefrom the latest release and run it.
A guided tour of TheOffice.AI β agents, managers, an always-on AI briefing, and the Board that runs your day, including live dev cards that track in-progress work. Every agent runs locally, on your machine, with your own credentials.
βΆ Watch the full 4Β½-minute narrated demo, with audio β opens an inline player right here on GitHub, no download required.
Board β Pin view (focus mode): a free-form, spatial workspace. Pin sessions, chats, tasks, agents, notes, and live dev cards; an always-on AI Briefing keeps you oriented on where you left off.
Board β Tabbed view: the same pinned items rendered as a compact tab rail with a focused detail pane, with the Briefing surfacing deltas since you last looked.
- π€ Manager Orchestration β AI-powered managers coordinate multiple agents, analyzing output and routing work
- π¬ Interactive Chat β Talk to any agent or manager in real-time with streaming responses and auto-retry
- π Rich Scheduling β Human-readable schedules, cron, intervals, and manager assignments
- βοΈ Cloud Sync β Sync configuration across machines via Azure Blob Storage with leader election
- π Activity Timeline β Full execution history with output capture and error visibility
- π Plugin System β Extend agents with MCP servers for tools, APIs, and external integrations
β¬ Download the latest preview installer (~215 MB)
- Download the
TheOffice.AI_<version>_x64-setup.exeasset from the latest release. (Each release also ships a.sha256file so you can verify the download.) - Run the installer β it installs per-user, no admin required.
- On first launch it offers to install optional prerequisites (Git, Azure CLI,
ripgrep) via winget, and it will help you sign in to the Copilot CLI (
~/.copilot) as a one-time step.
The desktop app is a native shell (Tauri v2) that runs the same server + SPA as a local sidecar and loads it in WebView2 β no browser required. Your agents run locally, on your machine, with your own credentials.
βΉοΈ Builds are published automatically by GitHub Actions on every push to
mainas preview releases using standard prerelease semantic versioning (vX.Y.Z-preview.N). Seedesktop/README.mdfor how the sidecar works and how to rebuild the installer.
The installer bundles the app and offers to install the optional tools below. If you run from source instead, you'll need these yourself:
- Node.js v18+
- GitHub Copilot CLI β installed globally or at a custom path
- Windows 10/11 β uses Windows-specific features (Scheduled Tasks, PowerShell)
- Azure account (optional) β for cloud sync
The home page provides a real-time overview of all running agents, recent activity, and system health at a glance.
Managers are intelligent orchestrators that coordinate multiple agents. A manager can:
- Run agents in sequence, passing output between them
- Analyze results and make decisions about what to do next
- Be assigned scheduled "assignments" (saved prompts on a schedule)
- Be chatted with interactively for ad-hoc work
Manager Detail β Configure agents in the manager's organization, create assignments, view execution history:
Register and manage individual Copilot CLI agents. Each agent has a working directory, prompt, schedule, and optional triggers.
Interactive conversations with any agent or manager. Supports streaming responses, markdown rendering, auto-retry on failures, and a "Continue" button for recovering from errors.
Event-driven automation (Azure Service Bus, mobile/relay bridges) is on the roadmap but hard-locked off in current builds while outbound-access guardrails are designed. Everything runs locally on your machine.
Reverse-chronological timeline of all agent and manager executions. Filter by status, see durations, and drill into output.
Cloud sync configuration, system info, and keyboard shortcuts. Configure Azure Blob Storage for multi-machine sync with automatic leader election.
Managers are the key differentiator β they're AI agents themselves that understand how to coordinate other agents.
Manager: "Helix Ops Manager"
Organization: [Azure Monitor Agent, Email Sender Agent]
Assignment: "Check Azure health, if issues found, email chcosta@microsoft.com"
Schedule: "every 15 minutes"
The manager will:
- Run the Azure Monitor agent
- Analyze the output β is Azure healthy?
- If unhealthy β invoke the Email Sender agent with the health report
- All decisions are made by the manager's AI, not hardcoded logic
{
"id": "my-manager",
"name": "My Operations Manager",
"agents": ["agent-1", "agent-2"],
"plugins": ["mcp-server-tool"],
"assignments": [
{
"id": "daily-check",
"name": "Daily Health Check",
"prompt": "Run health check, summarize findings, alert if critical",
"schedule": "weekdays at 9am"
}
]
}Sync your configuration across multiple machines with only one running scheduled tasks at a time.
- First machine saves sync settings β acquires blob lease β becomes Leader β auto-pushes config
- Second machine connects β lease held β becomes Standby β pulls config from cloud
- Leader dies β lease expires (60s) β standby acquires lease β promoted to leader
- Force takeover β "Take Leadership" button for manual failover
agents.json,managers.json,events-config.jsonplugins/andmcp-configs/directories- Path profiles (machine-specific path mappings)
- SQLite database (run history)
- Chat sessions
sync-config.json(per-machine)
| Format | Example | Description |
|---|---|---|
| Simple interval | 30m, 1h, 2h |
Aligned to clock boundaries |
| Human-readable | every hour at :30 |
At 30 past each hour |
| Day schedule | weekdays at 7am and 9pm |
MonβFri at those times |
| Day list | M,T,W,Th,F at 9am |
Specific days |
| Every N | every 15 minutes |
Fixed interval |
| Cron | 0 7,21 * * 1-5 |
Standard 5-field cron |
Agents can trigger other agents based on exit status with full output forwarding:
"triggers": {
"onSuccess": ["deploy-agent"],
"onFailure": ["alert-agent"],
"onComplete": ["cleanup-agent"]
}Triggered agents can reference output from upstream agents:
| Variable | Description |
|---|---|
{{ trigger.output }} |
Full output from the triggering agent |
{{ trigger.name }} |
Name of the triggering agent |
{{ trigger.exitCode }} |
Exit code (0 = success) |
{{ chain[N].output }} |
Output from the Nth agent in the chain |
{{ chain.length }} |
Number of prior agents in the chain |
{
"id": "my-agent",
"name": "My Agent",
"cwd": "C:\\repos\\my-repo",
"agent": "copilot-agent-name",
"schedule": "weekdays at 9am",
"prompt": "do the thing",
"durable": true,
"triggers": { "onSuccess": ["next-agent"] }
}| Field | Required | Description |
|---|---|---|
id |
Yes | Unique identifier |
name |
Yes | Display name |
cwd |
Yes | Working directory |
agent |
Yes | Copilot agent name |
schedule |
Yes | Schedule expression |
prompt |
Yes | Prompt text |
durable |
No | Auto-start on boot |
triggers |
No | { onSuccess, onFailure, onComplete } |
Most users should just install the desktop app. To run from source for development, LAN, or mobile access:
npm install
npm start # start the server
npm run dev # start with file watchingOpen http://localhost:3847 in your browser. The browser and desktop apps share
the exact same server.js + public/app.html β the desktop shell just wraps them.
npm run install-service # Runs on logon + 5-min watchdog
npm run uninstall-service # Remove| Method | Endpoint | Description |
|---|---|---|
| GET | /api/agents |
List all agents with status |
| POST | /api/agents |
Add new agent |
| GET | /api/agents/:id |
Get agent status |
| POST | /api/agents/:id/run |
Trigger immediate run |
| PUT | /api/agents/:id/schedule |
Update schedule |
| GET | /api/managers |
List all managers |
| POST | /api/managers |
Create manager |
| POST | /api/managers/:id/chat |
Chat with manager |
| POST | /api/managers/:id/assignments/:aid/run |
Run assignment |
| GET | /api/chats |
List chat sessions |
| GET | /api/activity |
Execution timeline |
| GET | /api/sync/status |
Cloud sync status |
| POST | /api/sync/push |
Push config to cloud |
| POST | /api/sync/pull |
Pull config from cloud |
| POST | /api/export |
Export all configuration |
| POST | /api/import |
Import configuration |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Web Dashboard β
β (Alpine.js SPA @ localhost:3847) β
ββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β REST + SSE
ββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββ
β server.js β
β Express API + Real-time Event Stream β
βββββββββββββββ¬βββββββββββββββββ¬βββββββββββββββββββββββ€
β supervisor β manager.js β config-sync.js β
β .js β β β
β Scheduling β Orchestration β Cloud Sync + β
β & Execution β & Chat β Leader Election β
βββββββββββββββ΄βββββββββββββββββ΄βββββββββββββββββββββββ€
β @github/copilot-sdk runtime β
β GitHub Copilot AI Agent Runtime β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
Azure Blob Storage
(Config Sync)
Outbound external bridges (Azure Service Bus event listeners, cloud relay, mobile) are present in the codebase but hard-locked off in current builds.
Private β internal use only.









