Releases: sand0vvv/fleet
Release list
fleet v2.0.1
Session continuity + hardening on top of v2.0.0:
- Claude agents: wake/restart resumes the exact session (--resume , fallback --continue); fresh session only via /new; active session id is auto-captured and pinned in the topic
- Codex agents: wake/restart resumes the most recent session (codex resume --last); /new arms a fresh one
- Codex inbound fixed: the fleet MCP no longer hijacks the message stream from codex-shell
- /kill fully deterministic: deliberate-kill flag (no watchdog respawn), attach window closes, queue cleared
- /context and /usage relay the real terminal output into Telegram (correct for any model/window size)
- Single-instance fleet start: a stale runner is detected and replaced automatically
fleet v2.0.0 — standalone
Second generation of fleet — fully local, no cloud backend.
- Telegram long-polling (no webhook, no public URL, works behind NAT)
- npm-installable: npm i -g @sand0vvv/fleet -> fleet init -> fleet start
- Claude Code + Codex engines side by side (topic per agent)
- Real terminal windows; park on close, wake on message, sessions continue
- Reliable delivery: on-disk queue + replay, debounce, crash watchdog, single-instance runner
- Voice notes (Groq / OpenAI / local Whisper), files both ways
Legacy cloud architecture lives on the legacy / legacy-docker branches (v1.0.0-legacy*).
See the README for the full guide.
fleet legacy-docker — final
Legacy cloud architecture plus a Docker jail: the runner and its agents live in a container that sees a single host folder — an isolated fleet for a second operator. Kept for reference; the actively developed version is the standalone branch.
fleet legacy — final
Final state of the original cloud architecture: Telegram webhook -> receiver -> FastAPI backend (Postgres, Whisper, routing) -> WS push to a local Python runner. Kept for reference; the actively developed version is the standalone branch.
v0.11.0 — native /compact + /context
Headless agents now use Claude Code's NATIVE /compact (dispatchable in -p; keeps the session) with the soft summarize→fresh-session as a fallback. New /context command runs the native context-window breakdown. Both resolve the topic's agent when bare. KNOWN_COMMANDS + dispatch + help updated.
v0.10.0 - real coordinator + exactly-once delivery
Real General coordinator (full haiku agent, fresh session each request, fleet_command + Bash/Write to create folders/scaffold/manage fleet). Command routing so commands never hit the coordinator. /agent/{name}/inject for external alert push (tac). Exactly-once delivery: per-agent cursor + replay on reconnect + consumer id-dedup (persisted high-water) + ack; receiver retries on backend-down. No loss, no duplicates.
v0.9.0 - cli reply discipline
cli agents now reliably reply via send_message: a system-prompt rule is injected at spawn (--append-system-prompt-file) and every channel-injected message appends a reminder that console text is invisible to the owner. Fixes the case where the agent answered in the cli window instead of Telegram.
v0.8.0 - cli compact + pinned session
cli /compact now works: closes the window, summarizes the live session, restarts the window on the compacted session. Runner auto-detects a cli agent live session (newest jsonl). The active session_id is pinned in the agent topic and stored in fleet.agents (pin_msg_id, migration 003) so both owner and agent know it; pin updates on session change.
v0.7.0 - session listing fix + token counts
Fix /sessions: Claude encodes project paths by replacing every non-alphanumeric char (incl cyrillic) with dash; listing now matches and works for non-ASCII folder names. /status now reports session context size in tokens (with a compact hint >150k) so you know when to /compact; /sessions shows id/time/size.
v0.6.0 - message linkage & reply tags
Messages are tied to Telegram message_id (in/out). Replying to a specific message in Telegram now tags it for the agent ([reply to #id: quote]) and stores reply_to in fleet.messages (migration 002). Lets the owner tag/thread specific messages.