Companion
An open-source CLI tool for launching and managing fleets of task-optimized AI agents with tools, memory, and private Tailscale networking.
At a Glance
About Companion
Companion is an open-source, MIT-licensed tool by The Vibe Company that lets developers go from "I need several specialized agents" to a running fleet they can actually use. Each agent in a fleet gets its own role, tools, memory, runtime, and private access. The project is hosted on GitHub under The-Vibe-Company organization and is available as a compiled Go binary for Linux and macOS.
What It Is
Companion is a CLI-driven agent fleet manager. It treats a local folder as the source of truth — a set of TOML files describing providers, agents, vaults, networking, and identity — and compiles that desired state into typed resources, compares it with observed provider state, and applies changes idempotently. The result is a reproducible, copyable workspace that can be adapted per client, team, or use case without rebuilding the ops stack from scratch.
How the Fleet Model Works
A Companion workspace defines one or more named agents, each with its own:
- Identity — a
SOUL.mdfile that sets the agent's persona and memory policy - Model — routed through OpenRouter with optional catalog validation
- Runtime — deployed as a Fly.io app with a persistent volume and secrets bundle
- Memory — Granite vaults for durable, cross-agent shared memory
- Private networking — reachable only through Tailscale VPN, not the public internet
- Chat surface — Open WebUI connected to enabled Hermes API servers in the fleet
The CLI loop is: edit TOML → companion validate → companion plan → companion apply.
Architecture and Toolchain
Companion is written in Go. The binary embeds the status dashboard UI (go:embed), so there is no separate frontend build step. State is stored in a local SQLite file (.companion/state.sqlite) as evidence, not desired config. Resource addresses are deterministic (e.g., fly_app.agent.<id>), making plans readable and repeatable. Provider e2e tests use local httptest.Server mocks for Fly, Tailscale, and OpenRouter.
Key infrastructure integrations:
- Fly.io — agent app deployment, volumes, secrets, rollouts
- Tailscale — private mesh networking and hostname drift checks
- OpenRouter — model routing and provider references
- Granite — durable vault memory with MCP read/write roles
- Open WebUI — shared chat frontend backed by fleet API servers
Deployment Model
Companion supports three deployment patterns: a local CLI against a workspace directory, a remote control plane (a persistent Fly app running companion console with a mounted volume), and a deployed dashboard (a stateless Fly app reachable only over Tailscale). The control plane tracks multiple workspaces in ~/.companion/workspaces.json and supports upgrade, export, and status commands. Secrets are read from .env or the shell environment; Companion prints secret names only, never secret values.
Update: v0.2.0
The latest release is v0.2.0, published in June 2026. The GitHub README notes that the previous Companion web UI codebase has been archived at archived/legacy-companion/, and Companion is now the Go control plane described in the current README. Release Please manages version PRs, changelog updates, tags, and GitHub Releases; release assets contain a single companion binary for Linux and macOS. The repository has accumulated over 2,300 stars and nearly 300 forks since its creation in early 2026, according to GitHub metadata.
Community Discussions
Be the first to start a conversation about Companion
Share your experience with Companion, ask questions, or help others learn from your insights.
Pricing
Open Source
Free and open source under the MIT License. Self-host on your own infrastructure.
- Full CLI toolchain (init, validate, plan, apply, output, dashboard)
- Unlimited agent fleets
- Granite vault memory
- Tailscale private networking
- OpenRouter model routing
Capabilities
Key Features
- Launch fleets of task-optimized AI agents
- Per-agent identity via SOUL.md files
- Durable Granite vault memory with cross-agent sharing
- Private Tailscale networking for agent isolation
- OpenRouter model routing and catalog validation
- Open WebUI shared chat surface for fleet
- TOML-based declarative workspace configuration
- Idempotent apply with deterministic resource addresses
- SQLite state evidence store
- Live fleet status dashboard (embedded UI)
- Control plane deployment on Fly.io
- CLI commands: init, validate, plan, apply, output, dashboard
- Explicit destroy with backup-first option for persistent data
- Import existing provider resources into state
- Drift detection for Tailscale and Fly resources
- Versioned agent identities and vault connections
- Release Please managed versioning and changelogs
