justhil/pi-app

Desktop app for the pi coding agent: streaming timeline, Git review with hunk staging, session tree, native UI for pi extensions. Windows · macOS · Linux. pi 编程 Agent 桌面客户端

pi Desktop – A GUI for the pi coding‑agent

What it is – pi Desktop is a cross‑platform desktop application (Windows, macOS, Linux) that lets you interact with the pi coding‑agent – the same AI‑assistant you can run from the terminal via the pi CLI. It does not provide a new model; it simply runs the existing pi SDK in background workers and gives you a visual UI for the sessions, Git diffs, file browsing, and extensions you already use in the CLI.


Core ideas

Feature What you get
Shared session store Both the CLI and the desktop read/write ~/.pi/agent (sessions, model logins, settings.json, extensions). Open a folder and you instantly see the same sessions you started in the terminal.
Timeline view Each turn of the agent (thinking, tool calls, file reads/edits) appears as a step that folds into a concise summary. Edits show +N −M line changes and a Files changed card opens the diff.
Review panel Pick a scope (single turn, whole session, or full Git tree) and see a Git‑style diff. You can stage/unstage hunks and send line comments back into the conversation.
Files panel Browse the project side‑by‑side with the chat. Click a line to quote path:line into the composer, preview files, drag‑and‑drop into the chat.
Composer shortcuts @ searches project files (respects .gitignore via fd), / lists pi commands and extension‑registered commands, Enter sends, Alt+Enter queues a follow‑up, Shift+Enter adds a newline.
Parallel sessions Each session runs in its own Electron worker, so you can start a second turn while the first is still processing.
Panels Tree (session as a tree), Run (model/think level and token split), Context (messages with token estimates).
Themes & appearance Light/dark presets, custom CSS, five icon sets, density scaling, and import from pi-theme-v1 / codex-theme-v1 strings.
Extensions All terminal‑installed pi extensions load unchanged. Their UI dialogs, tool cards, and /commands are mapped to native panels via declarative adapters (36 built‑in). You can add/override adapters with JSON files.
Voice input Built‑in transcription using ChatGPT’s endpoint (no API key needed) or a custom codex‑asr service.
WSL runtime (Windows) Workers can run inside a chosen WSL distro, keeping Git and file previews on the Linux side.

Who might use it?

  • Developers already using the pi CLI who want a richer UI for reviewing code changes, navigating session trees, and staging Git hunks without leaving the app.
  • Teams that share the same ~/.pi/agent directory – the desktop and terminal stay in sync, so a colleague can pick up a session you started.
  • People who prefer visual feedback (timeline, diffs, file previews) over pure terminal output.

Getting started (from the README)

  1. Download the installer for your OS from the Releases page (Windows .exe/portable, macOS .dmg/.zip, Linux .AppImage or .deb).
  2. Open a folder – it becomes the agent’s working directory. Use the + button next to Conversations for a throw‑away chat.
  3. Select a session – existing terminal sessions appear; click + to start a new one.
  4. Send prompts – Enter to send, Shift+Enter for a new line. While the agent runs, Enter steers the turn, Alt+Enter queues a follow‑up.
  5. Explore the UI – Review, Run, Context, Tree, and Files panels are on the right sidebar; drag to resize.

Technical snapshot (for developers)

  • Stack: Electron 43, React 18, TypeScript, Tailwind, Zustand, i18next, @earendil-works/pi-coding-agent.
  • Architecture: Main process handles IPC and spawns a worker per session; each worker runs the pi SDK (locally or inside WSL). The renderer never talks directly to the SDK.
  • Build: npm install → npm run dev (dev), npm run build (production bundle), npm run package (installers via electron‑builder).
  • Tests: Unit, script, type‑checking, linting scripts provided.

License & support

  • License: MIT.
  • Support: LinuxDo community, GitHub Issues, sponsorship QR code.

Bottom line – pi Desktop is a fully‑featured GUI wrapper around the existing pi coding‑agent, giving you timeline visualisation, Git‑style review, file browsing, parallel sessions, and extension support while staying compatible with the CLI workflow.

Related

  • Project
  • Project
  • Project
  • Project
  • Project