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
piCLI 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/agentdirectory – 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)
- Download the installer for your OS from the Releases page (Windows
.exe/portable, macOS.dmg/.zip, Linux.AppImageor.deb). - Open a folder – it becomes the agent’s working directory. Use the + button next to Conversations for a throw‑away chat.
- Select a session – existing terminal sessions appear; click + to start a new one.
- Send prompts –
Enterto send,Shift+Enterfor a new line. While the agent runs,Entersteers the turn,Alt+Enterqueues a follow‑up. - 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