Web#

The gptme web UI (gptme-webui) is the richest way to work with gptme and your agents: a chat interface that shows what the agent is doing and what it produced, rather than a transcript alone.

Alongside the conversation it renders artifacts the agent created, panels that tools declare at runtime (sandboxed iframes and live apps with their own lifecycle), browser and computer previews of what the agent sees, tool activity, and a branch map of the conversation. You can create and manage persistent agents from it, and watch a full desktop through the integrated computer-use view (see How to Automate GUIs with Computer Use).

An app the agent starts is reachable through the server’s authenticated /preview/<port>/ proxy, so live previews work the same whether you run gptme-server yourself (see Server), use the App, or sign in to gptme.ai — hosted instances additionally get each preview on its own URL. (Originally a standalone repo, now merged into the main gptme repository.)

Features#

  • Streaming responses, with tool calls and their output shown inline

  • Artifact and panel surfaces: previews of what the agent made and what its tools expose

  • Integrated computer-use view

  • Create and manage persistent agents

  • Conversation history, search, branching, and export

  • Mobile-friendly responsive design and dark mode

Running it#

The modern UI is bundled in gptme release packages. Run gptme-server and open http://localhost:5700.

Note

Release packages ship the modern UI, which gptme-server serves from gptme/server/webui-dist. A source checkout without make bundle-webui falls back to a minimal legacy page bundled in gptme/server/static. That page is not a supported interface; its templates are currently also reused by the HTML export (gptme-util chats export <id> -f html).

Frontend development#

See the gptme-webui README. When Vite runs separately on port 5701, allow that development origin:

gptme-server --cors-origin 'http://localhost:5701'

Note

Cross-origin UIs and localhost (Chrome 142+). When a web UI served from another origin connects to a gptme-server on localhost, recent Chromium browsers gate the connection behind a Local Network Access permission prompt. That check runs before CORS headers are evaluated, so --cors-origin is necessary but not sufficient — you must also click Allow. Serving the UI from the server’s own origin (the default) or from a local origin such as http://localhost:5701 avoids the prompt.