vastsa/PI-Desktop · 上手攻略

  • 仓库:vastsa/PI-Desktop
  • 链接:https://github.com/vastsa/PI-Desktop
  • 分类:本地优先 AI 编程 Agent 桌面应用
  • 作者:Jay
  • 更新:2026-09-19

这是什么

PI-Desktop 是一个本地优先(Local-first)的 AI 编程 Agent 桌面工作空间。它的核心理念是:大多数编程 Agent 活在终端、编辑器插件或托管服务里,而 PI-Desktop 给它们一个真正属于自己的独立桌面环境

项目选用 Electron(前端界面)+ Rust Host Core(特权操作核心)+ pi Agent Sidecar(Agent 运行引擎)的三层架构,三者各司其职:Electron 负责桌面生命周期协调,Rust 负责权限、文件系统、SQLite 持久化和密钥管理,pi Agent Sidecar 负责模型交互和 Agent 循环。渲染进程(React)不接入 Node.js,做到了架构层面的隔离。

当前版本约为 v0.15.x(Early Preview 阶段,API 和扩展接口仍在演进中),支持 macOS(Apple Silicon + Intel)、Windows(x64)和 Linux(x64,glibc ≥ 2.35)。


解决什么问题

如果你用过 Claude Code、Cursor 或 GitHub Copilot,会发现它们要么是 CLI 工具,要么是 IDE 插件,要么是云端服务——都是依附于其他东西存在的。PI-Desktop 试图解决以下几个具体痛点:

1. Agent 工作区与应用绑定问题 大多数 Agent 工具和特定的编辑器或云服务深度绑定,换一个编辑器就得重新配置。PI-Desktop 是独立桌面,打开任何本地项目目录都行,和编辑器解耦。

2. 多模型切换麻烦 在多个模型之间切换需要改配置、重启会话。PI-Desktop 支持多 Provider 配置(OpenAI / Anthropic / 任何 OpenAI 兼容端点 / Ollama / LM Studio),可以在 Composer 里直接切换模型而不重建会话。

3. 权限控制模糊 大多数 Agent 工具对文件修改、命令执行没有细粒度的权限层。PI-Desktop 有独立的权限层,特权操作会经过用户审批,而不是直接放行。

4. 长任务上下文断裂 大任务不需要塞在一个上下文窗口里。PI-Desktop 支持后台 Subagent,把独立的工作委托给独立子 Agent,结果汇总回主会话。

5. 插件生态缺失 现有大多数 Agent 工具依赖官方更新来增加功能。PI-Desktop 有完整的插件市场(.piplug 包),支持 Agent 工具扩展、Workspace 面板、MCP 服务器、Subagent 编排等。


快速安装

官方安装包(推荐)

前往 GitHub Releases 下载对应平台的安装包:

平台 架构 安装包格式
macOS Apple Silicon .dmg / .zip
macOS Intel .dmg / .zip
Windows x64 NSIS 安装程序 / 便携 .exe
Linux x64 .AppImage / .deb / .rpm

⚠️ Linux 需要 glibc 2.35 以上,Ubuntu 22.04+ / Debian 12+ / Fedora 36+ 可用。老系统(Ubuntu 20.04、Debian 11 等)无法加载捆绑的 Host。

macOS 特殊处理(如果提示"应用已损坏"):

# 确认应用来源可信后,执行:
xattr -r -d com.apple.quarantine /Applications/PI-Desktop.app
# 然后重新打开

官方发布的 macOS 构建已使用 Developer ID 签名并经过 Apple 公证,DMG 内含"If app won't open, read this.txt",ZIP 包含 PI-Desktop-macOS-open.command 脚本,执行同样的 quarantine 清除操作。

Windows 构建使用 SignPath.io 免费代码签名。

Linux 手动安装(高级)

如需配合系统 Electron 使用,可下载 .asar 包:

electron PI-Desktop-<version>-linux-x64.asar

目标发行版仍需准备好所需原生依赖和打包资源。


核心用法

1. 连接模型(Model Configuration)

