justhil/pi-app

An elegant GUI implementation of pi-agent

What it solves

pi Desktop provides a graphical user interface (GUI) for the pi coding agent, removing the need to interact with the agent exclusively through a terminal. It solves common terminal-based limitations by adding visual diff views, a clickable session tree for navigating chat history, and the ability to queue messages while the agent is still processing.

How it works

The app acts as a desktop shell around the existing pi SDK. It shares the same configuration files, model logins, and extension settings located in ~/.pi/agent with the CLI version. To support extensions, it uses a compatibility layer and "adapters" (JSON descriptions) that map terminal-based user interfaces (TUI) to native desktop windows and timeline cards without requiring changes to the original npm packages.

Who it’s for

Developers who use the pi coding agent and prefer a visual workspace over a terminal interface, or those who want a more intuitive way to manage sessions and review code changes.

Highlights

  • Streaming Timeline: Displays markdown, code blocks, and line-level diffs with foldable tool steps.
  • Session Tree: A clickable interface to branch and rewind conversations, with optional file restoration via git.
  • Composer: Supports inline file attachments, image pasting, and drag-and-drop file integration.
  • Workspace Preview: Multi-tab file preview with a line-gutter source view and an expandable chat column.
  • Extension Compatibility: Full support for the pi package ecosystem via adapters that translate TUI elements into native UI.
  • Voice Input: Local transcription of voice commands using a bundled codex-asr binary.

Related

  • Project
  • Project
  • Project
  • Project
  • Project