herdr(AIコーディングエージェント用ターミナルマルチプレクサ)の個人設定一式。
Emacsキーバインド常用者向けに、prefixを ctrl+b から ctrl+q に変更し、Alt系バインドを排除した構成。
- OSS: https://github.com/ogulcancelik/herdr / 解説: https://deepwiki.com/ogulcancelik/herdr
- 動作確認: herdr 0.7.5, macOS + Alacritty
- prefix =
ctrl+q: EmacsのC-q(quoted-insert)はほぼ使わないため犠牲に。C-b/C-a/C-t/C-zなどEmacs・シェルで実用のあるキーは回避 - Alt系バインドなし: Alacrittyで
alt_send_esc = true(Option = Meta)にしている前提のため、Alt直接バインドはEmacsと衝突する - 運用方針: ワークスペース=リポジトリ、タブ=1タスク1エージェント。状況把握は
prefix+bのサイドバー prompt_new_tab_name/prompt_new_workspace_name = trueで作成時に必ず名前を付ける- 入力待ちだけを巡回する
prefix+a: 多数のエージェントを並列で回すと「今どれが入力待ちか」を探すのが手間になる。標準のnext_agent/previous_agentはサイドバー一覧を単純に上下移動するだけで ✔(idle/done)にも止まるため、agent_status = blockedのペインだけを拾うカスタムコマンド(focus-attention.sh)を割り当てている
| 操作 | キー |
|---|---|
| ペイン分割(右 / 下) | prefix v / prefix - |
| ペイン移動 / 次ペイン / 直前ペイン | prefix h/j/k/l / prefix o / prefix Tab |
| ペインを閉じる / ズーム / リサイズ | prefix x / prefix z / prefix r |
| タブ新規 / 次・前 / 直接 / リネーム | prefix t / prefix n・p / prefix 1..9 / prefix , |
| WSピッカー / 上下移動 / 直接 / 新規 | prefix w / prefix ↑↓ / prefix Shift+1..9 / prefix Shift+N |
| デタッチ / サイドバー / ヘルプ | prefix d / prefix b / prefix ? |
| 入力待ちエージェントへ移動(順 / 逆) | prefix a / prefix Shift+A |
# herdr-config.toml を ~/.config/herdr/config.toml に配置(既存があればマージ)
herdr config check
herdr server reload-config # サーバー稼働中ならこれで即反映mkdir -p ~/.claude/skills/herdr
curl -fsSL https://raw.githubusercontent.com/ogulcancelik/herdr/master/SKILL.md \
-o ~/.claude/skills/herdr/SKILL.mdherdr integration install claudeClaudeの応答終了ごとに、herdrのタブ名をClaudeのセッションタイトルへ同期する。
要 jq。手動リネーム(prefix+,)は次のStopで上書きされる点に注意。
mkdir -p ~/.claude/hooks
# herdr-tab-title.sh を ~/.claude/hooks/ に配置
chmod +x ~/.claude/hooks/herdr-tab-title.sh~/.claude/settings.json の hooks.Stop に追加(既存エントリとマージ):
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "bash \"$HOME/.claude/hooks/herdr-tab-title.sh\"",
"timeout": 10,
"async": true
}
]
}
]
}
}prefix+a で「入力待ち(agent_status = blocked)のペイン」だけを巡回する。prefix+Shift+A は逆順。
該当ペインが無ければ何もしない。要 jq。
mkdir -p ~/.config/herdr/scripts
# focus-attention.sh を ~/.config/herdr/scripts/ に配置
chmod +x ~/.config/herdr/scripts/focus-attention.shherdr-config.toml 内の [[keys.command]] の command を自分の絶対パスに書き換える
(/Users/<you>/... の部分)。command 文字列で ~ / $HOME が展開されるかは未確認のため絶対パス推奨。
agent_status は idle / working / blocked / done / unknown の5値(herdr agent wait --until の
possible values で確認できる)。blocked が許可待ち・質問待ち。完了待ちの ✔ も拾いたい場合は
command の末尾に引数で done を足す(例: focus-attention.sh blocked done)。
# 手動実行での動作確認
~/.config/herdr/scripts/focus-attention.sh # 入力待ちがあればそこへフォーカス
herdr agent list | jq -r '.result.agents[] | "\(.pane_id) \(.agent_status)"'herdr config reset-keys # キーバインド初期化(config.tomlはバックアップされる)
herdr integration uninstall claude # 公式連携の解除