打开应用后,进入 Settings → Model,添加一个 Provider:

  • OpenAI / Anthropic:填入 API Key(存储在系统 Keychain,不落地明文)
  • OpenAI 兼容端点:填入 Base URL + API Key
  • Ollama / LM Studio:填入本地地址(如 http://localhost:11434

每个模型可单独配置上下文窗口、输出限制、推理控制(reasoning levels)和温度等参数。

2. 打开本地项目

从侧边栏添加任意本地仓库或项目目录。会话、文件、Review、Preview 和 Agent 工作成果都保存在这个项目空间内。

3. 三种工作模式

启动 Agent 时可以选择三种模式(同一会话内可切换):

  • Agent:直接开始工作——读文件、改代码、跑命令、测试、迭代,适合日常快速任务
  • Plan:Agent 先研究代码库,产出一份不可变的实施计划并等待审批,适合大型或风险较高的改动
  • Goal:锁定目标和验收标准,Agent 自主选择路径并向目标推进,适合结果导向的任务

⚠️ 无论哪种模式,特权工具(写文件、执行命令等)都要经过权限层审批,不是直接放行。

4. 权限审批(Permission Layer)

Agent 执行特权操作时会弹出审批提示,用户可以: - Approve(批准一次) - Approve for this session(本次会话内同类操作均放行) - Deny(拒绝)

在 Review 面板中可检查 diff、命令输出,并决定给多少自主权。

5. 后台 Subagent(并行委托)

大任务可以拆分给后台 Subagent 并行执行: - Codebase 探索 - 多文件实现 - 调研与调查 - 测试分析 - 对抗性 Review

每个 Subagent 在独立上下文运行,结果汇报给父会话。最多 4 个并发活跃 Worker / 16 个总 Worker。

6. 插件安装

进入 Settings → Plugins → Marketplace,或下载 .piplug 包通过 Import 安装。官方 pi.session-orchestrator 插件支持从单个对话协调多个持久化 Worker 会话:

// SessionTask 工具调用示例(插件提供)
{
  "tool": "SessionTask",
  "args": {
    "task": "explore codebase for auth patterns",
    "mode": "background"
  }
}

⚠️ 插件进程经过权限隔离,但仍然是"用户信任代码"而非操作系统级沙箱——只安装你信任的插件。

7. 导入其他 Agent 的会话

支持从 Claude Code、Codex、OpenCode、Pi 导入本地会话。进入 Settings → Import 选择来源即可迁移历史工作。

8. MCP 控制端点(进阶)

可通过外部 MCP Agent 控制 PI-Desktop。启动时设置环境变量:

PI_DESKTOP_MCP_CONTROL=1

控制端点读取 mcp-control.json(Electron 用户数据目录)中的 loopback 端点和 Bearer Token。默认关闭,仅绑定 loopback,授予调用 Agent 与桌面同等的操作权限。


典型适用场景

场景 为什么适合 PI-Desktop
多模型评测 在同一项目空间内快速切换不同模型对比输出,无需重建上下文
长时间大型重构 Plan 模式产出一致性实施计划再执行,降低失控风险
并行代码审查 Subagent 多人协作同时审查不同模块
本地代码库深度分析 本地优先,数据不离开机器,适合处理私有代码
团队共享 Agent 配置 插件市场 + Skills 体系可分享复用配置
Ollama/LM Studio 本地模型用户 无需云端 API,完整体验在本地

坑与注意

⚠️ Early Preview 阶段 - 当前 v0.15.x 仍在快速迭代,API、扩展接口和部分桌面行为可能变化 - 生产环境使用前建议关注 Release Notes - 大版本升级后建议重新阅读发版说明

⚠️ macOS 未公证警告 - 如果下载的是非官方构建或测试版本,可能触发"无法验证开发者"警告 - 官方 DMG 已 Developer ID 签名公证,不需要关闭系统安全检查 - xattr 命令仅移除 quarantine 属性,不要对来源不明的应用使用

⚠️ 插件安全 - 插件运行在用户权限下,不是 OS 级沙箱 - 插件可注册工具、斜杠命令和钩子(hook),权限等同于 Agent 自身工具

⚠️ Linux glibc 版本 - 旧发行版(Ubuntu 20.04、Debian 11、Fedora 35)不可用 - 用 ldd --version 检查 glibc 版本

⚠️ 网络行为 - PI-Desktop 是"本地优先"而非"完全离线":模型请求直接发往配置的 Provider,遵循该 Provider 的隐私政策 - 无内置遥测(telemetry = None) - API 凭证存在系统 Keychain,不落地明文配置文件

⚠️ Subagent 资源限制 - 最多 4 个并发活跃 Worker / 16 个总 Worker 跨所有父会话 - Worker 继承父项目的 Provider、模型、思考层级和权限模式


与同类对比

维度 PI-Desktop Claude Code Cursor GitHub Copilot
形态 独立桌面 App CLI 编辑器插件(VS Code/VS) IDE 插件
模型 多模型 + BYOA Anthropic 模型 Anthropic 模型 OpenAI/Microsoft 模型
权限层 独立权限审批层 终端直接执行 依赖编辑器配置 依赖 IDE 配置
插件生态 .piplug 插件市场 无(纯 CLI) 插件系统
Subagent 支持后台 Subagent 不支持 不支持 不支持
Plan/Goal 模式 有(Plan/Goal 两种审批粒度)
本地优先 完全本地,数据不离开机器 需联网 需联网 需联网
平台 macOS/Win/Linux macOS/Linux/WSL VS Code/VS 各主流 IDE
状态 Early Preview 正式版 正式版 正式版

一句话总结:如果你需要的是一个独立于编辑器的多模型 Agent 工作空间,带权限层、插件生态和后台并行任务,且希望数据完全本地保留,PI-Desktop 是目前这个方向上做得最完整的桌面应用——尽管仍处于 Early Preview 阶段。


推荐结论

PI-Desktop 解决了"编程 Agent 无桌面归属"的问题:本地优先、多模型、权限分层、插件生态、Plan/Goal 双审批粒度——如果你用 Claude Code/Ollama/Ocean 等多模型并希望有独立的工作空间和权限管控,它值得一试;如果你需要稳定正式版和完整生态,还需等 1.x 正式版发布。