Anbeeld

Projects Articles Support Contact

PUI — Pi as a Modern Harness App

GitHub

Pi harness as a modern browser app, with UI, web search, subagents, /goal, and more

/ˌpiː juː ˈaɪ/

PUI turns the vanilla Pi harness into a modern browser-based AI workspace, similar to Claude Code, Codex, or OpenCode Desktop. It adds a UI, web search, subagents, /goal, and more, all installed in one command.

Pi is a great harness, one of the most efficient on the market. But it's minimalistic by nature, so you don't get a desktop app experience out of the box. PUI solves this by composing open-source projects from the Pi ecosystem at setup time. It adds no PUI runtime process and does not maintain a Pi fork.

Features

PUI screenshot

Requirements

PUI does not install Node.js, Git, or Chrome. When PWA integration is enabled, it creates a per-user autostart entry: a Startup-folder launcher on Windows, a LaunchAgent on macOS, or a systemd user service on Linux. The prerequisite check stops before setup if a required command is missing or Node.js is too old.

Install

Open a terminal in this repository, then run the platform entry point. Or ask your agent to do so.

Windows (PowerShell):

./install.ps1

macOS or Linux:

./install.sh

Before changing an existing JSON configuration file, the installer creates a timestamped backup. Invalid JSON stops setup safely. For JSON merges, unrelated settings are preserved and PUI manages only the fields and package entries described in stack.json.

Options

OptionEffect
-NoPwa / --no-pwaSkip autostart and the browser app-setup page. Pi Web remains installed; start it manually with pi-web.
-NoBrowser / --no-browserConfigure autostart but do not open the app-setup page after installation.
-KeylessRoute / --keyless-routeMake PUI's keyless route primary when another primary search provider exists. The other provider remains configured after it. Without this option, the conflict stops installation for an explicit choice.
-UnpinPuiPackages / --unpin-pui-packagesRemove explicit version pins from PUI-managed Pi packages so setup can install current releases. Without this option, existing pins are preserved and reported.

Update, diagnose, and uninstall

PowerShell:

./update.ps1
./doctor.ps1
./uninstall.ps1

macOS or Linux:

./update.sh
./doctor.sh
./uninstall.sh

Platform details are in Windows, macOS, and Linux. The component reference describes ownership boundaries and managed files.

Credits

PUI is a setup and composition layer built on the work of other open-source projects. Its runtime capabilities come from the maintainers and contributors of the projects below. Thank you to everyone who builds, documents, reviews, and maintains them.

Upstream projectRole in PUI
@earendil-works/pi-coding-agentBase Pi agent runtime used by the CLI and Pi Web
@agegr/pi-webLocal browser GUI and PWA entry point
@gotgenes/pi-subagentsIn-process subagent extension
pi-web-accessWeb search and direct HTTP fetching
pi-mcp-adapterMCP configuration and proxy integration
@playwright/mcpBrowser automation through headless Chrome
@narumitw/pi-goalSession-scoped goal mode

Please see each upstream repository for its license, contribution history, and project-specific terms.

License

PUI is released under the MIT License. Upstream components retain their own licenses.

Back to projects