Open source. Self-hosted. Built for real work.

Self-hosted agent runtime for real infrastructure.

Run durable AI agents against your own files, tools, browsers, desktops, services, and workflows without moving the runtime into a vendor-controlled agent cloud.

install the latest release
Loading current release command...
Relay-backed tools Shared context Multi-provider agents Deterministic flows First-class Telegram client

Why PawFlow

Agents should work where your infrastructure already is.

PawFlow keeps the orchestration layer under your control. The server coordinates agents and conversations; relays execute tools next to the workspace; flows run repeatable work with explicit structure.

Your files stay reachable through relays.Agents can read, edit, search, run commands, use browser/desktop actions, and generate media through controlled tool routes.
Context survives restarts.Conversations, memory, knowledge graphs, diaries, project graphs, and FileStore outputs remain available across clients.
Providers are interchangeable.Use Codex app-server, Claude Code interactive, Antigravity/Agy, Gemini CLI, Anthropic, OpenAI, or compatible endpoints per agent or conversation.
PawFlow web chat and flow console preview
One runtime shared by web chat, PawCode, VS Code, Telegram, API clients, and channel flows.

Architecture

A clear boundary between server, relay, agent, and flow.

PawFlow does not need permanent direct access to every machine. It routes work through connected relays and explicit services.

Clients
Web, CLI, VS Code, API
PawFlow Server
agents, context, flows, auth
Relay
filesystem, shell, screen, browser
Workspace
code, desktop, local services

Design with agents. Execute with structure.

Use agents for exploration, coding, decisions, and maintenance. When work becomes repeatable, turn it into a flow: CRON triggers, task DAGs, backpressure, checkpoints, retries, and explicit LLM calls only where modeled.

View the daily digest pattern
PawFlow webchat workspace menu with relay tools
Planned capture: webchat side menu showing relay desktop, terminals, context, memory, and VS Code/code-server entries.

Webchat workspace

The conversation can open the same surfaces the agent uses.

A linked relay is not only file access. From the webchat, operators can open desktop sessions, terminals, VS Code/code-server, context editors, memory editors, and provider runtime views while the agent works.

Desktop RelayAgents can inspect and control a full desktop through screen tools. With a local relay started with `allow_local`, that desktop can be the local machine where the relay runs; otherwise it is the relay container or configured remote desktop.
Terminals on the relayThe webchat can open terminals for the relay Docker workspace, the host-local relay surface when allowed, and the server relay shell for working directly on the PawFlow server.
Interactive provider tmuxCLI-backed interactive providers such as Claude Code interactive and Antigravity/Agy run in tmux-backed sessions, so their live terminal state can be observed and debugged instead of being a black box.

What you can do

From first chat to operational workflows.

01

Agentic coding

Run coding agents against a linked workspace with relay-backed read, edit, shell, grep, browser, and project graph tools.

02

Multi-agent work

Delegate tasks, assign plans, verify outputs, and run different providers in the same conversation.

03

Desktop and browser tasks

Operate controlled desktops, browsers, VNC sessions, and forwarded local services from the same runtime.

04

Media generation

Generate and transform images, video, audio, voice, 3D assets, try-on outputs, and upscaled media into FileStore.

05

Deterministic automations

Run NiFi-style JSON flows with 100+ task types across IO, data, control, system, and AI categories.

06

Self-hosted security model

Use explicit relays, stored secrets, provider boundaries, private gateways, and per-agent permissions.

First-class Telegram

Run your agents from a Telegram chat.

Telegram is a complete, supported client for the same agent runtime as web chat and PawCode β€” not a webhook bolt-on. Message a bot and reach the same durable conversations, agents, and tools, with live thinking and tool events streamed back into the chat.

Same runtimeShared conversations, multi-agent context, attachments, and FileStore outputs.
Rich messagesText, documents, photos, voice, slash commands, and spoken replies.
Set up the Telegram channel
Chatting with a PawFlow agent from Telegram, with live thinking and tool events streamed into the chat
Live agent thinking and tool calls mirrored into a Telegram chat.
Video: dictate a message, watch it transcribed, hear the agent's reply read aloud.

Voice in, voice out

Talk to your agents β€” and let them talk back.

Speech-to-text and text-to-speech are first-class services. Dictate from the webchat microphone or send a Telegram voice note and it lands as a transcribed message; enable TTS and every reply comes back as audio. Run fully self-hosted voices (Supertonic, Voicebox, LuxTTS) or any OpenAI-compatible endpoint β€” agents also get speak and voice-cloning tools for media work.

