[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-96121":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":14,"contributorsCount":9,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":14,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":15,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":16,"fork":16,"defaultBranch":17,"hasWiki":16,"hasPages":16,"topics":18,"createdAt":9,"pushedAt":9,"updatedAt":34,"readmeContent":35,"aiSummary":36,"trendingCount":14,"starSnapshotCount":14,"syncStatus":37,"lastSyncTime":9,"discoverSource":38},96121,"PI-Desktop","vastsa\u002FPI-Desktop","vastsa","Local-first AI coding agent desktop: Electron + Rust host core + pi Agent Harness + user-installable plugins",null,"https:\u002F\u002Fgithub.com\u002Fvastsa\u002FPI-Desktop","TypeScript",1441,144,0,51.48,false,"main",[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],"pi-desktop","ai-agent","coding-agent","desktop-app","electron","global","i18n","local-first","mcp","pi-agent","plugins","react","rust","typescript","pi","2026-09-20 04:01:32","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"docs\u002Fimage\u002Freadme\u002Flogo.png\" alt=\"PI-Desktop\" width=\"112\" \u002F>\n\n# PI-Desktop\n\n### Your local-first desktop workspace for AI coding agents.\n\n**Bring your own model. Open any local project. Let agents work — while you stay in control.**\n\nNo PI-Desktop account. No mandatory relay. No editor lock-in.\n\n\u003Cbr \u002F>\n\n[![Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fvastsa\u002FPI-Desktop?label=release)](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FPI-Desktop\u002Freleases\u002Flatest)\n[![Downloads](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Fvastsa\u002FPI-Desktop\u002Ftotal?label=downloads)](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FPI-Desktop\u002Freleases)\n[![Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fvastsa\u002FPI-Desktop?style=flat\\&label=stars)](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FPI-Desktop\u002Fstargazers)\n[![CI](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FPI-Desktop\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FPI-Desktop\u002Factions\u002Fworkflows\u002Fci.yml)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fvastsa\u002FPI-Desktop)](LICENSE)\n![Platforms](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-macOS%20%C2%B7%20Windows%20%C2%B7%20Linux-4c8dd8)\n\n\u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F178787?utm_source=repository-badge&amp;utm_medium=badge&amp;utm_campaign=badge-repository-178787\" target=\"_blank\" rel=\"noopener noreferrer\">\u003Cimg src=\"https:\u002F\u002Ftrendshift.io\u002Fapi\u002Fbadge\u002Frepositories\u002F178787\" alt=\"vastsa\u002FPI-Desktop | Trendshift\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fwww.producthunt.com\u002Fproducts\u002Fpi-desktop?embed=true&amp;utm_source=badge-featured&amp;utm_medium=badge&amp;utm_campaign=badge-pi-desktop\" target=\"_blank\" rel=\"noopener noreferrer\">\u003Cimg alt=\"PI-Desktop - Your local-first desktop workspace for AI coding agents | Product Hunt\" width=\"250\" height=\"54\" src=\"https:\u002F\u002Fapi.producthunt.com\u002Fwidgets\u002Fembed-image\u002Fv1\u002Ffeatured.svg?post_id=1245457&amp;theme=dark&amp;t=1788955688339\"\u002F>\u003C\u002Fa>\n\n**[Download PI-Desktop](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FPI-Desktop\u002Freleases\u002Flatest)** ·\n[Documentation](https:\u002F\u002Fpi-docs.aiuo.net\u002F) ·\n[Screenshots](docs\u002Fguide\u002Fscreenshots.md) ·\n[简体中文](README.zh-CN.md)\n\n\u003Cbr \u002F>\n\n\u003Cimg src=\"docs\u002Fimage\u002Freadme\u002Fhome.webp\" alt=\"PI-Desktop AI coding workspace\" width=\"92%\" \u002F>\n\n\u003Csub>A standalone desktop workspace for coding agents, projects, models, tools, and long-running sessions.\u003C\u002Fsub>\n\n\u003C\u002Fdiv>\n\n---\n\n> [!IMPORTANT]\n> **PI-Desktop is currently in Early Preview.**\n>\n> The project is actively developed and already usable for real coding workflows, but APIs, extension interfaces, and some desktop behaviors may continue to evolve.\n\n## Why PI-Desktop?\n\nMost coding agents live inside a terminal, an editor extension, or a hosted service.\n\nPI-Desktop gives them a workspace of their own.\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\" valign=\"top\">\n\n### 🖥️ Desktop-first\n\nWork across repositories and sessions without tying your agent workflow to one editor or terminal.\n\nProjects, conversations, reviews, files, previews, notifications, and extensions live in one workspace.\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\" valign=\"top\">\n\n### ✨ Bring your own model\n\nUse OpenAI, Anthropic, local models, hosted gateways, or any OpenAI-compatible API.\n\nConfigure multiple providers and models, then switch between them per session.\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\n\u003Ctr>\n\u003Ctd width=\"50%\" valign=\"top\">\n\n### 🔍 Inspectable by default\n\nAgents can read files, edit code, and run commands — but privileged actions pass through PI-Desktop's permission layer.\n\nReview diffs, inspect command output, and decide how much autonomy each session gets.\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\" valign=\"top\">\n\n### 🧩 Built to extend\n\nAdd Skills, MCP servers, Subagents, and installable Plugins.\n\nPlugins can contribute tools, commands, panels, themes, services, skills, and new workspace experiences.\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n---\n\n## From prompt to patch\n\nGetting started only takes a few steps:\n\n1. **Connect a model**\n   Open **Settings → Model configuration**, choose a provider or compatible API, and add your credentials.\n\n2. **Open a project**\n   Add any local repository or project directory from the sidebar.\n\n3. **Pick Agent, Plan, or Goal**\n   **Agent** starts working. **Plan** waits until you approve a frozen implementation plan. **Goal** waits until you approve the outcome, then the agent chooses the path.\n\n4. **Review the result**\n   Inspect edits in the Review panel, check command output, preview the application, and continue the conversation without leaving PI-Desktop.\n\n---\n\n## More than a chat window\n\n### Agent, Plan, and Goal\n\nSame agent. Three gates. Privileged tools still go through the permission layer in every mode.\n\n| | **Agent** | **Plan** | **Goal** |\n| --- | --- | --- | --- |\n| You approve | Nothing extra | The implementation plan | The outcome and acceptance criteria |\n| The agent does | Reads, edits, runs commands, tests, iterates | Studies the repo, writes a frozen plan, then waits | Picks the path and works until the goal is met |\n| Use when | You want it to just do the work | The change is large or risky and you want the approach first | You care about the result, not the route |\n\n**Agent** is the default loop: inspect the tree, patch files, run commands, and keep going.\n\n**Plan** is the approval boundary. The agent researches first and produces an immutable implementation plan. Execution does not start until you sign off.\n\n**Goal** is outcome-first. You lock the objective and acceptance criteria; the agent decides how to get there.\n\n---\n\n### Delegate work to Subagents\n\nLarge tasks rarely belong in one context window.\n\nPI-Desktop can delegate independent work to background Subagents for things like:\n\n* codebase exploration\n* multi-file implementation\n* research and investigation\n* test analysis\n* adversarial review\n\nEach Subagent runs in its own context and reports its result back to the parent agent.\n\n---\n\n### A workspace built for long sessions\n\nPI-Desktop is designed for more than one prompt at a time.\n\nYou can manage multiple projects and sessions, pin or archive conversations, branch sessions, queue prompts while an agent is running, reference files with `@`, use slash commands, and search across the application.\n\nStreaming responses are checkpointed so interrupted work can survive application restarts or runtime failures whenever possible.\n\n---\n\n## Your models, your choice\n\nPI-Desktop does not lock the agent runtime to a hardcoded model list.\n\nUse:\n\n* OpenAI and Anthropic\n* OpenAI-compatible APIs\n* hosted model gateways\n* local gateways such as Ollama and LM Studio\n* multiple models under the same provider\n* provider OAuth accounts where supported\n\nModel configuration can include context windows, output limits, reasoning controls, temperature, and other model-specific behavior.\n\nSwitch models directly from the Composer without recreating your session.\n\n---\n\n## Review the work, not just the answer\n\nThe agent workspace includes dedicated surfaces for the things that matter while coding:\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n\u003Cimg src=\"docs\u002Fimage\u002Freadme\u002Fchat_en.png\" alt=\"PI-Desktop conversation\" \u002F>\n\n\u003Cp align=\"center\">\u003Csub>Long-running conversations with transcript navigation\u003C\u002Fsub>\u003C\u002Fp>\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n\u003Cimg src=\"docs\u002Fimage\u002Freadme\u002Fmodel_en.png\" alt=\"PI-Desktop model selection\" \u002F>\n\n\u003Cp align=\"center\">\u003Csub>Switch providers, models, and reasoning levels per session\u003C\u002Fsub>\u003C\u002Fp>\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n\u003Cimg src=\"docs\u002Fimage\u002Freadme\u002Fplugins_en.png\" alt=\"PI-Desktop plugin marketplace\" \u002F>\n\n\u003Cp align=\"center\">\u003Csub>Extend the workspace through the plugin marketplace\u003C\u002Fsub>\u003C\u002Fp>\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n\u003Cimg src=\"docs\u002Fimage\u002Freadme\u002Faddmodel_en.png\" alt=\"PI-Desktop model configuration\" \u002F>\n\n\u003Cp align=\"center\">\u003Csub>Add a provider and connect a model\u003C\u002Fsub>\u003C\u002Fp>\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Cp align=\"center\">\n\u003Ca href=\"docs\u002Fguide\u002Fscreenshots.md\">\u003Cstrong>Explore all screenshots →\u003C\u002Fstrong>\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n## Extensions without rebuilding the app\n\nPI-Desktop has several extension layers depending on how deeply you want to customize the agent.\n\n### Skills\n\nGive agents reusable instructions and workflows.\n\nSkills can be installed globally or activated for individual projects.\n\n### MCP\n\nConnect external tools and services through Model Context Protocol servers without baking them into the desktop application.\n\nPI-Desktop can also be controlled by an external MCP Agent. Start the app with\n`PI_DESKTOP_MCP_CONTROL=1`; then read the loopback endpoint and bearer token\nfrom `mcp-control.json` in the Electron user-data directory. The endpoint\nsupports project\u002Fsession\u002FAgent workflows and a reviewed desktop operation\ncatalog. It is disabled by default, binds loopback only, and grants the\ncalling local Agent the same authority as the desktop for those operations —\n`confirm: true` is not a user prompt.\n\n### Subagents\n\nCreate specialized agents with their own instructions, tools, and model choices, then delegate work to them from another agent.\n\n### pi extensions\n\nExtensions written for the [pi](https:\u002F\u002Fgithub.com\u002Fbadlogic\u002Fpi-mono) CLI run\ninside PI-Desktop's agent unchanged: a plugin lists them under\n`contributes.agentExtensions`, and Plugins → \"Import pi extension\" wraps an\nexisting extension file or directory in a plugin for you. They register\ntools, slash commands, and hooks on every turn, tool call, and provider\nrequest, and run with the same access as the agent's own tools, which the\n`agent.extension` permission asks you to confirm.\n\n### Plugins\n\nPlugins can extend PI-Desktop itself with:\n\n* agent tools\n* commands\n* workspace panels\n* work-panel views\n* Skills\n* MCP servers\n* Subagents\n* themes\n* resident services\n* inter-plugin messaging\n\nPlugins can be installed locally or through the marketplace using the `.piplug` package workflow.\n\n> [!NOTE]\n> Plugin processes are permission-gated and isolated from the renderer, but plugins are still user-trusted code rather than a complete operating-system sandbox. Only install plugins you trust.\n\n[Build your first plugin →](docs\u002Fplugin-development.md)\n\n---\n\n## Local-first, precisely\n\nPI-Desktop is **local-first**, not “nothing ever touches the network.”\n\n| Data                 | Behavior                                                |\n| -------------------- | ------------------------------------------------------- |\n| Conversations        | Stored locally as JSONL with a SQLite index             |\n| Settings             | Stored on your machine                                  |\n| API credentials      | Stored in the operating system keychain                 |\n| Logs                 | Local                                                   |\n| PI-Desktop telemetry | None                                                    |\n| Model requests       | Sent directly to the provider or endpoint you configure |\n\nThere is no required PI-Desktop account and no mandatory PI-hosted relay between your machine and your model provider.\n\nIf you use a remote model provider, the context required for that model request is naturally sent to that provider according to its own privacy policy.\n\n---\n\n## Download\n\nDownload the latest build from **[GitHub Releases](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FPI-Desktop\u002Freleases\u002Flatest)**.\n\n| Platform | Architecture  | Package              |\n| -------- | ------------- | -------------------- |\n| macOS    | Apple Silicon | `.dmg` \u002F `.zip`      |\n| macOS    | Intel         | `.dmg` \u002F `.zip`      |\n| Windows  | x64           | NSIS installer \u002F portable exe |\n| Linux    | x64           | `.AppImage` \u002F `.deb` \u002F `.rpm` \u002F `.asar` |\n\nPackaged builds can check GitHub Releases for updates and surface new versions inside the application. Windows NSIS and Linux AppImage can download and install in-app; macOS, Linux deb\u002Frpm, and the Windows portable exe open the releases page. The Linux `.asar` asset is available for repackaging with a system Electron; launch it with `electron PI-Desktop-\u003Cversion>-linux-x64.asar` after adding the native host and packaged resources required by the target distribution.\n\n### Linux\n\nLinux x64 packages need **glibc 2.35** or newer. That is the library shipped with:\n\n* Ubuntu 22.04 or later\n* Debian 12 or later\n* Fedora 36 or later\n\nUbuntu 20.04, Debian 11, Fedora 35, and older releases cannot load the bundled host. Check with `ldd --version`.\n\n### macOS\n\nThe tagged-release workflow publishes unsigned macOS artifacts by default. For\na trusted unsigned install, move `PI-Desktop.app` to Applications and\ndouble-click `PI-Desktop-macOS-open.command` if macOS says the app is damaged.\nA manually dispatched run with `sign_macos: true` signs, notarizes, and staples\nmacOS artifacts with Developer ID credentials before publication; signed builds\ndo not need the helper.\n\n---\n\n## Import your existing sessions\n\nAlready using another coding agent?\n\nPI-Desktop can import local sessions from supported tools including:\n\n* Claude Code\n* Codex\n* OpenCode\n* Pi\n\nOpen **Settings → Import** to bring existing work into the desktop workspace.\n\n---\n\n## Architecture\n\nPI-Desktop deliberately separates the user interface from privileged host capabilities and the agent loop.\n\n```mermaid\nflowchart TB\n    UI[\"React Renderer\u003Cbr\u002F>Chat · Projects · Reviews · Settings\"]\n    Electron[\"Electron Main\u003Cbr\u002F>Desktop orchestration\"]\n    Rust[\"Rust Host Core\u003Cbr\u002F>Permissions · Filesystem · SQLite · Secrets\"]\n    Agent[\"pi Agent Sidecar\u003Cbr\u002F>Agent loop · Models · Streaming\"]\n    Provider[\"Model Provider\u003Cbr\u002F>Cloud or Local\"]\n\n    UI --> Electron\n    Electron --> Rust\n    Electron --> Agent\n    Agent \u003C--> Rust\n    Agent --> Provider\n```\n\nThe renderer has no Node integration.\n\nThe **Rust Host Core** owns privileged workspace operations, permissions, persistence, and secrets. The **pi Agent Sidecar** owns model interaction and the agent loop. Electron coordinates the desktop lifecycle while keeping those responsibilities separated.\n\n[Read the architecture specification →](docs\u002Fspec\u002F02-architecture\u002F01-architecture.md)\n\n---\n\n## Project status\n\nPI-Desktop is an early preview under active development.\n\nThe current **0.14.x** line includes the desktop shell, streaming agent runtime, Agent \u002F Plan \u002F Goal workflows, permission-aware workspace tools, projects and sessions, session imports, local MCP control, MCP \u002F Skills \u002F Subagents, background delegation, multi-provider model configuration, plugins and marketplace support, context checkpoints, notifications, release notes, and cross-platform packaging.\n\nCurrent priorities include:\n\n* macOS tagged-release qualification\n* installer upgrade and rollback qualification\n* continued runtime and session-recovery hardening\n* stronger plugin sandboxing and publisher verification\n* broader UI-driven end-to-end coverage\n\nFollow development through the [project board](docs\u002Fproject\u002FBOARD.md) and [milestones](docs\u002Fspec\u002F06-delivery\u002F01-mvp-milestones.md).\n\n---\n\n## Development\n\n### Requirements\n\n* Node.js `>=22.19`\n* pnpm `>=10`\n* stable Rust toolchain\n\nThe repository currently pins pnpm 11, while CI and release builds use Node 24.\n\n### Run locally\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fvastsa\u002FPI-Desktop.git\ncd PI-Desktop\n\npnpm install\n\ncargo build -p host-core\npnpm build:js\n\npnpm dev\n```\n\n### Validate changes\n\n```bash\npnpm typecheck\npnpm lint\npnpm test\n```\n\nAdditional protocol, Plan, supervision, Subagent, and Electron E2E suites are documented in the repository specification.\n\n### Documentation\n\n```bash\npnpm docs:dev\npnpm docs:check\n```\n\nUseful references:\n\n* [Documentation](https:\u002F\u002Fpi-docs.aiuo.net\u002F)\n* [Specification index](docs\u002Fspec\u002FREADME.md)\n* [Architecture](docs\u002Fspec\u002F02-architecture\u002F01-architecture.md)\n* [Product scope](docs\u002Fspec\u002F01-product\u002F01-product-scope.md)\n* [Plugin development](docs\u002Fplugin-development.md)\n* [E2E test plan](docs\u002Fspec\u002F06-delivery\u002F04-e2e-test-plan.md)\n* [Release runbook](docs\u002Fspec\u002F06-delivery\u002F06-release-runbook.md)\n* [Repository agent guide](AGENTS.md)\n\n---\n\n## Contributing\n\nIssues, bug reports, feature proposals, documentation improvements, and pull requests are welcome.\n\nFor larger changes, opening an issue first makes it easier to align the implementation with the existing architecture and product contracts.\n\nWhen working in the repository, start with [AGENTS.md](AGENTS.md) and the [specification index](docs\u002Fspec\u002FREADME.md).\n\n[Report an issue](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FPI-Desktop\u002Fissues\u002Fnew\u002Fchoose) ·\n[View open issues](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FPI-Desktop\u002Fissues)\n\n---\n\n## Built on open source\n\nPI-Desktop builds on the excellent work of the open-source ecosystem.\n\nThe agent runtime uses [`pi-ai`](https:\u002F\u002Fgithub.com\u002Fbadlogic\u002Fpi-mono) and `pi-agent-core` from **pi-mono**.\n\nThe desktop application is built with technologies including Electron, React, TypeScript, Rust, SQLite, Vite, Tailwind CSS, Shiki, Mermaid, KaTeX, TypeBox, and i18next.\n\nThank you to every project and contributor that makes PI-Desktop possible.\n\n---\n\n## Model acknowledgements\n\nThis project was created by the models below — not by a lone genius, but by a token-powered construction crew.\n\n| Provider | Model | Tokens |\n| --- | --- | ---: |\n| OpenAI | `gpt-5.6-luna` | 5,304,019,817 |\n| OpenAI | `gpt-5.6-sol` | 4,825,458,273 |\n| OpenAI | `gpt-5.4` | 4,213,269,324 |\n| Anthropic | `claude-opus-5` | 3,909,952,653 |\n| OpenAI | `gpt-5.5` | 3,800,382,171 |\n| xAI | `grok-4.5` | 1,947,736,115 |\n| xAI | `grok-4.6` | 797,233,571 |\n| DeepSeek | `deepseek-v4-flash` | 329,790,234 |\n| OpenAI | `gpt-5.2-codex` | 320,983,170 |\n| Xiaomi | `mimo-v2.5-pro` | 304,822,052 |\n| Anthropic | `claude-fable-5-1` | 302,580,552 |\n| OpenAI | `gpt-5.6-terra` | 274,107,085 |\n| OpenAI | `gpt-5.3-codex` | 255,366,945 |\n| OpenAI | `gpt-5.1-codex-max` | 220,947,212 |\n| OpenAI | `gpt-5.1` | 142,533,699 |\n| — | `Unknown model` | 69,801,632 |\n| Anthropic | `claude-opus-4.6` | 55,223,768 |\n| Zhipu | `stealth\u002Fox-alpha` | 22,954,876 |\n| Anthropic | `claude-fable-5` | 16,116,907 |\n| OpenAI | `gpt-5.1-codex-mini` | 12,895,478 |\n| Xiaohongshu | `dots-3-note-prev` | 10,166,895 |\n| OpenAI | `gpt-5.1-codex` | 3,916,509 |\n| Xiaomi | `mimo-v2.5` | 3,785,071 |\n\n**Total for listed models:** 27,144,044,009 tokens.\n\n---\n\n## Community Links\n\n- [Linux.Do](https:\u002F\u002Flinux.do\u002F) — A community for sharing and discussing technology.\n\n## License\n\nPI-Desktop is licensed under the **GNU Lesser General Public License v3.0**.\n\nSee [LICENSE](LICENSE) for details.\n\n---\n\n\u003Cdiv align=\"center\">\n\n### Build with the model you want. Keep the workflow yours.\n\n**[Download PI-Desktop](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FPI-Desktop\u002Freleases\u002Flatest)**\n\n\u003Csub>macOS · Windows · Linux\u003C\u002Fsub>\n\n\u003C\u002Fdiv>\n\n---\n\n## Code Signing\n\nWindows releases of PI-Desktop are digitally signed with free code signing\nprovided by [SignPath.io](https:\u002F\u002Fsignpath.io\u002F), using a certificate from the\n[SignPath Foundation](https:\u002F\u002Fsignpath.org\u002F).\n","PI-Desktop 是一款本地优先的 AI 编程智能体桌面应用，为开发者提供独立于编辑器和云端服务的本地化 AI 编码工作区。其核心采用 Electron 构建前端界面、Rust 实现高性能宿主运行时，并集成 PI Agent Harness 框架支持用户自定义模型（如 OpenAI、Anthropic 等）及可插拔工具；支持多项目管理、长会话保持、国际化与跨平台（Windows\u002FmacOS\u002FLinux）部署。适用于需要数据隐私保障、离线可用性、模型自主可控的个人开发、开源协作及企业内部代码辅助场景。",2,"trending"]