把多个 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 服务。

进程模型上,每个 Agent 会话对应一个独立的 pi --mode rpc 进程,用项目级

仓库地址是 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 环境平台只覆盖 macOShttps://github.com/jazzyalex/agent-sessions
octopusClaude 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 授权引用,口径见其评分方法页。

项目来源与说明

开源项目:ayuayue(ayuayue)

本文由诀.com 编辑基于该项目的公开信息独立撰写,属原创解读,不是对项目文档的翻译或转载;文中提到的功能与参数以官方仓库为准,代码与文档版权归原作者所有。

查看项目仓库