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 正式版发布。