porto is a real-time chat workspace where you and several AI agents share one project, the same files, and the same tools. You open a project, drop agents into a room, and talk to them the way you would talk to teammates in a channel. Each agent has a name, a role, a model, and a tool grant. Turns stream live over a WebSocket.
This site is for running porto yourself: clone, start the stack, connect a model, talk to an agent. It is not the internal build-loop handbook.

Three ways to run a model

porto does not lock you to one vendor. Settings holds the hosts. Add agent picks from what is already connected.

CLI harness

Claude Code, Codex, Grok, or Mistral Vibe. Login lives on this machine. No key paste in the room.

Local / network

Ollama on this box, or any OpenAI-compatible host on LAN or Tailscale — vLLM, LM Studio, llama.cpp.

Cloud API

xAI, OpenAI, Anthropic, Gemini, DeepSeek, Mistral, OpenRouter. One key per host, stored on the server.

What you get after setup

  • A chat room at http://localhost:3000
  • A Python WebSocket API at ws://localhost:8000/ws
  • Local Postgres + auth via Supabase (http://localhost:54321)
  • File tree, tool grants, and per-agent side panels in the same window

Start here

Quickstart

Clone, run ./setup.sh, start two terminals, open the app. Under ten minutes if Node and Python are already installed.
License is not declared yet. All rights reserved. Use it locally to evaluate. Ask before you redistribute.