v1.8.0
Pre-releasePi Desktop v1.8.0 — Provider Presets, Test Connection & Performance ⚡
A quality-of-life release focused on the provider setup flow: 12 built-in provider presets so you never type a base URL again, an inline "Test Connection" button to verify API keys before chatting, and caching that makes the model picker and session list feel instant.
Note: This is a personal fork of
gustavonline/pi-desktop.
✨ What's new
Provider presets — no more manual URLs
Adding a custom provider used to mean hand-typing the base URL, guessing the API-key env var, and knowing which models exist. Pi Desktop now ships 12 built-in presets that auto-fill everything on selection:
- DeepSeek, Together AI, Groq, Perplexity, Fireworks AI, Mistral, OpenRouter, xAI, Cerebras, GitHub Models, OpenCode Zen, OpenCode Go
- Each preset fills in base URL, API-key placeholder, a docs link, compatibility flags, and a starter model list.
- Pick a preset → all fields populate → paste your key → you're ready.
Inline "Test Connection"
Every configured provider card now has a Test Connection button. It calls GET {baseUrl}/models with your API key and shows a live result like 200 OK (342ms) — or the exact error. No more adding a provider, starting a chat, and waiting for a cryptic failure just to discover a bad key.
Snappier model picker
The model dropdown used to re-fetch on every open. It now:
- Caches loaded models for 30s (previously uncached — reloaded every time the picker opened).
- Bumps auth cache 15s → 60s and model catalog cache 60s → 120s.
- Preloads models eagerly the moment the Pi RPC connects.
Switching models is now effectively instant during normal use.
Faster session list
The sidebar and session browser previously fetched the session list independently, and the sidebar polled every 1.2s. Now they:
- Share a single cached list (
src/rpc/session-cache.ts, 5s TTL) with single-flight deduplication, so concurrent opens collapse into one backend call. - Poll every 5s instead of 1.2s — less IPC churn, smoother UI.
Actionable CLI update notice
The "Pi CLI has an update" notification now carries an "Open Updates" button that jumps straight to Settings → Updates, instead of a static message with no way to act on it.
Install Pi CLI inline + close window
- "Install Pi CLI" now runs
npm install -g @earendil-works/pi-coding-agentinline with a spinner and live log output, instead of a bare terminal command. - A proper Close Pi Desktop button closes the native Tauri window.
Bug fixes
- Preset form state lost on re-render — programmatically-set preset values were wiped by Lit's reactive update cycle. Migrated to reactive class-state properties (
newProviderKey/newProviderUrl/newProviderApiKey) with.valuebindings so they survive re-renders. - CSS font token fix — code/diff blocks referenced a non-existent
--font-monotoken and silently fell back to the system mono font. Corrected to--font-family-mono, so code now uses your configured code font and honors the theme override. - Duplicate CSS block — merged a redundant
.settings-btn-secondaryrule.
📦 Download
This fork builds Windows (.exe) and macOS (.dmg).
⚠️ Unsigned builds
Windows: Click More info → Run anyway on SmartScreen.
macOS: xattr -cr "/Applications/Pi Desktop.app" after mounting.
⚙️ Requirements
- Pi Coding Agent CLI:
npm install -g @earendil-works/pi-coding-agent - Node.js ≥ 22
🙏 Credits
Built on gustavonline/pi-desktop.
📄 License
MIT — see LICENSE.