pitwall
免费开源的桌面终端,并排运行多个编码 agent,一键跳到正在等你回复的那一个。
- Star 数
- ★ 18
- 最近更新
- 今天
- License
- MIT
- 主语言
- Go
- FA 评分
- 70/100 · 存在缺口
30 秒速览
- 可在哪里用
- 兼容但需适配Codex · Claude Code
- 开始前需要
- 典型场景
- 同时在一个仓库里跑 Claude Code 和 Codex 的开发者,希望一眼看出哪个 agent 停在权限提示上并直接 Allow/Deny。
- 主要局限
- README 自述 macOS 与 Windows 构建较新、使用较少,日常验证主要在 Linux 上进行,跨平台稳定性存在不确定性。
- 源码审查
- 70/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
pitwall 是 Quantic Studios 开发的 MIT 许可桌面终端,面向同时运行多个编码 agent 的开发者。它以会话(session)、标签(tab)、窗格(pane)组织工作,侧边栏逐行显示每个 agent 的当前状态——Working、Input、Approval、Plan、Done 或 Error,并附带分支、改动行数和拉取请求信息。Ctrl+Shift+U 会跳到最近开始等待的 agent,Allow/Deny 可直接在侧边栏行内点击,也可通过配对手机操作。它支持 Claude Code、Codex、OpenCode、Gemini CLI、Cursor CLI、pi 与 Oh My Pi,并提供 worktree 并行、冲突预警、审查评论、任务队列与用量统计等能力。会话由后台守护进程保持,关窗、重启或升级后标签与 agent 状态可恢复。
pitwall 用 Go 与 Gio 构建终端界面,内置会话守护进程来保存标签和窗格状态。首次启动会扫描 PATH 上的 agent,并通过 Install hooks(pitwall hooks install)写入钩子,让各 agent 上报状态;钩子上报的事件驱动侧边栏状态、桌面通知与手机页面。核心操作包括:每行显示 Working/Input/Approval/Plan/Done/Error 与分支、改动行数、PR 的 CI 和评审;Ctrl+Shift+U 跳到最近开始等待的 agent;识别 Claude Code/Codex 权限提示后在行内给出 Allow、Deny、Always,并用屏幕内容与钩子上报的命令做比对,不匹配则不按键;Ctrl+Shift+K 在全部会话与主机中搜索标签,可恢复最近 30 天至多 200 个关闭的标签;Ctrl+Shift+R 打开审查视图,支持按行写评论并一次性作为提示发给 agent,还有 This turn、Staging、Undo turn 与 Second opinion。命令行侧提供 pitwall new、pitwall split、pitwall send、pitwall wait --children、pitwall worktree new、pitwall worktree rm、pitwall fork、pitwall notify、pitwall doctor、pitwall --host 等命令,用于脚本化编排与远程主机。worktree 会自动分配 3010-3019 等端口段到 PORT 及两个附加变量,并在两个分支改动重叠时给出琥珀/红色标记。设置页还汇总 agent 错误与耗时(脱敏日志)以及 Claude Code、Codex 的用量窗口与 API 计价估算。
- 同时在一个仓库里跑 Claude Code 和 Codex 的开发者,希望一眼看出哪个 agent 停在权限提示上并直接 Allow/Deny。
- 让编排 agent 通过
pitwall worktree new把任务拆给多个 worker、每个 worker 独占 worktree 与端口段的团队,避免 dev server 抢 3000 端口。 - 需要在合入前逐行给 agent 的改动写评论、一次性发回 agent 的评审者,用 Ctrl+Shift+R 与 Send comments。
- 希望在笔记本合盖后让 agent 继续跑的用户,用
pitwall --host box通过 ssh 在另一台机器运行会话。 - 想从手机批准权限请求的人,在 Settings, Phone 打开并扫码配对,用 Allow/Deny 与输入框回复。
- 想分析 agent 反复失败原因(如
zsh: command not found: rg38 次)并估算 token 成本的团队,用 Settings, Agent errors 与 Timing。 - 希望限制 agent 误跑
git push、gh pr merge、terraform apply的用户,用--guard或guard_workers。
如何安装或部署这个 Agent?
macOS 或 Linux 使用 Homebrew:
brew install quanticstudios/tap/pitwall或者使用安装脚本(默认装到 ~/.local/bin,必要时把该目录加入 PATH):
curl -fsSL https://raw.githubusercontent.com/quanticstudios/pitwall/main/scripts/get.sh | shWindows 使用 Scoop 或 PowerShell 脚本:
scoop bucket add quanticstudios https://github.com/quanticstudios/scoop-bucket
scoop install pitwall
irm https://raw.githubusercontent.com/quanticstudios/pitwall/main/scripts/get.ps1 | iex安装前需自备至少一个受支持的 agent(Claude Code、Codex、OpenCode、Gemini CLI、Cursor CLI、pi 或 Oh My Pi)以及 git。系统要求:Linux glibc 2.35+、macOS、Windows 10 1809+ 或 11,x86_64 与 arm64。
如何使用这个 Agent?
在一个 git 仓库中启动,然后在欢迎卡片或 Settings, Agents 点击 Install hooks,让 agent 上报状态。
cd /path/to/your/repo
pitwall用 Ctrl+Shift+T 新建标签(macOS 为 Cmd+T),分别运行 claude 与 codex;在 Codex 中执行一次 /hooks 以信任新钩子。之后按 Ctrl+Shift+U 跳到正在等待的 agent,Ctrl+Shift+Y / Ctrl+Shift+D 允许或拒绝。
用命令行构建多 worker 编队:
pitwall worktree new invoice-pdf -- claude "Render invoices as PDFs"
pitwall worktree new webhook-retry -- codex "Retry failed webhooks"
pitwall wait --children --until done --timeout 30m让另一个 agent 帮忙执行并等待结果:
tab=$(pitwall new -n "review auth" -- codex "review origin/main..HEAD")
pitwall wait "$tab" --until done --timeout 20m
pane=$(pitwall split -- codex)
pitwall send "$pane" -- "Critique plan.md"检查安装状态:
pitwall doctor手机配对、远程主机与 fleet 模式需在 Settings 中配置,具体见 docs/phone.md、docs/remote.md 与 docs/usage.md#fleet-mode。
这个 Agent 有哪些优点和局限?
- 侧边栏逐行呈现 agent 状态、分支、改动行数与 PR 的 CI/评审,Ctrl+Shift+U 直达最近等待的 agent,适合多 agent 并行。
- 行内 Allow/Deny 有一致性校验:钩子上报的命令必须与屏幕上的提示相符才按键,含换行或制表符的命令一律拒绝,降低误批风险。
- worktree 与端口段自动分配(如 3010-3019)并在分支冲突时给出琥珀/红色提示,减少并行 agent 的端口与合并冲突。
- 守护进程保存会话,关窗或重启后标签与 agent 恢复;
pitwall --host支持通过 ssh 在远端运行会话。 - 提供
--guard对git push、gh pr merge、terraform apply等命令拦截,并主动关闭仓库 git 配置中的 hooks、fsmonitor 与 diff/filter/ssh 程序。 - MIT 许可、无需账号,且同时支持 Claude Code、Codex、Gemini CLI、OpenCode、pi、Oh My Pi 与 Cursor CLI 多家 agent。
- README 自述 macOS 与 Windows 构建较新、使用较少,日常验证主要在 Linux 上进行,跨平台稳定性存在不确定性。
--guard仅做命令文本匹配,脚本中间接推送可以绕过;其对 git 配置的过滤也被明确说明不是沙箱边界。- 行内批准只在能识别屏幕表单时生效,编辑、fetch 等未上报命令的提示仍需人工打开标签阅读。
- 手机访问默认只能本机可达,需自行配置网络地址(如 Tailscale);推送通知还要自备手机信任的证书。
- 需要为每个 agent 安装并信任钩子,Codex 还须手动执行
/hooks;钩子缺失时状态与行内批准能力会退化。 - 大量功能(fleet 模式、worktree 端口、staging 单块提交)依赖 config.toml 与设置页的若干前提,需阅读文档才能配好。
这个 Agent 与同类方案有什么区别?
README 将自身定位为 tmux 的替代(topics 中列有 tmux-alternative),并说明会话机制与 tmux 类似;此外只把 IDE/终端中直接运行 claude 或 codex 作为对照场景,未点名其他具体竞品。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| pitwall 当前 | 70 · 存在缺口 | — | ★ 18 | 今天 | Go | Codex · Claude Code |
| Zeroshot 工程验证循环 | 63 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 2.1k | 今天 | Rust | Codex · Claude Code |
| acpx | 57 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 3.4k | 3 天前 | TypeScript | Codex · Claude Code |
| Runner 多 Agent 协作终端 | 82 · 存在缺口 | 桌面应用免费 | ★ 455 | 今天 | Rust | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
文档明确承认 pitwall 以用户权限启动 shell 与 agent、不做沙箱,--guard 只是按命令文本匹配的'安全带',且仓库 .git/config 可注入程序只能部分缓解,故 least_privilege 仅 1。用户确认方面有 Install hooks 的 --dry-run、仓库 teardown 命令每次需确认、删除共享 worktree 需 --force 与警告,但默认仍会执行大量自动动作,给 2。数据流透明:日志不记录屏幕内容/输入/prompt、手机端无账号无中继、推送经浏览器服务加密,说明较清楚,给 2。敏感数据处理:日志 0600/0700、密钥脱敏、crash.log 提示先审阅,但终端输出与保存会话仍可能泄露私有数据,给 2。依赖安全:go.mod 使用多个伪版本与未固定 commit 的依赖,且 replace 到本地 third_party,未见依赖审计或漏洞扫描证据,给 1。外部影响:更新、worktree 删除、teardown 等有失败保留与提示,给 2。回滚:Undo turn、handoff 失败保留旧 daemon、更新失败不安装,给 2。来源归属:MIT 与 Quantic Studios 版权行存在,但发布者未经 FollowAgents 验证,安装脚本从 raw main 管道执行,给 1。
自洽性:README、install、config、usage、troubleshooting 对状态、更新、handoff 的描述基本一致,给 2。依赖可用性:go 1.27.1 与多个伪版本依赖、vendored 模块,构建需 mise 与大量系统头文件,未见锁定校验,给 1。失败信息:doctor 逐行检查并给出修复命令、stall 文件、handoff 失败原因、teardown 失败保留 worktree,证据充分,给 3。
受众与场景:面向多 agent 并行的开发者,场景覆盖审批、手机、worktree、fleet、成本,给 3。能力边界:明确列出各 agent 支持的状态、无 hooks 时的降级、pi/Oh My Pi/Gemini/Cursor 的限制,给 3。触发精度:Ctrl+Shift+U 跳转、Allow/Deny 需屏幕仍显示同一 prompt、多行命令一律拒绝,设计精细;但屏幕识别与 quiet 检测存在误判空间,给 2。环境适配:Linux 每日使用,macOS/Windows 新且未充分运行,Windows 无 handoff、通知受限,给 2。
信息架构:README 分节清晰,docs 下 install/config/usage/troubleshooting/phone/remote 分工明确,给 3。安装说明:brew、curl、scoop、PowerShell、源码构建、版本固定、PATH 说明齐全,给 3。命名稳定性:版本 v0.1.N 仅递增 patch,配置键有旧名 auto_send_failures 兼容,但 alpha 阶段协议与状态可能变动,给 2。示例与 FAQ:大量命令示例、截图、troubleshooting 问答,给 3。已知限制:macOS/Windows 缺口、无 hooks 状态缺失、keep awake 限制均明列,给 3。许可证:MIT 全文存在,给 3。版本与变更:有 CHANGELOG 强制 CI 检查与 v0.1.N 标签说明,但未见实际 CHANGELOG 内容,给 2。维护责任:SECURITY.md 指向 @quanticstudios,但发布者身份未验证、无响应时限承诺,给 1。
输出可用性:侧边栏状态、行内审批、review 评论、doctor 输出均直接可用,给 3。边际价值:相比 tmux 加多终端,提供状态聚合、手机审批、worktree 端口隔离与冲突雷达,价值明确但依赖用户已用多 agent 工作流,给 2。成本收益:免费 MIT、无账号,但需安装 hooks、配置较多、macOS/Windows 尚不成熟,给 2。
声明可追溯:README 声明多能对应到 docs 与代码路径(如 internal/session/opencode/README.md、docs/handoff.md),给 2。交叉印证:install、config、usage、troubleshooting 相互印证更新与 handoff 行为,CI 配置印证测试与 changelog 检查,给 2。事实与推断分离:文档多处标注'unverified'、'not yet run',区分已测与未测,给 2。
- pitwall 以用户权限运行 agent,不做沙箱;--guard 仅按命令文本匹配,脚本内命令可绕过,不能视为安全边界。
- 安装脚本从 raw main 分支通过 curl | sh 或 irm | iex 执行,且发布者身份未经 FollowAgents 验证,建议先审阅脚本或使用包管理器。
- macOS 发布二进制未签名未公证,Windows 与 macOS 构建'新且未充分使用',生产使用需谨慎。
- go.mod 使用多个伪版本依赖与本地 replace,未见依赖漏洞扫描证据,需自行审计供应链。
- 屏幕识别与 quiet 检测可能误判 agent 状态,行内 Allow/Deny 对无上报命令的 prompt 不做比对,需人工确认。
常见问题
pitwall 本身收费吗?需要账号吗?
使用它会把代码或数据上传到服务器吗?
pitwall --host 时,会话跑在你 ssh 到的另一台机器上。侧边栏的行内 Allow 会不会误批?
它能限制 agent 执行危险命令吗?
--guard 会让 Claude Code、Codex、pi、Oh My Pi 和 OpenCode 1 拒绝 git push、gh pr merge、terraform apply 这类本应由你执行的命令;但它只读取命令文本,不构成沙箱,agent 仍可能以你的身份运行其他程序。关掉窗口或重启后,正在跑的 agent 会丢失吗?
pitwall --host 之外的本地会话仍受本机关机影响。