Merged 53 commits from pi/main including: - Export HTML rewrite with tree sidebar and /share command - Hooks API enhancements (custom status, editor, session management) - Edit diff preview before tool execution - TUI fixes (Unicode format chars, OSC 8 hyperlinks, emoji optimization) - Gemini CLI rate limit retry with server-provided delay - Various bug fixes and documentation updates Resolved conflicts by preserving Bun migration (spawn→Bun.spawn, fs→Bun.file) while accepting upstream's new features and APIs.
Pi Web UI - Example
This is a minimal example showing how to use @mariozechner/pi-web-ui in a web application.
Setup
npm install
Development
npm run dev
Open http://localhost:5173 in your browser.
What's Included
This example demonstrates:
- ChatPanel - The main chat interface component
- System Prompt - Custom configuration for the AI assistant
- Tools - JavaScript REPL and artifacts tool
Configuration
API Keys
The example uses Direct Mode by default, which means it calls AI provider APIs directly from the browser.
To use the chat:
- Click the settings icon (⚙️) in the chat interface
- Click "Manage API Keys"
- Add your API key for your preferred provider:
- Anthropic: Get a key from console.anthropic.com
- OpenAI: Get a key from platform.openai.com
- Google: Get a key from makersuite.google.com
API keys are stored in your browser's localStorage and never sent to any server except the AI provider's API.
Project Structure
example/
├── src/
│ ├── main.ts # Main application entry point
│ └── app.css # Tailwind CSS configuration
├── index.html # HTML entry point
├── package.json # Dependencies
├── vite.config.ts # Vite configuration
└── tsconfig.json # TypeScript configuration