[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83987":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":16,"stars90d":14,"forks30d":14,"starsTrendScore":17,"compositeScore":18,"rankGlobal":9,"rankLanguage":9,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":32,"readmeContent":33,"aiSummary":9,"trendingCount":14,"starSnapshotCount":14,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},83987,"pi-desktop","ayuayue\u002Fpi-desktop","ayuayue","Desktop workbench for managing multiple pi coding-agent sessions across project folders.",null,"TypeScript",76,9,1,0,7,21,35,3,"MIT License",false,"main",true,[24,25,26,27,28,29,30,31],"ai-agent","coding-agent","desktop-app","electron","pi","react","rpc","typescript","2026-06-12 02:04:37","# pi-desktop\n\n[English](README.en.md) · [LinuxDO 友链](https:\u002F\u002Flinux.do)\n\n**一个用于管理多个 [pi](https:\u002F\u002Fpi.dev) 编码 Agent 会话的桌面工作台。**\n\n![Status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstatus-experimental-orange)\n![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue)\n![Electron](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FElectron-38-47848f)\n![React](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FReact-19-61dafb)\n![Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fversion-0.4.13-green)\n\n`pi-desktop` **不是** pi 的分支。它是一个轻量 Electron 外壳，通过启动多个 `pi --mode rpc` 进程，将项目管理、会话管理、对话界面、配置管理和工具编排整合到一个原生桌面应用中——所有 Agent 能力由 pi 原生提供。\n\n---\n\n## 📋 更新日志\n\n> **最新版本 v0.4.13**（2026-06-09）\n\n### v0.4.13 更新\n- 🪟 Windows 路径修复：环境检测和 RPC Agent 启动现在都能处理包含空格的 npm shim 路径。\n- 📐 长回答宽度修复：长文本回答、历史会话、思考块、代码块和表格不再撑出会话区域。\n\n[查看完整更新日志 →](CHANGELOG.zh-CN.md)\n\n---\n\n## 核心功能\n\n| 功能 | 说明 |\n|---|---|\n| **多项目工作区** | 添加、搜索和切换本地项目目录，同时运行多个 pi Agent，项目间完全隔离。 |\n| **配置管理** | 可视化编辑器管理 pi 的 `models.json`、`auth.json`、`settings.json`，支持 Provider 重命名、模型拉取、连接测试和请求头\u002FUser-Agent 配置。 |\n| **代理设置** | 独立管理 pi agent 子进程代理和桌面端代理，模型拉取与连接测试可走桌面端代理。 |\n| **斜线命令 & `!` Shell** | 内置斜线命令建议（`\u002Fcompact`、`\u002Fsession` 等），支持 `!command` \u002F `!!command` 在聊天输入框直接执行 Shell 命令。 |\n| **内嵌终端 Dock** | 当前 Agent 绑定独立终端 tab，支持 PowerShell\u002Fcmd\u002Fsh fallback、多 tab、主题切换、拖拽高度、右键复制选区和关闭确认。 |\n| **会话管理** | 新建会话、项目历史弹框、恢复历史会话、重命名、导出 HTML、关闭 Agent——通过项目历史按钮、侧边栏或右键菜单即可完成。 |\n| **Git 集成** | 实时显示当前分支，支持本地 + 远程分支选择器、分支数量徽章和分支切换。 |\n| **工具调用可视化** | 工具调用聚合卡片，摘要 + 可展开详情，运行中\u002F完成\u002F失败状态清晰标识。 |\n| **回答级修改摘要** | Agent 每轮回答完成后在对应回答下方以紧凑列表展示本轮修改文件名和修改行数，Files 面板保留本次会话总览。 |\n| **上下文感知输入** | `@` 文件引用建议、`!` Shell 执行、`\u002F` 斜线命令——统一在同一个输入框中。 |\n| **应用更新提示** | 定时检查 GitHub Release，发现新版本后展示发布日志和推荐下载入口，下载交由系统默认浏览器处理。 |\n| **系统托盘** | 关闭窗口默认最小化到托盘，托盘右键菜单，双击恢复窗口。 |\n\n---\n\n## 截图\n\n### 工作区与对话界面\n\n![工作区总览](docs\u002Fimages\u002Foverview.png)\n\nMarkdown 渲染 + 流式输出、工具调用详情、回答级修改文件摘要、模型\u002F思考等级\u002F上下文\u002F缓存状态栏、Git 分支选择器、操作按钮（New Session · Stop · Restart · Files · History · Terminal）。\n\n### 配置管理\n\n![配置管理](docs\u002Fimages\u002Fconfig.png)\n\n可视化编辑器：Models（Provider 卡片 + 模型网格 + 连接测试）、Auth（API Key 管理）、Settings（类型感知的键值编辑器）、源文件（原始 JSON 编辑）——保存后可按需重启 Agent 生效。\n\n### 斜线命令与会话历史\n\n![斜线命令及会话历史](docs\u002Fimages\u002Fslash-commands.png)\n\n内置斜线命令建议面板（带功能说明），配合右侧历史会话抽屉，快速浏览和恢复过往对话。\n\n### 文件树与会话操作\n\n![文件树及会话操作](docs\u002Fimages\u002Ffiles.png)\n\n项目文件树（含 Git 状态标识）、输入框 `@` 文件引用建议、Files 面板顶部的本次会话修改列表、会话右键菜单（打开会话 · 导出 HTML · 关闭 Agent）。\n\n---\n\n## 架构设计\n\n```txt\npi-desktop\n├─ Electron 主进程\n│  ├─ 管理项目记录\n│  ├─ 启动 pi --mode rpc 进程\n│  ├─ 管理 Agent 绑定的本地 pty 终端\n│  ├─ 桥接文件、会话、Git 操作\n│  ├─ 检查 GitHub Release 更新\n│  └─ 暴露安全 IPC API\n│\n├─ Electron Preload\n│  └─ 向 Renderer 暴露 window.piDesktop\n│\n├─ React Renderer\n│  ├─ 项目和 Agent 列表\n│  ├─ 聊天时间线（流式输出）\n│  ├─ 文件 \u002F 历史抽屉\n│  ├─ 配置管理弹窗（Models \u002F Auth \u002F Settings \u002F 源文件）\n│  ├─ Agent 绑定的 Terminal Dock\n│  ├─ 模型与上下文状态栏\n│  ├─ 会话结束修改摘要与更新提示弹窗\n│  └─ 设置 UI（基础设置 \u002F 代理设置 \u002F 开发设置）\n│\n└─ Pi 运行时\n   ├─ 每个 Agent Tab 一个独立 pi RPC 进程\n   ├─ 项目级 cwd 隔离\n   └─ 使用 pi 原生会话 \u002F 工具 \u002F 模型 \u002F 上下文\n```\n\n核心设计原则：**一个 Agent Tab = 一个 pi RPC 进程**，确保会话隔离，让 pi 继续负责其原生能力。\n\n---\n\n## 环境要求\n\n- Node.js 20+\n- npm\n- 系统 `PATH` 中可访问 `pi` 命令\n- 已完成 pi 的 Provider \u002F 登录 \u002F API Key 配置\n\n验证 pi 是否可用：\n\n```bash\npi --version\npi --mode rpc\n```\n\n---\n\n## 下载安装\n\n**Windows**、**macOS**、**Linux** 平台的预构建安装包在 GitHub Release 中发布：\n\n👉 **[GitHub Releases](https:\u002F\u002Fgithub.com\u002Fayuayue\u002Fpi-desktop\u002Freleases)**\n\n> pi-desktop 需要单独安装 `pi` CLI 并确保其加入系统 `PATH`。\n\n---\n\n## 快速开始（从源码运行）\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fayuayue\u002Fpi-desktop.git\ncd pi-desktop\nnpm install\nnpm run make-icon\nnpm run dev\n```\n\n---\n\n## 开发命令\n\n| 命令 | 说明 |\n|---|---|\n| `npm run dev` | 启动开发模式 |\n| `npm run typecheck` | 运行 TypeScript 类型检查 |\n| `npm run build` | 构建 Renderer + Main 产物 |\n| `npm run dist` | 为当前平台打包 |\n| `npm run dist:win` | 打包 Windows（NSIS + portable + zip） |\n| `npm run dist:mac` | 打包 macOS（DMG + zip） |\n| `npm run dist:linux` | 打包 Linux（AppImage + deb + tar.gz） |\n| `npm run make-icon` | 生成图标资源到 `build\u002Ficon.svg` |\n\n### 浏览器预览模式\n\n直接打开 `http:\u002F\u002Flocalhost:5173\u002F` 进行布局和响应式调试。Renderer 在 `window.piDesktop` 不可用时自动降级为 mock 数据，无需 Electron 环境。但涉及 Agent、会话、文件操作等真实 IPC 功能仍需在 Electron 中验证。\n\n---\n\n## 项目结构\n\n```txt\nsrc\u002F\n├─ main\u002F\n│  ├─ fs\u002F                 # 文件树服务\n│  ├─ git\u002F                # Git 分支服务\n│  ├─ pi\u002F                 # Pi 进程与 RPC 管理\n│  ├─ projects\u002F           # 项目记录持久化\n│  ├─ sessions\u002F           # Pi 会话扫描\n│  ├─ settings\u002F           # 应用设置持久化\n│  ├─ terminal\u002F           # Agent 绑定的 pty 终端\n│  └─ index.ts            # Electron 主入口\n│\n├─ preload\u002F\n│  └─ index.ts            # 安全 IPC 桥接\n│\n├─ renderer\u002F\n│  └─ src\u002F\n│     ├─ App.tsx          # 主界面\n│     ├─ components\u002F      # 拆分后的 UI 组件\n│     ├─ config\u002F          # 配置弹窗子组件和配置工具\n│     ├─ previewApi.ts    # 浏览器预览降级\n│     ├─ styles.css       # 应用样式\n│     └─ main.tsx         # React 入口\n│\n└─ shared\u002F\n   ├─ ipc.ts              # IPC 通道名称\n   └─ types.ts            # 共享类型定义\n```\n\n---\n\n## 更新日志\n\n详细版本历史请查看 [CHANGELOG.zh-CN.md](CHANGELOG.zh-CN.md)（中文）或 [CHANGELOG.md](CHANGELOG.md)（英文）。\n\n---\n\n## 安全说明\n\n本应用启动本地 `pi` 进程并通过 Electron IPC 暴露有限的文件操作。请仅运行你信任的源码。应用不发送遥测数据，不上传文件。pi agent 子进程代理和桌面端模型拉取\u002F测试代理可独立配置；系统浏览器打开的外部链接仍由系统浏览器网络设置决定。\n\n## License\n\nMIT\n",2,"2026-06-11 04:11:59","CREATED_QUERY"]