Practical overview
When it fits
Use Plano when agent routing, provider handling or observability is becoming repeated middleware across agent applications, or when you need a separate layer to coordinate multiple agents.
Who it is for
- Teams building applications that coordinate multiple AI agents.
- Developers who want model routing and agent observability outside individual agent codebases.
- Organizations seeking a shared proxy layer for agent routing, moderation filters or model management.
Documented uses
- Route incoming requests to agents based on their declared roles.
- Route model calls by model name, alias or preferences.
- Capture traces, metrics and agent signals for monitoring and improvement.
- Apply guardrail and moderation policies through filter chains.
Requirements & limits
Plano is public source code under the Apache-2.0 license. The README describes hosted Plano models free of charge in the US-central region for a first-run developer experience; for production scale it points to running models locally or contacting the project for API keys.
- Plano is an infrastructure layer, not the implementation of an application's agent-specific behavior.
- The README's example agents use an HTTP server with an OpenAI-compatible chat completions endpoint.
- The project describes modular use of edge proxying, LLM routing, or both.
- The repository identifies Rust as its primary language and Envoy as the foundation for its proxy.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Configure and use Plano as an LLM model proxy
Route an OpenAI-compatible chat completion request through Plano to a configured model provider.
Before you start
- Python 3.10 or later.
- Linux (x86_64 or aarch64) or macOS on Apple Silicon.
- The Plano CLI, installable with uv or pip.
- An API key for each configured provider, supplied through environment variables or a .env file.
- Docker is optional; Docker mode requires Docker Engine 24 and Docker Compose 2.29.
Steps
Install the Plano CLI with the command below, or create and activate a Python virtual environment and install it with the command below.
uv tool install planoai==0.4.37pip install planoai==0.4.37Create
plano_config.yamlwith a model listener on port 12000 and provider entries for the models and access keys you intend to use; setdefault: trueon the default provider.Set the provider API-key environment variables, then start Plano with
planoai up plano_config.yaml.Send an OpenAI-compatible chat completion request to
http://localhost:12000/v1/chat/completions, or configure the OpenAI Python client to usehttp://127.0.0.1:12000/v1.Stop Plano with
planoai downwhen finished.
Expected outcome
Plano runs as a model proxy, exposing a chat completions interface that forwards requests to configured model providers.
Guide limitations
- The documented native setup supports Linux x86_64/aarch64 and macOS Apple Silicon; other platforms are not listed.
- A request naming a model not found in configuration may be routed randomly to an available configured model.
- The quickstart assumes familiarity with agents and prompt targets, though this model-proxy path does not require implementing agent application code.
Configure and start a Plano agent orchestrator
Set up Plano to route requests among existing HTTP agent services using their descriptions.
Before you start
- The Plano CLI and a supported Python/platform setup described in the quickstart.
- Existing agent services accessible over HTTP, with their URLs and descriptions.
- An API key for the configured model provider.
Steps
Create a Plano configuration listing the agent IDs and service URLs, the model provider and access key, and an agent listener with a router and descriptions for each agent.
Start the agent services, then start Plano with the configuration using
planoai up plano_config.yaml(oruvx planoai up plano_config.yamlwhen using uv).Send a prompt to the agent listener’s OpenAI-compatible chat completions API; the quickstart example exposes the listener on port 8001.
Expected outcome
Plano starts an agent listener configured to route prompts to the listed agent services based on their descriptions.
Guide limitations
- Agent application and backend implementations are not covered by this setup walkthrough; the services must be started separately.
- The quickstart describes routing but does not establish that a particular request or agent response will succeed.
Compare options for Agent orchestration
These projects document a common task and share a project role. This is a source-based comparison, not an execution benchmark or a guarantee of interchangeability.
| Project | Documented purpose | Platform | Access and requirements |
|---|---|---|---|
| Plano | Route incoming requests to agents based on their declared roles. | Self-hosted, Server | Plano is public source code under the Apache-2.0 license. The README describes hosted Plano models free of charge in the US-central region for a first-run developer experience; for production scale it points to running models locally or contacting the project for API keys. |
| Agentfm Core | Run a containerized agent in a Podman sandbox on a worker machine | Desktop, Docker, Self-hosted | The README lists desktop installers for macOS and Linux; it says the Windows app is in progress. Its desktop quick start says the bundled node connects to the public mesh. The README notes that the v1 installers are unsigned and macOS may block the first launch. |
| Tensorlake | Run an agent or its tools inside a stateful MicroVM sandbox. | Cloud, Server | The README directs cloud users to sign up for an account, obtain an API key, and authenticate with the CLI. It documents installation of the Python SDK with pip and distribution of the `tl` CLI as a standalone binary. The repository is public and licensed under Apache-2.0. |
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 14 October 2026
- Original website title
- katanemo/plano · Official homepage title · retained in its source language

