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 驱动代理循环,流式传输响应,并与配置的模型提供方通信。
  • 模型提供方 – 云或本地端点。

快速入门

  1. 从最新 GitHub 发布版下载合适的安装程序(macOS 用 DMG/ZIP,Windows 用 NSIS 或便携 EXE,Linux 用 AppImage/DEB/RPM)。
  2. 打开 设置 → 模型配置,添加提供方和 API 密钥(存储在操作系统密钥链中)。
  3. 通过侧边栏添加本地项目文件夹。
  4. 选择 代理计划目标 模式以启动会话。
  5. 在内置面板中审查差异、命令输出和预览,确认后再接受更改。

扩展产品

  • 插件 – 从内置市场安装或将 .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 typecheckpnpm lintpnpm test 进行验证。

许可证 – GNU LGPL v3。


TL;DR: PI‑Desktop 是一个真正的开源桌面环境,让你在任何本地代码库上运行 LLM 驱动的编码代理,完全控制模型、权限和扩展,同时将所有数据保留在你的机器上。

相关

  • 项目
  • 项目
  • 项目
  • 项目