把多个 AI 编码会话收进一个桌面窗口(PiDeck)
PiDeck 是一个用 TypeScript 与 Electron 写的开源桌面工作台,把多个本地项目的 pi 与 DSH 编码 Agent 会话、Git 状态、终端和模型配置收进同一个窗口。这篇文章说明它和 codexmate、agent-sessions、octopus 这类工具的分工差别,帮读者判断自己该不该换到这个方案上。
同时维护几个代码仓库的人,AI 编码会话往往是散的。一个项目一个目录,会话文件藏在各自的隐藏路径下,想恢复上次的上下文,得先想起它属于哪个项目,再翻目录、翻历史,切回另一个项目又要重复一遍。
PiDeck 是一个 TypeScript 与 Electron 写的开源桌面工作台,把多个本地项目的 pi、DSH 编码 Agent 会话收进一个窗口,适合同时维护多个项目的开发者。
进程模型上,每个 Agent 会话对应一个独立的 pi --mode rpc 进程,用项目级 cwd 做隔离,PiDeck 与 pi 之间只通过 stdio JSON-RPC 通信,pi 的原生会话文件、工具、模型和上下文都由 pi 自己读写。DSH 后端以 utilityProcess 内嵌引导,不监听端口,也不在后台跑 HTTP 服务。
仓库地址是 https://github.com/ayuayue/PiDeck,采用 MIT 许可证,主要语言 TypeScript(占 64.1%),其次是 JavaScript 与 CSS。当前 1017 star、112 fork、5 watcher,开放 Issue 12 个,创建于 2026-05-31,最近一次提交在 2026-10-05。
这几个项目分别在解决什么
PiDeck 的落点是「工作台」,它想覆盖的是从打开项目到改配置的一整条路径。功能可以按下面几块来看。
- 多项目工作区:添加、搜索、拖动排序和切换本地项目目录,同时运行多个 pi Agent,项目之间隔离。项目列表顶部固定一个 Chat 入口,写入应用用户目录,用来做不绑定代码项目的通用对话。
- 双 Agent 后端:同一项目下可以创建 pi 或 DSH 会话并自由切换浏览,会话列表和头部用 pi / DSH 徽标区分。启用 DSH 的方式是在设置页的 DSH 分页完成配置,新建会话时选择 DSH 后端。
- 上下文感知输入:同一个输入框里支持
@文件引用、/斜线命令和!Shell 执行。 - 会话资产化:新建、重命名、复制、导出 HTML、删除历史会话、重启与重新加载、关闭 Agent 都在侧栏或右键菜单里完成。项目右键可以导入 Codex 和 Claude 的本地会话,转换成 PiDeck 历史会话后继续浏览和恢复,v0.7.8 起还支持导入 Qoder 会话。
- 可视化配置管理:用编辑器管理 pi 的
models.json、auth.json、settings.json,Provider 卡片配连接测试,保存后按需重启 Agent 生效。 - 文件、Git 与终端:文件抽屉带 Git 状态标识和内置编辑器,文件搜索输入即搜(250ms 防抖,命中超过 200 条或耗时 8 秒即返回已收集结果);Git 面板显示当前分支并提供分支切换与新建;终端 Dock 给当前 Agent 绑定独立 tab,支持 PowerShell、cmd、sh fallback。
- 用量与商店:供应商余额和额度查询,加上基于本地会话的用量统计,可以看到热力图以及每日、模型、项目维度的分布;Prompt 与 Skill 商店接入 prompts.chat 和 skills.sh,内置 XuePrompt 的 4000+ 中文提示词可以直接导入。
- 桌面与系统集成:系统托盘、桌面宠物、主题切换、飞书机器人、局域网 Web 服务、进程监控与日志管理,以及可自定义的全局快捷键和
Ctrl/Cmd+P命令面板。
使用前有一条硬性前提:PiDeck 需要单独安装 pi CLI 并确保它加入系统 PATH。预构建安装包按 Windows、macOS、Linux 分平台发布在 GitHub Releases,另外还并行发布开发版 PiDeck Dev,对应 Release 中标记为 Pre-release、版本号带 -beta 后缀的包。从源码运行的步骤写在仓库 README.md 的「快速开始(从源码运行)」一节,这段节选里没有展开具体命令。
放在同一组里的 codexmate 描述自己是「一个面板管所有本地 AI 编码 Agent」,重心在切换 provider 和管理会话;agent-sessions 是本地优先的 macOS 应用,做的是浏览、搜索、分析并恢复 AI 编码 Agent 会话,889 star。两者的共同点是围绕已有的会话数据做检索和恢复,不接管 Agent 的运行方式。
octopus 的定位更窄,它是 Claude Code 的前端,用一个调度板同时跑多个会话,78 star。seshbuddy 是面向 Claude Code 等 Agent 的桌面伴侣与会话浏览器,kage 把本地记忆做成了查找、回放、分叉、桥接与派发,agent-handoff 则主打在 14 个 Agent 之间切换而不丢上下文。这一类的共同诉求是让会话跨工具流动起来。
逐项对照
下面这张表按用途、上手成本和明显短板把 PiDeck 与三个同类放在一起,信息只取各项目描述里确实写明的内容。
| 项目 | 主要用途 | 上手成本 | 明显短板 | 项目地址 |
|---|---|---|---|---|
| PiDeck | 多项目本地工作台,统一管理 pi / DSH 会话,附带 Git、终端、配置与用量 | 需要先安装 pi CLI 并加入 PATH | 只把 pi 与 DSH 做成完整会话后端,Codex / Claude 偏导入浏览;Electron 应用体积偏大 | https://github.com/ayuayue/PiDeck |
| codexmate | 本地 AI 编码 Agent 的统一面板,切换 provider、管理会话 | 输入素材未说明 | 素材只给出简介,会话恢复与工作台能力的覆盖范围没有说明 | https://github.com/SakuraByteCore/codexmate |
| agent-sessions | 本地优先的 macOS 应用,浏览、搜索、分析并恢复受支持的 Agent 会话 | 需要 macOS 环境 | 平台只覆盖 macOS | https://github.com/jazzyalex/agent-sessions |
| octopus | Claude Code 的前端调度板,可同时运行多个会话 | 输入素材未说明 | 描述只提到 Claude Code,其它 Agent 的支持情况没有说明 | https://github.com/SebastianElvis/octopus |
表格里 PiDeck 的短板一栏值得单独展开,它决定了这个工具适合谁,不适合谁。
差距出现在哪
第一处拉开距离的地方是会话后端的深度。PiDeck 对 pi 和 DSH 是一等公民式的处理:每个会话单开进程,DSH 侧支持历史分页、从锚点 fork 和 /compact 压缩上下文,重启应用后自动恢复原会话,审批和提问通过桌面弹窗应答。对 Codex、Claude 和 Qoder,它能做的是把本地会话导入进来浏览和恢复,不去驱动这些 CLI。agent-handoff 那一类项目恰好相反,它把力气花在多个 Agent 之间搬运上下文,宣称支持 14 个 Agent,覆盖面比 PiDeck 宽。
第二处是工作台的宽度与界面复杂度的取舍。PiDeck 把文件树、Git、终端、配置、用量、商店、桌面宠物都装进一个应用,代价在 Issue 列表里能看到:有用户反馈 0.50 版本起侧栏不再显示 Agent 运行状态,记录也无法主动折叠,在多项目多记录的情况下体验变差(14 条评论,已解决)。另有一条关于左侧一次只能打开一个项目的诉求(10 条评论,已解决)。相比之下,agent-sessions 的界面只需要服务浏览、搜索与恢复,这类问题不会出现。
还有几条真实踩过的坑。Ubuntu 26.04 上曾出现有托盘图标和 dock 图标却没有主窗口的情况(8 条评论,已解决);用管理员权限启动时会同时开启三个 PiDeck 进程(6 条评论,已解决);WSL 里的 pi 检测失败,手动指定路径也无效(4 条评论,已解决);项目 settings.json 里写 {"sessionDir": ".pi/sessions"} 时,项目目录下的会话历史一度读不出来(4 条评论,已解决)。这些问题在仓库里都已标记为解决,但说明跨平台路径和进程管理是这个项目需要持续盯住的部分。
PiDeck 明显不如同类的地方有三点。它依赖外部 pi CLI,没装 pi 就只剩会话浏览和导入;跨 Agent 的覆盖靠导入而非原生驱动,做不到 agent-handoff 那种任意 Agent 之间的上下文搬运;仓库体积 97732 KB,Electron 应用的安装包和内存占用都大于一个原生 macOS 会话浏览器。
什么情况下选它
下面几条成立时,PiDeck 的投入回报比较清楚。
- 你已经在用 pi 或 DSH,并且本机
PATH里有pi,日常要在多个仓库之间切换。这种情况它能直接省掉反复找目录、找历史的时间。 - 你希望会话、Git 分支、终端和模型配置在同一个窗口里,而不是开着编辑器、终端和浏览器来回切。
- 你想用图形界面改
models.json、auth.json、settings.json,同时需要看供应商余额和本地用量分布。
主要用 Claude Code 或 Codex、且不需要把它们的本地会话导入到别处浏览的人,用不上 PiDeck 的大部分能力。不想在机器上单独装 pi CLI 的人,装了应用也只能用到导入与浏览那部分。在 macOS 上只想要一个轻量会话搜索工具的人,原生应用的启动和资源占用更合算。
设置里启动局域网 Web 服务之后,同网段的设备可以通过 IP 加端口访问网页版,支持双后端会话浏览和 DSH 工具面板。会话内容会因此暴露给该网段的设备,只在自己控制的网络里开启,公用网络和办公共享网络下不要打开。
焚评:这个项目的量化评分
本项目的选题来自 焚.com(一个按公开公式给 GitHub 项目打分的站)。焚评当前总分 9.5 分(满分 10)。下表是各维度的得分:
| 评分维度 | 得分 |
|---|---|
| 热度动量(权重 25%) | 10.0 / 10 |
| 开发活跃(权重 25%) | 8.7 / 10 |
| 社区响应(权重 15%) | 9.1 / 10 |
| 文档质量(权重 15%) | 10.0 / 10 |
| 发布节奏(权重 10%) | 9.9 / 10 |
| 风险控制(权重 10%) | 10.0 / 10 |
评分口径、权重与计算方式见焚.com 的评分方法页;数据随 GitHub 指标刷新,具体数值以焚.com 当前页面为准。本文正文为诀.com 独立撰写,评分数据由焚.com 授权引用。
内容核验说明
这份材料真正有用的是把 pi、DSH 会话收进单窗口的进程与通信设计,以及同类工具的分工对照,能帮人判断该不该换。适合已用 pi 或 DSH、日常在多个仓库间切换的人;只用 Claude Code、或不愿另装 pi CLI 的,收益有限。星标、体积、Issue 状态等数据取自仓库公开信息,诀.com 未独立验证,跨平台问题建议按当前版本自查。
星标、fork、仓库体积、许可证、提交时间、em 等数据来自 GitHub 仓库公开信息与原作者披露,诀.com 未独立验证;文中的版本故障案例取自仓库 Issue,属提交者报告,未复现;焚评评分由焚.com 授权引用,口径见其评分方法页。用户反馈摘要
根据仓库 Issue 来看,抓到的 12 条反馈状态均为已解决,集中在两类。跨平台故障方面,有提交者报告 Ubuntu 26.04 主窗口不显示、用管理员权限启动会多开进程且关窗不退出、WSL 里 pi 检测与手动指定路径无效。交互与功能诉求方面,包括侧栏恢复 Agent 运行状态与折叠记录、左侧支持多项目树、简化 Close Agent、可编辑或删除 AI 回复、窗口可缩得更小;另有配置管理页白屏、ask_user 工具无法应答的报告。
基于该仓库公开 Issue 整理,只反映提交者报告的现象与诉求,不代表诀.com 立场,也不代表问题已被确认。项目来源与说明
开源项目:ayuayue(ayuayue)
本文由诀.com 编辑基于该项目的公开信息独立撰写,属原创解读,不是对项目文档的翻译或转载;文中提到的功能与参数以官方仓库为准,代码与文档版权归原作者所有。
查看项目仓库