A modern desktop GUI for the pi coding agent, built with Tauri (Rust + React).
- 🎨 Modern Dark UI - GitHub-inspired dark theme
- 💬 Session Management - Create and manage multiple chat sessions
- 🔧 Tool Call Visualization - See when pi uses bash, read, write, etc.
- 📂 File Integration - Open config directories and files
- ⚡ Keyboard Shortcuts - Enter to send, Shift+Enter for new lines
- 🚀 Native Performance - Rust backend with Web frontend
- Backend: Rust + Tauri
- Frontend: React + TypeScript
- Styling: CSS (GitHub dark theme)
- IPC: Tauri Commands + Events
- Install Rust: https://rustup.rs/
- Install Node.js: https://nodejs.org/ (v18+)
- Install pi:
npm install -g @mariozechner/pi-coding-agent
# Clone the repository
git clone https://github.com/HyperspaceNG/pi-gui.git
cd pi-gui
# Install dependencies
npm install
# Install Tauri CLI
cargo install tauri-cli
# Run in development mode
cargo tauri dev
# Build for production
cargo tauri buildDownload the latest release from: https://github.com/HyperspaceNG/pi-gui/releases
- Start the app - Launch Pi GUI from your applications menu
- Click "Start Pi" - Initializes the pi RPC session
- Create a new session - Click "New Session" to begin
- Send messages - Type in the input box and press Enter
- View responses - See pi's responses in real-time
| Shortcut | Action |
|---|---|
Enter |
Send message |
Shift + Enter |
New line in input |
Ctrl + L |
Toggle sidebar |
pi-gui/
├── src/ # React frontend
│ ├── App.tsx # Main application component
│ ├── App.css # Styles
│ └── main.tsx # Entry point
├── src-tauri/ # Rust backend
│ ├── src/
│ │ └── main.rs # Tauri commands
│ ├── Cargo.toml # Rust dependencies
│ └── tauri.conf.json # Tauri configuration
├── package.json # Node dependencies
└── README.md
npm run dev # Start Vite dev servercargo tauri dev # Start Tauri with hot reload# macOS
cargo tauri build --target aarch64-apple-darwin
# Windows
cargo tauri build --target x86_64-pc-windows-msvc
# Linux
cargo tauri build --target x86_64-unknown-linux-gnu- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit changes:
git commit -am 'Add new feature' - Push to branch:
git push origin feature/my-feature - Submit a pull request
MIT © HyperspaceNG
