00. Overview
One-line definition
PI-Desktop is a local-first AI coding agent desktop client built on:
- Electron desktop shell
- Rust host backend core
- pi Agent Harness for model/agent loop
- user-installable plugin extensibility
- standalone MCP servers, Skills, and Subagents
Product formula
text
PI-Desktop =
Electron Shell
+ React UI (English-first)
+ Rust Host Core
+ pi Agent Runtime
+ Local Tools
+ Plugin SystemGoals
- Provide a stable desktop UX for pi-powered agents
- Support multi-provider streaming chat
- Execute local tools under explicit permissions
- Persist sessions, settings, and secrets locally
- Allow users to install/develop plugins
- Ship as a global product with English as default language
- Let the same Agent inspect a task, submit a structured Plan, and continue in Agent only after a separate user approval
- Let the same Agent negotiate an approved Goal contract and then pursue its acceptance criteria autonomously in Agent mode
- Make project sessions, imports, extensions, and scheduled prompts practical for daily local work
Non-goals (MVP)
- Remote WebUI / Gateway control
- Full IDE replacement
- Multiplayer collaboration
- Rewriting pi in Rust
- Marketplace-first distribution
Key architecture decisions
| Decision | Choice |
|---|---|
| Desktop shell | Electron |
| UI | React + Vite + TypeScript |
| Default language | English |
| Host backend | Rust |
| Agent engine | pi (pi-ai + pi-agent-core) |
| Agent process | Node sidecar / controlled process |
| Renderer access | preload IPC only |
| Extensions | user-installable plugins |
| Storage | SQLite + secure secret storage |
Minimal user loop
- Launch PI-Desktop
- Configure provider/API key
- Open a project workspace
- Create a session and send a task
- Choose Agent, Plan, or Goal; optionally inspect the project and submit a Markdown checkpoint
- Approve or reject the checkpoint and choose the execution permission mode
- Approve local tool execution when required
- Review diffs, terminal output, browser previews, and files in the work panel
- Restart the app; interrupted contract work is not replayed
Quality principles
- Engine stability first — correct pi loop before feature sprawl
- Least privilege default — deny by default for risky tools/plugins
- Observability — every tool call and failure is traceable
- Replaceability — providers/tools/storage can evolve
- Global-ready — English source strings and locale architecture early
Doc map
- Baseline:
../00-baseline.md - Product scope:
01-product-scope.md - Architecture:
../02-architecture/01-architecture.md - IPC:
../03-runtime/01-ipc-protocol.md - Agent runtime:
../03-runtime/02-agent-runtime.md - Tools/permissions:
../03-runtime/03-tools-and-permissions.md - Milestones:
../06-delivery/01-mvp-milestones.md - Plugins:
../07-plugins/01-plugin-system.md