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 選擇器中直接預覽代理的螢幕。

相關

  • 專案
  • 專案
  • 專案
  • 專案