1 · The big picture

Air-traffic control for agents — not another agent framework.

What problem does Runkite solve?

You want to run AI agents in production across frameworks (LangGraph, CrewAI, LlamaIndex, AutoGen, …). Each framework has its own runtime, state, and conversation habits. If you run them as loose scripts, you have no shared control: no single place to see work, enforce policy, kill a runaway, require human approval before a dangerous tool call, or mint credentials without copying secrets into every process.

Runkite sits in the middle as a control plane — one Go binary that coordinates. Agents still do the flying (LLM calls, tools); the plane decides who may fly, with which fuel (credentials), under which rules, with an audit trail.

What Runkite is not

It does not import LangGraph or CrewAI. It does not call OpenAI or Anthropic. It does not claim to solve prompt injection or PII redaction as a product. Those are different jobs. The plane coordinates: accept client requests, dispatch to runners, stream results, vend connectors, enforce policy, keep audit. Execution lives in separate runner processes that do import frameworks and call LLMs.

One sentence

Runkite is a self-hosted control plane between your application and your agent workers — dispatch, streaming, multi-tenancy, auth, policy, credentials, and observability — regardless of which agent framework the workers use.

Where the pieces live (public tree)

Next: three processes · why Agent Protocol