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 PawFlow See how it works
install the latest release

    Loading current release command...

Relay-backed tools Shared context Multi-provider agents Deterministic flows First-class Telegram client
Web UI chat, context, memory, terminals PawCode terminal client, shared conversations Desktop Relay remote or local screen access Flows scheduled DAGs with backpressure Telegram first-class chat client for your agents

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.
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
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 Relay Agents 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 relay The 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 tmux CLI-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.
01

### Desktop access

Screen, browser, VNC, and full desktop tools let agents operate real UI workflows when APIs are not enough.

02

### Relay terminals

Open shell sessions against the remote Docker relay, the local host relay when `allow_local` is enabled, or the relay server runtime.

03

### Context editor

Inspect and adjust the conversation context that agents will actually see before a turn runs.

04

### Memory editor

Review, correct, or remove durable memories so long-term context stays useful and auditable.

05

### VS Code/code-server

Open a browser editor attached to the relay workspace for hands-on review while agents continue in the same conversation.

06

### Provider sessions

Watch tmux-backed CLI providers and relay diagnostics when a provider, login, or long-running tool needs direct inspection.

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 runtime Shared conversations, multi-agent context, attachments, and FileStore outputs.
Rich messages Text, documents, photos, voice, slash commands, and spoken replies.
Set up the Telegram channel
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-text Webchat microphone and Telegram voice notes, transcribed by your STT service.
Text-to-speech Spoken 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 you noVNC desktop and audio streaming in a browser tab, next to the conversation.
For agents The same desktop through `screen` and `see` tools, with approved clicks, typing, and shell.
Use the relay desktop
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 providers Google, GitHub, X.com, Telegram, Microsoft, Facebook, Amazon, or built-in accounts.
Gateway skins Camouflage 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 theme One look for the whole workspace, applied from the chat theme menu.
Per conversation Each 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.
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 review Full editor, search, and git view on the relay workspace, in a browser tab.
Agents keep working Manual edits and agent tools share the same workspace boundary and conversation.
Open code-server on a relay
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 backend One conversation shared with web chat, PawCode, and Telegram — not a separate agent runtime.
In context Selection actions and the chat sidebar work over your editor, the relay workspace, and your tools.
Install the VS Code extension
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 conversations Pick up the exact conversation you left in web chat, VS Code, or Telegram.
Server & gateway aware Point it at any server, including Private Gateway-protected ones, and it remembers the settings.
Use the PawCode terminal client
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 mode Explore, code, inspect, reason, delegate.
Flow mode Schedule, 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.

Open quickstart Browse docs