You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"No project" sessions now use a dedicated workspace: instead of the running executable's directory (which could sit inside a repo under cargo run, be read-only under Program Files, and moves between versions), project-less sessions (default tab, New Standalone, Quick Bar) start in <app local data>/workspace (e.g. %LOCALAPPDATA%\com.raiderwang.pidesk\workspace), which normally stays empty so no project files influence the agent. The directory is created on demand and falls back to the executable's directory if it can't be created. Sessions saved by older builds are still recognised as project-less and resume into the new workspace. Project-less saved sessions are listed as Default (not the internal folder name), listing them no longer touches the disk, and exporting such a session to HTML still finds the file omp wrote into the workspace.
Fixed
"omp not found" error right after an in-app update: omp is often still unavailable for a few seconds after the update restarts the app, so the first start used to fail once and show the error banner until you clicked Retry. The first launch after an update now keeps retrying the default session in the background for up to 30 seconds and shows "Starting agent…" in the status bar instead of an error; only a failure that outlasts that grace period is reported (with the real spawn error, never a generic "not running" caused by a status race). Messages and model changes made while it starts are queued and delivered once omp is up instead of being dropped, and changing models during that time no longer cancels the retry. Closing the tab or quitting during the grace period no longer leaves a retry thread that can still spawn omp. If you click "Later" on the update banner and restart more than 10 minutes later, the grace period still applies. Regular launches are unchanged. The rpc-ui capability probe (omp --help) is also no longer cached when omp couldn't be run or --help failed, so a briefly missing or half-installed omp no longer pins the app to plain rpc mode for the rest of the session.
Empty ghost bubble after omp fails to start: when omp wasn't up yet at launch or after an update restart, a blank assistant bubble (avatar, –, timestamp, no body) was left in the chat next to the error banner. The banner now owns the error (no duplicate chat bubble that goes stale after Retry), and the "model switch failed" / "restarted after model config" notices render properly through a shared NoticeBubble helper. The "model switch failed" text is now localised. Also fixes a ReferenceError when Retry itself failed to spawn omp. Client-side notice bubbles are now tagged (notice: true) so they no longer get dropped by the get_messages merge, break "branch from here" for earlier messages, or get picked as the annotatable plan reply, the undo count, the provider-error target or the Quick Bar reply. Restarting a stopped session after saving models now also clears or updates the error banner.
📦 Installation Guide / 安装指南
🍎 macOS
Homebrew (Recommended / 推荐):
brew install --cask raiderwang/tap/pidesk
Automatically bypasses Gatekeeper quarantine, no extra command needed.
Manual DMG (.dmg):
Download .dmg (aarch64 for Apple Silicon, x64 for Intel). If macOS says "PiDesk is damaged and can't be opened"(提示已损坏), run this command in terminal to clear the quarantine attribute:
xattr -cr /Applications/PiDesk.app
🪟 Windows
Download .msi (recommended) or .exe installer.
If Windows SmartScreen prompts on launch, click More info → Run anyway(点击“更多信息” → “仍要运行”).
🐧 Linux
Download .AppImage or .deb.
⚙️ Requirements
oh-my-pi (omp) must be installed and available on your PATH.