pi-web plugin

An extension for the Pi agent: a Go web interface for sessions from a phone or laptop, with remote access over Tailscale

  • 119 ★ on the repository
  • Last commit
  • MIT
Plugin

Broad access

Why this level

  • The server reads agent session logs and accepts commands from a browser, and with remote access it is exposed on the Tailscale network
  • The package installs a binary and enables auto-start at login
All reasons and checks

ygncode/pi-web

Install

Manual install

pi install npm:@ygncode/pi-web@beta

A Pi command. Downloads the binary, sets up auto-start and registers /web, /pi-web, /remote and /refresh.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The server reads agent session logs and accepts commands from a browser, and with remote access it is exposed on the Tailscale network
  • The package installs a binary and enables auto-start at login

This is third-party code. Review the repository files before installing.

What it does

pi-web installs into the Pi agent with one command, `pi install npm:@ygncode/pi-web@beta`, and opens its sessions in a browser at `http://127.0.0.1:31415`. A Go server reads Pi's conversation logs from `~/.pi/agent/sessions/`, renders them in an app that installs as a PWA and streams new messages over SSE. Chats started from the browser run on `pi --mode rpc` workers, one per session, released after 10 idle minutes. The plugin registers four commands in Pi: `/web` opens the current session in a browser, `/pi-web` shows status and controls the server, `/remote` gives a QR code and URL for Tailscale access and `/refresh` pulls messages written from the browser back into the terminal. The package downloads the matching binary and sets up auto-start at login: launchd on macOS, systemd on Linux, an HKCU entry on Windows. Session titles can come from a built-in heuristic with no model or from a small model you choose. For remote access the token goes in `~/.config/pi-web/env`.

Who it is for. Pi agent users who want to continue sessions from a phone or tablet and keep a personal workspace on their own machine.

Good fit when

  • A Pi session runs on a home computer and you want to check progress from your phone away from the desk
  • You want to type a message in the browser and bring it back to the terminal session with `/refresh`
  • You need remote HTTPS access inside your own Tailscale network through the `/remote` QR code
  • Sessions should be titled automatically, with no model call, by a built-in heuristic

Not a fit when

  • You use an agent other than Pi: the extension works only with Pi session logs
  • You cannot allow auto-start and a network server on the machine: the package sets up launchd, systemd or a registry entry itself
  • You need stability: the project is in beta and the author warns things may break

Example request

Open the current session in the browser with /web and show a QR code for phone access with /remote.

Limitations

The project is in beta, the install command carries an `@beta` tag and behavior may change. The package puts a binary at `~/.pi/agent/bin/pi-web` and enables auto-start at login. Remote access needs a running, signed-in Tailscale, which on macOS you must open by hand and approve the administrator prompt. Set `PI_WEB_TOKEN` in `~/.config/pi-web/env` if you expose the server beyond the local address. The extension works only with the Pi agent and its logs.

How to disable. Stop the server with /pi-web, then remove the package with Pi's tools. The auto-start entry lives in com.pi-web.plist on macOS, pi-web.service on Linux or the Run registry key on Windows; delete it by hand.

FAQ

How do I install pi-web?

Run `pi install npm:@ygncode/pi-web@beta`. It downloads the matching binary, sets up auto-start and registers `/web`, `/pi-web`, `/remote` and `/refresh`. Then open `http://127.0.0.1:31415`.

How do I open a session from a phone?

Run Tailscale on the computer and the phone, then run `/remote` in Pi to get a QR code and an HTTPS address inside your network. On macOS open Tailscale first and run `/pi-web restart`.

What does /refresh do?

It pulls messages written from remote browsers back into the terminal Pi session so the terminal and the web interface stay in sync.

How does auto-start work?

Installation creates a launchd file `com.pi-web.plist` on macOS, a user systemd service `pi-web.service` on Linux and an HKCU Run-key entry that launches a hidden starter on Windows.

How are sessions titled?

Auto-titling is on by default and configured on the `/settings` page. By default a built-in heuristic with no model writes titles, or you can pick a small fast model for smarter ones.

Discussion

No questions or reviews yet.

Plugins

An extension for the Pi agent: a status rail and sidebar with model, context, usage, tasks and subagent costs

PluginMinimal access386Repository stars

A self-hosted MCP server and web app that keep a project as a task graph shared by people and agents.

MCP serverBroad access200Repository stars

A desktop pet and menu-bar monitor that shows which coding agent is working, done or waiting for your input

CLIBroad access405Repository stars

A set of everyday agent skills: web search, browser automation, Gmail, Google Calendar and Drive, speech transcription and YouTube transcripts

SkillExtended access2.7KRepository stars

An MCP server and Mac app that keeps one local index of repos, agent sessions and tickets, with semantic search and work threads

MCP serverExtended access76Repository stars

A plugin turns documents and links into a local wiki with source citations, linked pages and search for AI agents and Obsidian.

PluginExtended access628Repository stars

README in short

The README briefly describes pi-web as a web workspace for the Pi agent reachable from any device and warns about beta status. It shows the design: session logs, a Go server, rpc workers, a file watcher and Tailscale. Next are one-command install, the commands in Pi, auto-start per OS, the remote-access token and building from source.

README badge

Report a problem