项目定位#
Pi Desktop Lab 是一个围绕 coding agent 的桌面端实验项目。它关注的不是再做一个普通编辑器,而是让任务、上下文和 agent 的行动过程成为界面的一等内容。
探索方向#
传统编辑器的界面单位是文件:打开、修改、保存。但和 coding agent 协作时,真正需要被看见的单位变了——一次任务从发起到完成,中间发生了哪些工具调用、改了哪些文件、每一步的依据是什么。如果界面仍然只围绕文件组织,这些过程信息就散落在滚动的对话流里,出了问题很难回溯。
项目使用 Rust、Tauri、SvelteKit 和 TypeScript,尝试在原生桌面能力与快速迭代的界面层之间取得平衡:Rust 侧承担进程管理和策略控制这些需要可靠性的部分,界面层交给还在频繁变化的 SvelteKit。重点包括任务推进、上下文呈现和人在循环中的控制感。
当前实现#
Pi Desktop Lab 通过受策略控制的 RPC 层启动 Pi coding agent 子进程,处理 JSONL 请求与响应,并把工具调用、变更文件、diff、流式回复和审计日志呈现在对话式工作台中。把 agent 放在策略层后面而不是直接嵌进界面,是有意的:危险操作必须经过人确认,每一步调用都留下审计记录,界面只信任协议消息、不信任隐式状态——agent 做过什么,以消息为准,出了问题可以对着日志逐条复盘,而不是对着界面猜。桌面端还覆盖了危险操作确认、拒绝、终止、失败诊断、历史恢复和会话继续等 MVP smoke 场景。
项目同时保留 Faux 离线模式和可配置的真实 provider 预检。Faux 模式让界面回路不接真实模型也能完整走通,smoke 场景因此可以离线、零成本、可重复地跑;真实模式在开始任务前检查 provider、模型和注册状态,把「配置错了」暴露在任务开始之前而不是执行中途。界面只显示密钥是否已保存,不回显密钥内容。
明确的状态与边界#
当前仍是 Phase 1 开发实验室,不是可交付产品。OS sandbox、重新接管已有 Pi 进程、多 Agent 编排、系统密钥链,以及 SDK runtime 作为默认后端都明确不在当前声明范围内;RPC 仍是实际使用的后端。
项目价值#
它记录了我对 AI 工具形态的一个持续判断:当 agent 成为执行主体后,GUI 的价值不再只是编辑文件,而是帮助人理解、干预和复盘任务过程。理解对应上下文与 diff 的呈现,干预对应确认、拒绝和终止,复盘对应审计日志和历史恢复——当前实现的每一块都在回应这三件事之一。哪怕它最终不长成产品,这条判断也值得用一个真实项目去验证。
