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)实时查看代理是working、waiting还是idle。 - 跨会话通知:当后台代理触发铃声时,当前窗口会以视觉高亮提示。
- 智能跳转:自动将客户端切换到代理启动的窗口并打开弹窗。
- 实时预览:在
fzf选择器中直接预览代理的屏幕。
相关
- 项目
- 项目
- 项目
- 项目