Skip to content
Coven

Coven

Self-hosted AI agent orchestration. A Go gateway connects Claude Code, mux agents, native clients, and chat bridges over Tailscale.

GitHub ← All Products

Coven is an agent orchestration platform you run on your own infrastructure. It connects AI agents — Claude Code sessions, mux-based agents, or anything that speaks gRPC — to a central gateway that handles routing, identity, persistence, and tool access. Clients connect from a native iOS/macOS app, a terminal UI, or chat platforms like Matrix, Slack, and Telegram. Everything runs over Tailscale, so nothing touches the public internet.

Install

Build from source. The system has four components:

# Gateway (Go)
cd coven-gateway
make

# Agents and TUI (Rust)
cd coven
cargo build --workspace

# iOS/macOS app
cd coven-app/CovenApp
xtool build

# Link a device to your gateway
coven-link <gateway-address>

What it does

Message routing. The gateway sits between agents and everything else. HTTP clients, gRPC clients, Matrix rooms, Slack channels, and Telegram chats all send messages through the gateway, which routes them to the right agent and streams responses back in real-time. Every message is persisted to SQLite.

Agent backends. Coven ships its own Rust agent runtime built on mux for LLM interaction and tool execution. It also works with Claude Code as an agent backend. The swarm supervisor can manage multiple workspace agents simultaneously, dispatching messages across them.

Identity and auth. Ed25519 keypairs for all principals (agents, clients, packs). JWT session tokens for ongoing connections. SSH fingerprint verification. Admin-managed capability grants control which agents can use which tools. Everything is audit-logged.

Tool packs. Packs are plugin processes that register tools with the gateway over gRPC. The MCP bridge pack wraps any MCP server and exposes its tools to agents automatically. The productivity pack adds todo and notes with SQLite storage. Build your own with the Rust pack SDK: implement the ToolHandler trait and register a manifest.

Native clients. The iOS/macOS SwiftUI app talks to the gateway through a Rust FFI layer (CovenKit, built with UniFFI). The TUI (Ratatui-based) connects over gRPC. Both support streaming responses, tool use display, and multi-agent switching.

Chat bridges. Matrix (with E2EE), Slack (Socket Mode), and Telegram (long polling) bridges connect existing chat platforms to coven agents. Each bridge maps platform channels to gateway conversation keys. Messages are deduplicated at the gateway.

How it works

Three layers:

  1. Gateway (Go) — The control plane. Manages gRPC streams to agents, HTTP/SSE to web clients, and an MCP-compatible HTTP endpoint. Persists threads, messages, bindings, and audit logs in SQLite. Joins your tailnet via tsnet.

  2. Agents (Rust) — Stateful workers. Each agent connects to the gateway, receives messages, runs an LLM loop via mux, executes tool calls, and streams results back. The swarm supervisor manages multiple agents across workspaces.

  3. Clients and bridges — iOS app, TUI, web frontend, and platform bridges. Thin layers that send messages to the gateway and render streamed responses.

Requirements

  • Tailscale account and tailnet
  • Go 1.22+ (gateway)
  • Rust 2024 edition (agents, TUI, packs)
  • Xcode 26+ or xtool (iOS/macOS app)
  • At least one LLM API key (Anthropic, OpenAI, etc.)
22 products · 8 skills · hugo 0.148.2 · 0a555bd · built Feb 26 17:01
2389 Radio
2389 RADIO Select a station