craftzdog/tmux-claude-hatch

tmux plugin that runs Claude Code sessions in popups per project directory, with an fzf picker showing each session's status and a bell that highlights the window that needs you.

解决的问题

该项目提供了一种在 tmux 中管理多个 Claude Code 代理会话的方法,使开发者能够在不离开主要编辑器(如 Neovim 或 Emacs)的情况下,在后台运行 AI 代理。它消除了频繁切换窗口或手动跟踪哪些代理正在工作、等待或空闲的需要。

工作原理

这是一组作为 tmux 插件运行的 shell 脚本。Claude Code 会话在嵌套的 tmux 会话中启动,然后以弹窗形式显示在当前窗口之上。

关键机制包括:

  • 会话管理:每个代理都有自己的嵌套会话,因此关闭弹窗不会终止进程。
  • 中央选择器:使用 fzf 列出所有正在运行的代理,并通过解析 claude agents --json 并使用 jq 来显示其实时状态(工作、等待或空闲)。
  • 铃声转发:将代理会话中的终端铃声转发到当前窗口,当代理需要关注时突出显示当前窗口以提醒用户。
  • 可选插件:配套的 Claude Code 插件可自动配置铃声和缓存刷新。

适用人群

使用 tmux 和 (Neo)vim 或 Emacs,并希望在专注代码的同时让 AI 代理在后台处理任务的开发者。

特色亮点

  • 弹窗界面:通过 tmux 弹窗(prefix + y)启动和连接 Claude 会话。
  • 实时状态追踪:通过中央选择器(prefix + u)实时查看代理是 workingwaiting 还是 idle
  • 跨会话通知:当后台代理触发铃声时,当前窗口会以视觉高亮提示。
  • 智能跳转:自动将客户端切换到代理启动的窗口并打开弹窗。
  • 实时预览:在 fzf 选择器中直接预览代理的屏幕。

相关

  • 项目
  • 项目
  • 项目
  • 项目