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 驅動的編碼代理,完全控制模型、權限與擴充,同時將所有資料保留在你的機器上。

相關

  • 專案
  • 專案
  • 專案
  • 專案