v1 · Apache 2.0 · Self-hostable

The only agent runtime
you will need.

Everything you need to deploy, monitor, and manage agents in production. Go live in minutes, not months.

Open source. Apache 2.0. Self-hostable in five minutes.

Chat with your agentsBuild agents in minutesConnect any backendFederate every toolObserve every turnRun multi-agent clustersBring your own provider keys

Chat with your agents

What you get

Three primitives. Composed however you need.

Agents

Define agents with system prompts, tools, memory, and version pins. Run them via REST, WebSocket, or MCP. Canary new versions before promoting them.

Memory

Conversation history, semantic recall, knowledge graph, user profiles. Scoped per organization, project, environment, and user. Encrypted at rest.

Tools

Federate any backend through the MCP gateway. 200 tools shipped. BYOK provider routing. Per-tool ACL. Approval workflows for sensitive operations.

Built in, not bolted on

Eight capabilities you would otherwise spend a quarter rebuilding.

01

MCP gateway

Federate four tool families through one endpoint: entity tools, trigger meta-tools, Platos skills, control plane. Token-scoped, per-tool ACL.

02

Bring your own provider

Anthropic, OpenAI, Google Vertex, Voyage. Multiple keys per provider. Per-agent and per-entity routing. Cost tracking on every key.

03

Multi-agent clusters

Group agents to share user memory and thread history. Build a chat agent and a background agent that operate on the same context.

04

Durable background ops

Spawn long-running operations from any agent turn. Built on trigger.dev. Per-org queue isolation. Idempotency by request hash.

05

Memory and knowledge graph

Semantic recall over conversation history. Auto-extracted entities and relationships. Manual writes via the API.

06

Approval workflows

Gate sensitive tool calls. Three resolutions: approve, reject, edit and approve. Operator can rewrite the LLM's arguments before execution.

07

Skills framework

Reusable agent behaviors with manifests, required env vars, and version pins. Four official skills shipped. Install custom skills from a URL.

08

Full observability

Every turn traced. Span timeline. Cost attribution per agent, per provider, per token. Exportable to ClickHouse.

Five minutes from clone to chat

One compose file, your provider key, a magic link login. The full dashboard, agent runtime, and tool gateway running locally.

terminal
git clone https://github.com/winsenlabs/platos
cd platos
cp .env.example .env
# Add your provider keys
docker compose up

Open http://localhost:3030. Sign in with the magic link. Build your first agent.

Architecture

Four layers. One compose file.

Clients reach the runtime. The runtime federates tools through an MCP gateway, draws on memory + skills + observability, and stands on five infra services you own.

Layer 01

Clients

How users and your code reach Platos.

Web app

Dashboard + chat

MCP clients

Claude, Cursor, custom

SDKs

@platos/client, py

Layer 02

Runtime + MCP gateway

The agent loop and the federated tool router. OAuth-scoped, per-tool ACL, per-agent budget caps.

Agent runtime

Turns + streaming

Tool router

Scope-aware dispatch

OAuth + auth

Three modes + PAT

Layer 03

Tools · Skills · Memory · Observability

Reusable behaviors, persistent recall, and traces, wired together at the runtime layer.

Tools

Federated + native

Skills

Manifest + env

Memory

Vectors + KG

Observability

OTel + ClickHouse

Layer 04

Foundation

Five infra services. One docker compose file. All on your hardware. Durable execution comes from trigger.dev under the hood: every BGO, scheduled task, and resumable retry runs on its run engine.

Postgres

ClickHouse

Redis

MinIO

trigger.dev

$ docker compose -f docker-compose.platos.yml up -d

The story

Why we built this

The agent runtime stack should be open, ownable, and good enough to ship on. Today most teams do not get that. They pick a managed platform and accept the trade, or they spend three months rebuilding the same plumbing themselves.

Platos exists so neither group has to. Apache 2.0, self-hostable in five minutes. Agents, tools, memory, evals, observability, multi-tenancy, all in one runtime. Teams own their infra, data, and model choices.

It is one of the things we work on at Winsen Labs. We use it every day, ourselves and with the teams we work with, and we kept building until it was good enough to give away.

The lab

Built by Winsen Labs

Winsen Labs is a research lab where the research and the products live in the same building. We work on the structure of intelligence and the shape of work, in three forms at once.

  • NDNA. Compact programs that grow much larger networks. Research, papers, code, all open.
  • Winsen Bridge. A workspace where the model is part of the team, not a feature bolted on top. Proprietary product.
  • Platos. The open-source runtime that lets agents grow up and live in production. Apache 2.0. The thing you are reading the docs for.

Each one keeps the others honest. See the broader body of work at winsenlabs.com.

Need help shipping internal agents?

Each year Winsen Labs takes on a small number of paid engagements with teams whose problems are genuinely interesting. The kind where research is part of the answer, not an afterthought. If that sounds like your team, we would love to hear from you.

Talk to Platos

Powered by the Platos runtime

Powered by Platos →