开源终端工具 aq 面向同时运行多个 Claude Code 会话的用户,把待审阅的代码差异(diff)、待批准的编辑、权限提示和 agent 提问集中到一个队列,一次显示一张卡片。据项目 README,作者在 tmux 中运行多个会话时,经常分不清哪个正在等待自己处理,这也是开发 aq 的起因。
aq 会监视各个会话,将需要用户处理的事项加入队列。用户正在处理一张卡片时,新卡片会排队等待,不会抢占屏幕。如果用户转到原会话窗口回答,当前卡片仍会保留,并标记为「answered elsewhere」,直到用户按键。
据 README,aq 通过 Claude Code 的 hooks 接入,也能连接已经在 tmux 中运行的会话。如果 aq 没有运行,这些 hooks 不执行操作,Claude 仍照常工作。
每个项目可以单独设置模式,按 M 切换。README 列出了四种方式:
s 一次性发送全部评论,按 a 批准。y 放行,按 n 附理由打回。提问卡片适用于所有模式。会话要求批准草稿或选择方案时,用户可以在卡片中回复;遇到 Claude 自带的选项菜单,也可以用数字键选择,答案通过 hook 返回会话。
没有待办时,aq 会显示各会话的标签页,以及所选会话的实时画面。用户可以发消息、询问进度、切换模型或权限模式,也能按 N 在同一项目中创建新的 Claude 会话。新会话会使用独立的 tmux 窗口,还可选择为其创建单独的 git worktree。
项目使用 Rust 编写,在 Linux 的 tmux 环境中运行,采用 MIT 许可。README 推荐将安装提示词交给 Claude Code,由其下载二进制文件或从源码安装,再把三个 hooks 合并到 ~/.claude/settings.json。
这段提示词要求先备份配置、保留已有 hooks、跳过重复项,并在保存前展示 diff;还要求检查 tmux 是否安装,以及哪些正在运行的会话需要重启才能加载 hooks。