agentcue

AgentCue

Local-first mission control for your AI agent workforce.

Run a fleet of AI CLI agents (Claude Code, Codex, …) like employees — chat with them, orchestrate them on a visual canvas, approve their actions from your phone, and audit everything they did. A small FastAPI server + a single-file cockpit. No Docker, no database server, no build step. The control plane and all state stay on your machine (prompts go to your AI provider, as with any AI CLI).

Extracted from a system that has been running a real one-person operation daily since early 2026 — research pipelines, content generation, daily ops, all supervised through this cockpit.

Mission control: daily todos, approval inbox, live runs

Flow canvas Employees
Canvas Employees

Why AgentCue

  AgentCue n8n / Windmill / Dify GitHub Agent HQ
AI CLI sessions as “employees” (persistent memory, resume) ✅ core concept partial, GitHub-centric
Runs on a laptop, zero infra python server.py typically Docker cloud
Human-in-the-loop approvals (web + Telegram, first-response-wins, timeout = deny) ✅ built-in varies
State stays local (JSONL + SQLite, greppable) self-host possible
Visual flow canvas with per-node results ✅ (richer)

If you want a general-purpose integration platform with 500 connectors, use n8n. If you run AI coding agents all day and want a cockpit — a place where your agents are employees with names, memory, task queues, and an approval inbox — that’s AgentCue.

Features

Quickstart

git clone https://github.com/hsienchuc/agentcue && cd agentcue
pip install -r requirements.txt
python server.py          # → http://127.0.0.1:8899

Requirements: Python 3.11+, and at least one AI CLI on PATH — Claude Code (primary), Codex CLI (optional red-team engine).

Optional:

Architecture

cockpit.html (vanilla JS, single file)          your phone (Telegram)
        │  polling                                      │ buttons
        ▼                                               ▼
server.py (FastAPI, localhost) ◄──────────────── tg_bridge.py
   ├─ flow_engine.py   canvas graph → staged runs (toposort, parallel levels)
   ├─ approvals.py     SQLite approval inbox (first-wins, timeout-deny, audit)
   ├─ todos.py         daily checklist
   ├─ issues_store.py  local issue tracker
   ├─ sessions.py      Claude Code session discovery / rescue
   └─ kb.py            BM25 local search
runs/<id>/  events.jsonl + state.json + flow_snapshot.json + steps.json  (auditable)

Design notes: the canvas is just a view over a graph JSON (Step Functions philosophy); runs are append-only event logs (Temporal philosophy); approvals follow the HumanLayer/Agent Inbox model; retry follows n8n’s dual semantics. See docs/DESIGN.md.

Multi-engine roadmap

The “employee” abstraction is any CLI that supports headless prompts + session resume. Claude Code is first-class today; Codex runs as the red-team engine. Adapters for Gemini CLI, Kimi CLI, opencode, goose etc. are a thin provider layer — contributions welcome.

Status & caveats

License

MIT © 2026 Hsien-Chu Chen. Bundled Drawflow © Jero Soler, MIT — see static/vendor/DRAWFLOW-LICENSE.