vastsa/PI-Desktop
Local-first AI coding agent desktop: Electron + Rust host core + pi Agent Harness + user-installable plugins
PI‑Desktop – 面向 AI 编码代理的本地优先桌面应用
是什么 – PI‑Desktop 是一个跨平台(macOS、Windows、Linux)的桌面应用程序,为基于大语言模型的编码代理提供专用工作区。它不是聊天窗口或编辑器插件;而是一个功能完整的 UI,可管理项目、会话、文件编辑、命令执行以及长时间运行的代理工作,同时将所有内容保留在用户设备上。
核心理念
| 概念 | 你将获得 |
|---|---|
| 自带模型 | 连接 OpenAI、Anthropic、Ollama、LM Studio 或任何 OpenAI 兼容端点。可为每个模型配置设置(上下文窗口、温度、推理级别等),并实时切换模型。 |
| 项目为中心 | 打开任意本地仓库。所有会话、差异、评审和生成的文件都与代码一同保存。可从 Claude Code、Codex、OpenCode 或 Pi 导入会话。 |
| 控制层 | 代理可读写文件并运行命令,但高权限操作需通过权限 UI 审核,你需批准差异、命令输出或完全自主权。 |
| 三种工作流模式 | 代理 – 自由形式、快速编辑;计划 – 代理提出不可更改的实现计划,需你批准;目标 – 你设定结果标准,代理决定路径。 |
| 通过插件与技能扩展 | 安装市场插件(.piplug 包)或自行开发。插件可添加新代理工具、工作区面板、MCP(模型上下文协议)服务器、子代理、主题等。 |
| 子代理 | 可委派后台代理独立任务(探索、多文件实现、研究、测试分析),并汇报结果给父代理。 |
| 本地优先 & 隐私优先 | 所有对话、设置和日志均本地存储(JSONL + SQLite)。API 密钥存储在操作系统密钥链中。无需 PI‑Desktop 账号,无遥测数据,模型请求直接发送至你配置的提供方。 |
工作原理(高层架构)
- UI – React 渲染器(聊天、项目视图、差异审查、设置)。无 Node 集成。
- Electron 主进程 – 协调桌面生命周期。
- Rust 主机核心 – 管理特权操作:文件系统访问、SQLite 持久化、密钥存储、权限强制。
- pi 代理侧车 – 运行实际的 LLM 驱动代理循环,流式传输响应,并与配置的模型提供方通信。
- 模型提供方 – 云或本地端点。
快速入门
- 从最新 GitHub 发布版下载合适的安装程序(macOS 用 DMG/ZIP,Windows 用 NSIS 或便携 EXE,Linux 用 AppImage/DEB/RPM)。
- 打开 设置 → 模型配置,添加提供方和 API 密钥(存储在操作系统密钥链中)。
- 通过侧边栏添加本地项目文件夹。
- 选择 代理、计划 或 目标 模式以启动会话。
- 在内置面板中审查差异、命令输出和预览,确认后再接受更改。
扩展产品
- 插件 – 从内置市场安装或将
.piplug文件拖入应用。插件在隔离进程中运行,但为可信代码,可贡献新命令、UI 面板或后台服务。 - 技能 – 代理可调用的可重用指令包。
- MCP 服务器 – 通过模型上下文协议(MCP)向代理暴露外部工具/服务。
- pi 扩展 – 现有的
pi‑CLI 扩展可封装为插件并原样运行。
当前状态 – 初期预览(v0.14.x)。核心功能(工作区、流式代理、权限层、多模型支持、插件、子代理、会话导入、检查点)已可用。正在进行的工作包括 macOS 发布认证、安装程序升级/回滚、强化会话恢复、更严格的插件沙箱、更广泛的 UI 测试覆盖。
开发 – 使用 Node ≥22.19、pnpm ≥10 和稳定 Rust 工具链本地构建。典型工作流:
git clone https://github.com/vastsa/PI-Desktop.git
cd PI-Desktop
pnpm install
cargo build -p host-core
pnpm build:js
pnpm dev
运行 pnpm typecheck、pnpm lint 和 pnpm test 进行验证。
许可证 – GNU LGPL v3。
TL;DR: PI‑Desktop 是一个真正的开源桌面环境,让你在任何本地代码库上运行 LLM 驱动的编码代理,完全控制模型、权限和扩展,同时将所有数据保留在你的机器上。
相关
- 项目
- 项目
- 项目
- 项目