Runkite

Open, framework-agnostic agent control plane

Runkite Admin UI walkthrough — Overview, Policy grants, and Audit; sidebar shows Grants, Mandatory HITL, Pending, Kill, Break-glass, Audit

$ cat frameworks.json

Bring your framework. Same control plane.

LangGraph, CrewAI, LlamaIndex, AutoGen, LangChain, and LangGraph.js — one gRPC Runner Protocol, one Go binary, embedded Admin UI. No second deploy for ops.

LangGraph CrewAI LlamaIndex AutoGen LangChain LangGraph.js Postgres + Redis HA SSE · WebSocket · gRPC Agent-to-agent OTel Admin grants · HITL · kill · audit pgvector · Qdrant · Pinecone

$ cat policy.json

Govern the plane, not only the prompt.

Fail-closed connector grants, durable policy audit, connector HITL, kill/pause, break-glass, and mandatory HITL on SQL backends — with Admin pages for each. Run-bound so tenant comes from the assignment, not a forged header. Laptop proof: make smoke-governance. Not Mongo governance parity, not in-graph tool sandboxing, not FinOps dashboards, not a paid cloud soak.

Run-binding Grants Mandatory HITL Pending HITL Kill Break-glass Audit Postgres Supported

Architecture

Clients → control plane → runners

Pluggable state, transport, and vectors under an honest tier model — Supported for Postgres + Redis, Compatible for the rest. Kubernetes packaging is Compatible until a real-cloud soak.

Runkite ecosystem: clients to control plane to runners with pluggable backends

Quick start

From zero to Admin UI

Install the latest runners and control plane, then open Admin at localhost:2026/admin/.

~/runkite
# runners (latest from PyPI / npm)
pip install runkite-runner
npm install -g runkite-runner

# control plane — Docker or GitHub Release binary
docker pull ghcr.io/getrunkite/runkite:latest

# from source
git clone https://github.com/getrunkite/runkite && cd runkite && make build
export RUNKITE_ALLOW_INSECURE_SERVE=1  # local demo only
./runkite dev --config examples/echo_agent/langgraph.json
# → http://127.0.0.1:2026/admin/