Skip to content

costahome/agentsessions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

630 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TheOffice.AI

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.

Desktop installer Latest release Download

Native desktop app β€” no browser, no command line required. Installs per-user (no admin). Every push to main is built and published automatically by GitHub Actions (badge above); grab the newest TheOffice.AI_<version>_x64-setup.exe from the latest release and run it.

Dashboard

🎬 Demo

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.

Demo preview

β–Ά Watch the full 4Β½-minute narrated demo, with audio β€” opens an inline player right here on GitHub, no download required.

πŸ“Έ Screenshots

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 pin view

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.

Board tabbed view

Highlights

  • πŸ€– 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

πŸ’» Install (Windows desktop)

⬇ Download the latest preview installer (~215 MB)

  1. Download the TheOffice.AI_<version>_x64-setup.exe asset from the latest release. (Each release also ships a .sha256 file so you can verify the download.)
  2. Run the installer β€” it installs per-user, no admin required.
  3. 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 main as preview releases using standard prerelease semantic versioning (vX.Y.Z-preview.N). See desktop/README.md for how the sidecar works and how to rebuild the installer.


Prerequisites

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

Core Features

🏠 Dashboard

The home page provides a real-time overview of all running agents, recent activity, and system health at a glance.

Dashboard

πŸ€– Managers

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

Managers

Manager Detail β€” Configure agents in the manager's organization, create assignments, view execution history:

Manager Detail

πŸ•΅οΈ Agents

Register and manage individual Copilot CLI agents. Each agent has a working directory, prompt, schedule, and optional triggers.

Agents

πŸ’¬ Chat

Interactive conversations with any agent or manager. Supports streaming responses, markdown rendering, auto-retry on failures, and a "Continue" button for recovering from errors.

Chat

πŸ“‘ Events (not yet available)

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.

πŸ“Š Activity

Reverse-chronological timeline of all agent and manager executions. Filter by status, see durations, and drill into output.

Activity

βš™οΈ Settings

Cloud sync configuration, system info, and keyboard shortcuts. Configure Azure Blob Storage for multi-machine sync with automatic leader election.

Settings


Manager Orchestration

Managers are the key differentiator β€” they're AI agents themselves that understand how to coordinate other agents.

Example: Azure Monitor β†’ Email Alert

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:

  1. Run the Azure Monitor agent
  2. Analyze the output β€” is Azure healthy?
  3. If unhealthy β†’ invoke the Email Sender agent with the health report
  4. All decisions are made by the manager's AI, not hardcoded logic

Creating a Manager

{
  "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"
    }
  ]
}

Cloud Sync & Leader Election

Sync your configuration across multiple machines with only one running scheduled tasks at a time.

How it works

  1. First machine saves sync settings β†’ acquires blob lease β†’ becomes Leader β†’ auto-pushes config
  2. Second machine connects β†’ lease held β†’ becomes Standby β†’ pulls config from cloud
  3. Leader dies β†’ lease expires (60s) β†’ standby acquires lease β†’ promoted to leader
  4. Force takeover β€” "Take Leadership" button for manual failover

What syncs

  • agents.json, managers.json, events-config.json
  • plugins/ and mcp-configs/ directories
  • Path profiles (machine-specific path mappings)

What stays local

  • SQLite database (run history)
  • Chat sessions
  • sync-config.json (per-machine)

Scheduling

Schedule formats

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

Trigger Chains

Agents can trigger other agents based on exit status with full output forwarding:

"triggers": {
  "onSuccess": ["deploy-agent"],
  "onFailure": ["alert-agent"],
  "onComplete": ["cleanup-agent"]
}

Template variables

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

Configuration

Agent config (agents.json)

{
  "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 }

Run from source (advanced / dev)

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 watching

Open 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.

Install as a Windows Scheduled Task (optional)

npm run install-service    # Runs on logon + 5-min watchdog
npm run uninstall-service  # Remove

API

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

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   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.


License

Private β€” internal use only.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors