$ cat ~/map/pie.md
Pie
SwiftUI 原生 macOS 客户端:每个会话一个 pi --mode rpc,diff 在对话旁,命令与技能 pi 自带。
tools✓ 9月16日
事实速查
- GitHub Stars
- ★ 106
- Forks
- 7
- 许可证
- MIT
- npm / 月
- —
- 最后推送
- 2026年10月11日
安装
在 Xcode 中打开 PiCode.xcodeproj,选择 PiCode scheme 并以 My Mac 为目标构建运行;需要 macOS 14 Sonoma 或更高版本以及带 macOS 14 SDK 的 Xcode,且 pi 必须已安装并在 PATH 上## 速览
pi 编码代理的 SwiftUI 原生 macOS 客户端:以 RPC 模式启动已安装的 pi 可执行文件——每个活跃会话一个 pi --mode rpc 进程——消息、会话、provider 与凭据仍归 pi 掌管,应用自己只保存界面状态。
## 要点
- $架构:SwiftUI 界面之下是一个带类型的 RPC 客户端,经 stdin 与 stdout 的 JSONL 与 pi --mode rpc 通信,每个活跃会话一个进程、以选定的项目为工作目录——它是 pi 的客户端,不是分支也不是替代品。
- $所有权边界:pi 保留消息、代理状态、模型、思考档位、队列、压缩、重试、会话历史、扩展与认证;应用只保存最近项目、置顶、草稿、搜索索引、转录位置、窗口布局与界面偏好;working-tree 状态与 diff 归 git;provider 密钥留在 pi 与 Keychain 手里。
- $会话管理:会话按项目文件夹分组,支持搜索、置顶、重命名、恢复、克隆、分叉、导出与安全删除;模型选择、可用的思考档位、附件、中途引导、追问队列与停止均可控。
- $对话旁审阅:文件、编辑、diff、读取与命令输出直接在对话旁边展开,不必切走。
- $沿用 pi 的定制生态:应用直接发现 pi 自带的命令、技能、提示模板、扩展、自定义 provider 与包,而不另建目录;包的安装与卸载也委托给 pi 本体,GUI 与终端看到的是同一套环境。
- $扩展兼容性:RPC 暴露的交互——命令、通知、状态、小组件,以及原生的 select、confirm、input、editor 四种对话框——都能工作;依赖 pi 终端 UI 的 API(任意自定义 TUI 组件、页眉页脚替换、自定义编辑器、TUI 主题控制)无法经 RPC 复现,应用会标出这一兼容限制并保持会话可用。
- $安全与隐私:项目信任不是沙箱,也不会限制模型的常规工具调用;应用自身不需要账号,不把 pi 会话或凭据镜像进独立数据库;诊断用的 RPC 载荷捕获默认关闭,即便为排障打开也只留在内存、不落盘。
## 常见问题
Q Pie 是 pi 的分支或替代品吗?
不是。README 写得很明确:它是 pi 的客户端,以 RPC 模式启动你已安装的 pi 可执行文件,使用 pi 的 provider 与会话文件,凭据也留在 pi 的掌控之下。找不到可用的 pi 安装时,它显示配置指引,而不是自动替你安装或改动 pi。
Q 所有 pi 扩展都能在应用里工作吗?
pi 经 RPC 暴露的交互都可以,包括命令、通知、状态、小组件与四种原生对话框。依赖 pi 终端 UI 的扩展 API——自定义 TUI 组件、页眉页脚替换、自定义编辑器、TUI 主题控制——无法经 RPC 复现;应用会标出限制并保持会话可用,可行时继续在终端里用。
Q 会话和凭据存在哪里?
在 pi 那里。消息与会话文件都是 pi 自己的,终端与桌面会话因此保持兼容,不存在第二份事实来源;应用只保存最近项目、置顶、草稿、布局偏好这类界面状态。
Q 项目成熟度如何?
仍在活跃开发中。README 把首个正式版定义为:端到端的会话可靠性、忠实的 pi 行为、安全的审阅流程,以及完整的键盘与无障碍支持;完整规格见 IMPLEMENTATION.md。
## 参考链接
## 相关条目
## 教程
最后更新: 2026年9月16日