Speech-to-textWebchat microphone and Telegram voice notes, transcribed by your STT service.
Text-to-speechSpoken replies in webchat and Telegram, plus voice tools for agents.
Set up TTS and STT

Built-in cloud desktop

A real self-hosted cloud desktop, one click from the chat.

Every desktop-capable relay β€” including the server relay built into PawFlow itself β€” ships a full Linux virtual desktop. Open it as a noVNC tab from the webchat workspace menu, stream its audio, and keep working: no extra VM, no third-party remote-desktop service, everything stays on your infrastructure.

For younoVNC desktop and audio streaming in a browser tab, next to the conversation.
For agentsThe same desktop through screen and see tools, with approved clicks, typing, and shell.
Use the relay desktop
Self-hosted relay cloud desktop open in the browser through noVNC
The relay's virtual desktop, served by your own PawFlow host through noVNC.
Video: gateway skin, sign-in with an external provider, and the workspace behind it.

Private Gateway

Your server stays invisible until you sign in.

Internet-facing routes sit behind an explicit gateway step with rate limits, cooldowns, and bans. Sign in with Google, GitHub, X.com, Telegram, Microsoft, Facebook, Amazon, or built-in PawFlow accounts β€” and disguise the gateway itself with themed skins (Matrix, Netflix, Blade Runner, terminal, wifi portal…) so the login page looks like anything but an agent platform.

Auth providersGoogle, GitHub, X.com, Telegram, Microsoft, Facebook, Amazon, or built-in accounts.
Gateway skinsCamouflage themes for the public-facing page β€” a UX layer on top of the security model, not a substitute for it.
Configure Private Gateway

Make it yours

Theme the whole workspace β€” globally or per conversation.

Pick a theme for the entire webchat or give each conversation its own look. Themes are plain resources β€” a theme.json plus CSS and assets β€” so you can create, import, and share them through PFP packages and resource depots without touching product code.

Global themeOne look for the whole workspace, applied from the chat theme menu.
Per conversationEach conversation can override the global theme β€” brand a client project, dim a long-running ops channel.
Select, create, and import themes
Video: switching global and per-conversation themes live.
Built-in code-server IDE open on the relay workspace in a webchat tab
code-server on the relay workspace, opened as a tab next to the conversation.

Built-in IDE

A full VS Code IDE, served by your own relay.

Every relay workspace ships code-server: type /code or pick VS Code from the webchat workspace menu and a complete browser IDE opens on the exact files your agents are working on. Review diffs, search, and edit by hand β€” no local install, nothing leaves your infrastructure.

You reviewFull editor, search, and git view on the relay workspace, in a browser tab.
Agents keep workingManual edits and agent tools share the same workspace boundary and conversation.
Open code-server on a relay
PawFlow extension running inside VS Code with a live agent conversation streaming responses and tool events in the chat panel
The PawFlow panel inside VS Code: chat, conversations, files, tools, and live streaming.

VS Code extension

Your agents, in the editor you already use.

Install the release .vsix and PawFlow becomes a panel inside your own VS Code: the same durable conversations, agents, files, and tools as web chat β€” with live thinking, streaming responses, and tool events right next to your code.

Same backendOne conversation shared with web chat, PawCode, and Telegram β€” not a separate agent runtime.
In contextSelection actions and the chat sidebar work over your editor, the relay workspace, and your tools.
Install the VS Code extension
PawCode terminal client running a live agent conversation with streaming thinking and tool events
PawCode in a terminal: live thinking, tool calls, and streaming responses over the same backend.

PawCode CLI

The same agents, straight from your terminal.

PawCode is a Claude Code-style terminal client for the shared runtime: login once, resume the same durable conversations, and watch thinking, tool calls, and streaming responses render live in the shell β€” no browser required.

Shared conversationsPick up the exact conversation you left in web chat, VS Code, or Telegram.
Server & gateway awarePoint it at any server, including Private Gateway-protected ones, and it remembers the settings.
Use the PawCode terminal client
Agent-created deterministic flow pattern
Agents are useful at design time; flows keep the schedule reliable at runtime.

The practical difference

Not every workflow should keep an agent in the loop forever.

For recurring jobs, PawFlow lets the agent design or maintain the automation, then the flow engine runs the explicit graph. You decide where LLM calls are allowed and where execution must stay deterministic.

Agent modeExplore, code, inspect, reason, delegate.
Flow modeSchedule, route, retry, transform, deliver.

Five-minute path

Install it, open the wizard, start the first conversation.

The Docker installer checks prerequisites, starts PawFlow, opens the bootstrap wizard, creates the admin user, configures the first LLM service, and deploys the starter agent flow.