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.
A quick look at the desktop dashboard and the mobile companion app β every agent runs locally, on your machine, with your own credentials.
βΆ Watch the full 2Β½-minute narrated demo, with audio β opens an inline player right here on GitHub, no download required.
- π€ 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
- π Event System β Azure Service Bus integration for cross-system event-driven automation
- π Activity Timeline β Full execution history with output capture and error visibility
- π Plugin System β Extend agents with MCP servers for tools, APIs, and external integrations
npm install
npm startOpen http://localhost:3847 in your browser.
- 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 Service Bus events and 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.
Azure Service Bus integration for event-driven automation. Configure listeners that trigger agents when messages arrive on specific topics/queues.
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)
Connect to Azure Service Bus for cross-system event processing:
- Topics & Subscriptions β listen for events from external systems
- Agent Triggers β automatically run agents when events arrive
- Dead Letter Handling β failed events are preserved for debugging
| 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 } |
npm run install-service # Runs on logon + 5-min watchdog
npm run uninstall-service # Removenpm start # Start the server
npm run dev # Start with file watching
npm run install-service # Install as Windows Scheduled Task
npm run uninstall-service # Remove scheduled task| 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 β
βββββββββββββββ΄βββββββββββββββββ΄βββββββββββββββββββββββ€
β Copilot CLI (child processes) β
β GitHub Copilot AI Agent Runtime β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
Azure Service Bus Azure Blob Storage
(Event Listeners) (Config Sync)
Private β internal use only.








