squadcue

SquadCue

Your AI CLI sessions, as employees — chat, resume, orchestrate, and gate risky tool calls through an approval inbox.

Recent Claude Code sessions on your machine become named contacts you chat with, resume across restarts, and supervise from your phone. In gated chat (the default when you allow tools), a shell command or file write pauses into an approval inbox (web + Telegram, first response wins, timeout = deny) until you say yes — and clearly labeled opt-outs (“Skip approvals”, the New-task “Allow tools” box, canvas allow_tools, the Telegram ! prefix) bypass the gate on purpose. The inbox is a supervision workflow for a trusted local setup, not a security boundarySECURITY.md spells out exactly what it does and does not stop. A visual canvas orchestrates repeatable pipelines on top. Claude Code is first-class today; Codex ships as an optional red-team engine; other CLIs are a thin adapter layer away (see roadmap). A small FastAPI server + a one-file cockpit UI (plus one vendored library). No Docker, no database server, no build step. The control plane and its state stay on your machine (prompts go to your AI provider, as with any AI CLI).

Extracted in July 2026 from the tooling behind a real one-person operation — research pipelines, content generation, daily ops.

Mission control: daily todos, approval inbox, live runs

Flow canvas Employees
Canvas Employees

Why SquadCue

  SquadCue n8n / Windmill / Dify GitHub Agent HQ
AI CLI sessions as “employees” (named contacts, session 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 (plain JSON/JSONL + SQLite files, 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 SquadCue.

Features

Quickstart

pip install

pip install squadcue
squadcue                  # → http://127.0.0.1:8899

Prefer the bleeding edge? pip install git+https://github.com/hsienchuc/squadcue

squadcue creates its workspace (data/, runs/, flows/ with the demo flow, example configs) in ~/.squadcue on first run. --here uses the current directory instead, --dir PATH any other; --port / --host override the defaults. Drop a squadcue.json in the workspace to configure CLI paths, Telegram, KB sources.

git clone

git clone https://github.com/hsienchuc/squadcue && cd squadcue
python -m venv .venv && . .venv/bin/activate   # Windows: .venv\Scripts\activate
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).

📖 Full user manual: docs/GUIDE.md — every tab, the approval gate end-to-end, config reference, Telegram commands, FAQ.

Stock Debian/Ubuntu ships without pip/venv — run sudo apt install python3-pip python3-venv first. (Verified once on a clean Ubuntu 24.04: after that, the requirements installed with zero build errors and the cockpit served at first try.)

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 (all runs); flow_snapshot.json + steps.json (flow runs)

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.

Immortal employees (roadmap)

Sessions die when context fills up; employees shouldn’t. The next milestone flips the identity model: an employee is a directory, a session is just a shift.

Status & caveats

Changelog

License

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