plano

katanemoApache-2.0活跃维护

面向智能体应用的 AI 原生代理服务器和数据平面,提供 LLM 智能路由、可观测性、编排与护栏,让开发者专注核心逻辑。

Plano is an AI-native proxy server and data plane for agentic apps. Smart LLM routing, observability, agent orchestration, and guardrails so you stay focused on your agents core logic.

0.4.39发布于 2026-10-24 19:03 UTC7,113star +3 / 7 天495fork同步于 2026-11-10 11:33 UTC

怎么上手

由 README 提炼,执行前请确认
planoai up config.yaml
硬件要求按 README 说明

README 未说明显存或 GPU 要求;路由依赖 Plano 系列 LLM(如 4B 参数的 orchestrator),官方在美国中部区域免费托管,生产环境可本地运行这些模型或申请 API key。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

AI 原生代理服务器与数据平面,把 agent 路由、可观测性和护栏从业务代码里抽出来

面向智能体应用的 AI 原生代理服务器和数据平面,提供 LLM 智能路由、可观测性、编排与护栏,让开发者专注核心逻辑。

核心能力

  • 用 YAML 声明 agent 描述,由轻量 LLM 自动做意图路由
  • 按模型名、语义别名或偏好自动路由到不同 LLM 供应商
  • 零代码采集 Agentic Signals 与 OTEL 全链路 trace
  • 通过 Filter Chains 统一挂载越狱防护、审核与记忆钩子
  • 基于 Envoy 实现低延迟的 agent 间编排,新增 agent 只改配置

容易踩的坑

