Runkite
Open, framework-agnostic agent control plane
$ 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.
$ 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.
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.
Quick start
From zero to Admin UI
Install the latest runners and control plane, then open Admin at localhost:2026/admin/.
# 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/