Hands-on guide for first-time pi Desktop users. Screenshots: ../images/ (replace placeholder with overview.png when publishing).
git clone https://github.com/justhil/pi-app.git
cd pi-app
npm install
npm run devPrerequisites: working CLI pi auth (~/.pi/agent/auth.json or provider env vars). Sessions and settings.json are shared with terminal pi.
Windows installer (build locally): npm run icon:export && npm run package:win → dist/
Prebuilt: GitHub Releases — Setup and Portable .exe.
- Disk project — left sidebar, open a folder (Agent tool cwd).
- Or sandbox — “chat partitions”, isolated cwd under app user data.
- Session — pick history or
+new; right-click rename/delete on disk projects. - Composer —
Entersend;/slash commands; drag files or+;Ctrl+Vimages; KaTeX in messages. - Right panel — review, run, context, session tree, Files (tabbed preview, tree, expand preview into chat column); empty composer + double
Escopens tree overlay.
| Action | How |
|---|---|
| Newline | Shift+Enter |
| Send history | ↑ / ↓ when composer empty and caret at top |
| Pull queued message | Alt+↑ while agent running |
| Stop generation | Esc |
| Queue follow-up | Send while running; runs after current turn |
| Jump to node | Hover message → Undo, or session tree |
| Model / thinking | Composer bottom pills |
| Language | Settings → General → 中文 / English |
| Voice | Composer mic; Settings → Voice for codex-asr |
| Attach (file tree) | Right panel Files → drag a file onto the composer (folders cannot be dragged); or right-click → Add to chat |
| Multi-tab preview | Files tree: Ctrl/⌘+click, or right-click → Open in new tab; middle-click closes; drag tabs to reorder |
| Wide preview | Files toolbar Expand preview (fills chat column; inner file tree collapse unchanged) |
| Attach (other) | Drag from Explorer into composer, + picker, Ctrl+V for images |
Full shortcut table: README.md.
- Terminal:
pi install npm:<package>orpi install git:github.com/... - Ensure
packagesin~/.pi/agent/settings.json. - Desktop Settings → Extensions — check tools for current session.
- Missing tools: restart worker session (new session or reopen project).
- Dialog extensions open automatically; config under Settings → Desktop adapters.
Lists: adapters.en.md. Authoring: adapter-authoring-guide.md.
| Issue | Try |
|---|---|
| Blank UI / stale HMR | Remove node_modules/.vite, npm run dev |
| Extension in settings, no tools | Check packages, restart session |
| Slow session switch | Recent tail first; full bind on send/tree jump |
| Voice not working | Settings → Voice; text input still works |
| Dialog dismissed | Timeline Continue or clear “answer later” |
Community: LinuxDo