首次运行依赖官方托管的 Plano LLM 服务,生产需自行本地部署模型或申请 API key;agent 需实现 OpenAI 兼容的 /v1/chat/completions 接口并指向 Plano 网关端口;示例中 agent 监听 10510/10520、网关 12001、编排入口 8001,端口需与 config.yaml 对齐。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本0.4.39
  1. 0.4.39最新正式版2026-10-24 · 2026-10-24 19:03 UTC

    What's Changed

    Full Changelog: https://github.com/katanemo/plano/compare/0.4.38...0.4.39

  2. 0.4.382026-10-24 · 2026-10-24 18:22 UTC
    查看更新说明

    What's Changed

    New Contributors

    Full Changelog: https://github.com/katanemo/plano/compare/0.4.37...0.4.38

  3. 0.4.372026-09-28 · 2026-09-28 22:51 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/katanemo/plano/compare/0.4.36...0.4.37

  4. 0.4.362026-08-19 · 2026-08-19 19:29 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/katanemo/plano/compare/0.4.35...0.4.36

  5. 0.4.352026-08-18 · 2026-08-18 20:55 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/katanemo/plano/compare/0.4.34...0.4.35

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    The AI-native proxy server and data plane for agentic apps. Plano pulls out the rote plumbing work and decouples you from brittle framework abstractions, centralizing what shouldn’t be bespoke in every codebase - like agent routing and orchestration, rich agentic signals and traces for continuous improvement, guardrail filters for safety and moderation, and smart LLM routing APIs for model agility. Use any language or AI framework, and deliver agents faster to production.

    Quickstart Guide • Build Agentic Apps with Plano • Documentation • Contact

    CI Docker Image Build and Deploy Documentation

    Star ⭐️ the repo if you found Plano useful — new releases and updates land here first.

    Overview

    Building agentic demos is easy. Shipping agentic applications safely, reliably, and repeatably to production is hard. After the thrill of a quick hack, you end up building the “hidden middleware” to reach production: routing logic to reach the right agent, guardrail hooks for safety and moderation, evaluation and observability glue for continuous learning, and model/provider quirks scattered across frameworks and application code.

    Plano solves this by moving core delivery concerns into a unified, out-of-process dataplane.

    Plano pulls rote plumbing out of your framework so you can stay focused on what matters most: the core product logic of your agentic applications. Plano is backed by industry-leading LLM research and built on Envoy by its core contributors, who built critical infrastructure at scale for modern worklaods.

    High-Level Network Sequence Diagram: high-level network plano architecture for Plano

    Jump to our docs to learn how you can use Plano to improve the speed, safety and obervability of your agentic applications.

    [!IMPORTANT] Plano and the Plano family of LLMs (like Plano-Orchestrator) are hosted free of charge in the US-central region to give you a great first-run developer experience of Plano. To scale and run in production, you can either run these LLMs locally or contact us on Discord for API keys.


    Build Agentic Apps with Plano

    Plano handles orchestration, model management, and observability as modular building blocks - letting you configure only what you need (edge proxying for agentic orchestration and guardrails, or LLM routing from your services, or both together) to fit cleanly into existing architectures. Below is a simple multi-agent travel agent built with Plano that showcases all three core capabilities

    📁 Full working code: See demos/agent_orchestration/travel_agents/ for complete weather and flight agents you can run locally.

    1. Define Your Agents in YAML

    # config.yaml
    version: v0.3.0
    
    # What you declare: Agent URLs and natural language descriptions
    # What you don't write: Intent classifiers, routing logic, model fallbacks, provider adapters, or tracing instrumentation
    
    agents:
      - id: weather_agent
        url: http://localhost:10510
      - id: flight_agent
        url: http://localhost:10520
    
    model_providers:
      - model: openai/gpt-4o
        access_key: $OPENAI_API_KEY
        default: true
      - model: anthropic/claude-3-5-sonnet
        access_key: $ANTHROPIC_API_KEY
    
    listeners:
      - type: agent
        name: travel_assistant
        port: 8001
        router: plano_orchestrator_v1  # Powered by our 4B-parameter routing model. You can change this to different models
        agents:
          - id: weather_agent
            description: |
              Gets real-time weather and forecasts for any city worldwide.
              Handles: "What's the weather in Paris?", "Will it rain in Tokyo?"
    
          - id: flight_agent
            description: |
              Searches flights between airports with live status and schedules.
              Handles: "Flights from NYC to LA", "Show me flights to Seattle"
    
    tracing:
      random_sampling: 100  # Auto-capture traces for evaluation
    

    2. Write Simple Agent Code

    Your agents are just HTTP servers that implement the OpenAI-compatible chat completions endpoint. Use any language or framework:

    # weather_agent.py
    from fastapi import FastAPI, Request
    from fastapi.responses import StreamingResponse
    from openai import AsyncOpenAI
    
    app = FastAPI()
    
    # Point to Plano's LLM gateway - it handles model routing for you
    llm = AsyncOpenAI(base_url="http://localhost:12001/v1", api_key="EMPTY")
    
    @app.post("/v1/chat/completions")
    async def chat(request: Request):
        body = await request.json()
        messages = body.get("messages", [])
        days = 7
    
        # Your agent logic: fetch data, call APIs, run tools
        # See demos/agent_orchestration/travel_agents/ for the full implementation
        weather_data = await get_weather_data(request, messages, days)
    
        # Stream the response back through Plano
        async def generate():
            stream = await llm.chat.completions.create(
                model="openai/gpt-4o",
                messages=[{"role": "system", "content": f"Weather: {weather_data}"}, *messages],
                stream=True
            )
            async for chunk in stream:
                yield f"data: {chunk.model_dump_json()}\n\n"
    
        return StreamingResponse(generate(), media_type="text/event-stream")
    

    3. Start Plano & Query Your Agents

    Prerequisites: Follow the prerequisites guide to install Plano and set up your environment.

    # Start Plano
    planoai up config.yaml
    ...
    
    # Query - Plano intelligently routes to both agents in a single conversation
    curl http://localhost:8001/v1/chat/completions \
      -H "Content-Type: application/json" \
      -d '{
        "model": "gpt-4o",
        "messages": [
          {"role": "user", "content": "I want to travel from NYC to Paris next week. What is the weather like there, and can you find me some flights?"}
        ]
      }'
    # → Plano routes to weather_agent for Paris weather ✓
    # → Then routes to flight_agent for NYC → Paris flights ✓
    # → Returns a complete travel plan with both weather info and flight options
    

    4. Get Observability and Model Agility for Free

    Every request is traced end-to-end with OpenTelemetry - no instrumentation code needed.

    Automatic Tracing

    What You Didn't Have to Build

    Infrastructure ConcernWithout PlanoWith Plano
    Agent OrchestrationWrite intent classifier + routing logicDeclare agent descriptions in YAML
    Model ManagementHandle each provider's API quirksUnified LLM APIs with state management
    Rich TracingInstrument every service with OTELAutomatic end-to-end traces and logs
    Learning SignalsBuild pipeline to capture/export spansZero-code agentic signals
    Adding AgentsUpdate routing code, test, redeployAdd to config, restart

    Why it's efficient: Plano uses purpose-built, lightweight LLMs (like our 4B-parameter orchestrator) instead of heavyweight frameworks or GPT-4 for routing - giving you production-grade routing at a fraction of the cost and latency.


    Contact

    To get in touch with us, please join our discord server. We actively monitor that and offer support there.

    Getting Started

    Ready to try Plano? Check out our comprehensive documentation:

    Contribution

    We would love feedback on our Roadmap and we welcome contributions to Plano! Whether you're fixing bugs, adding new features, improving documentation, or creating tutorials, your help is much appreciated. Please visit our Contribution Guide for more details

    Star ⭐️ the repo if you found Plano useful — new releases and updates land here first.