Skip to content

v1.8.0

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Jun 02:18

Pi 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-agent inline 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 .value bindings so they survive re-renders.
  • CSS font token fix — code/diff blocks referenced a non-existent --font-mono token 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-secondary rule.

📦 Download

This fork builds Windows (.exe) and macOS (.dmg).

⚠️ Unsigned builds

Windows: Click More infoRun 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.