agegr / pi-web
git clone https://github.com/agegr/pi-web.git
v0.12.2 · 7d ago
Web UI for the pi coding agent
+13
stars, 24h · #1,115
+~91
stars, 7 days · #1,415
+~390
stars, 30 days · #1,338
7.6k
★ total · +1% this week
1.1k
forks · 42 open issues
Star history (as recorded here)
LanguageTypeScript
LicenseMIT
Created2026-03-22 (7mo ago)
Last push1d ago
Watchers21
OwnerUser
Links
- GitHub: github.com/agegr/pi-web
- Releases · Issues · Hacker News mentions
README excerpt
# Pi Web 中文文档 | 日本語 | Русский Local browser UI for the pi coding agent. Pi Web uses the same local configuration and session files as pi, so you can browse and resume conversations, run agent turns, configure models and resources, and inspect project files from a browser. **Try the interactive demo →** The real Pi Web UI runs entirely in your browser, with sample sessions, files and models. There is nothing to install; replies are pre-written and no model is called. ## Features - **Session workspace**: browse, resume, rename, export, and delete conversations grouped by project, with running state, context usage, cost, and compaction details. - **Two ways to branch**: **New session** creates an independent session file from an earlier message; **Edit from here** creates a branch inside the current session. - **Project file tools**: browse and upload files, inspect Git diffs, and preview source, Markdown, images, audio, PDFs, and DOCX files with automatic refresh. - **Git worktrees**: switch checkouts from the sidebar while keeping sessions from the same repository grouped together. - **Web-based configuration**: manage provider login and API keys, models, model tests, plugin packages, and skills without leaving Pi Web. - **English, Simplified Chinese, and Traditional Chinese UI**: Pi Web follows the browser language initially and provides a language switcher in the top bar. ## Quick Start Pi Web requires Node.js 22.19.0 or newer. Check your version with `node --version`, then run: [code] The CLI opens a browser after the server is ready. If it does not, open http://127.0.0.1:30141. Pi Web listens only on `127.0.0.1` by default. If no model provider is configured yet, open the **Models** panel to sign in or add an API key. To install the `pi-web` command globally: [code] Commands: [code] To update, run `pi-web stop`, then `pi-web update` (or run the same install command again). To uninstall, run `npm uninstall -g @agegr/pi-web`. ## Configuration For port and hostname, command-line options override the corresponding environment variables. Either `--no-open` or `PI_WEB_NO_OPEN=1` disables automatic browser opening. Run `pi-web --help` (or `-h`) to print startup options and exit without starting the server. Unknown options exit with an error. | Option or environment variable | Purpose | Default | | --- | --- | --- | | `--help`, `-h` | Print startup options and exit | — | | `--port `, `-p `, or `PORT` | Server port | `30141` | | `--hostname `, `-H `, or `PI_WEB_HOSTNAME` | Bind hostname | `127.0.0.1` | | `--no-open` or `PI_WEB_NO_OPEN=1` | Do not open a browser automatically | Browser opens | | `PI_WEB_APP_NAME` | PWA manifest `name` and `short_name`; surrounding whitespace is trimmed, empty values use the default | `Pi Web` | | `PI_WEB_SKIP_VERSION_CHECK=1` | Disable Pi Web update checks | Unset | | `PI_WEB_ALLOWED_HOSTS` | Additional exact proxy or custom hostnames, comma-separated | Unset | | `PI_WEB_PASSWORD` | Enable browser password login;