Transcript
00:00:00「Herder」は、普段使っているターミナル内で動作するエージェントのマルチプレクサです。
00:00:05複数のコーディングエージェントを隣り合わせのペインやタブで実行し、
00:00:10どれが稼働中で、どれが停止中か、あるいは完了したかを把握できます。単一のRustバイナリで
00:00:15システム通知機能も備えています。Electronも不要で、別のアプリを立ち上げる必要もありません。巧妙な方法でSSH上でも動作します。
00:00:20人気の「zellij」のようなツールがある中で、なぜわざわざHerderを使うのでしょうか?チャンネル登録して、その理由を探っていきましょう。
00:00:28Herderを開発したのはogle-can-celixという開発者です。2000年代初頭のファンだから
00:00:34名前から「e」を抜いたのではないかと推測していますが……それはさておき、Herderは
00:00:39羊飼いのように複数のエージェントを束ねるためのツールです。これは、開発にAIを利用している
00:00:45ほとんどの開発者にとって共通の課題です。なぜなら、各エージェントの
00:00:49状況を把握し続けるのは難しいからです。Herderは、ターミナルマルチプレクサである「tmux」から
00:00:54多くのインスピレーションを得ています。tmuxはタブや分割ペイン、セッションの永続化が可能ですが、
00:01:00AIエージェントが存在する何十年も前に作られたものです。そのため、そのペイン内で
00:01:06エージェントを動かしても、それが存在することすら把握できません。だからこそWarpやzellijのようなツールが存在し、
00:01:12普段のターミナルから離れて専用アプリを使う必要があり、独自のワークフローを学ぶ手間が発生します。
00:01:18そこでogle-can-celixは、その両方を実現するためにHerderを作りました。tmuxの永続性に、エージェントの状況把握機能を
00:01:24組み込んだのです。HerderはRatatuiで構築された単一のRustバイナリであり、すべては
00:01:29ターミナルへのテキスト描画で行われるため、ターミナルが使える場所ならどこでも動作し、SSH経由でも利用できます。
00:01:35さらにソケットAPIもあるので、エージェント自身がHerderを操作することも可能です。これは本当に驚くべき機能です。
00:01:40では、クイックデモを見ていきましょう。Homebrewやcurl、あるいは
00:01:46Nix flake(個人的に追加されて嬉しいオプションです)でインストールした後、`herder`コマンドを実行するだけで、
00:01:50ターミナル、いくつかのワークスペース、そしてエージェントを表示するこの画面が表示されます。少しズームしているので、
00:01:56すべては見えませんが、Herderの良さを精一杯お見せします。現在ワークスペースはありません。デフォルトでは
00:02:00tmuxと同様に、プレフィックスキーは「Ctrl + b」になっていますが、変更方法は後ほど説明します。
00:02:05プレフィックスは既に有効化されており、下のナビゲーションバーで確認できます。
00:02:10そこで「Shift + n」を押すと、新しいワークスペースが作成されます。もちろん
00:02:14キーボードだけで操作可能です。プレフィックスと「?」を押せば、すべてのキーボードショートカットを確認できますが、
00:02:19マウスを使うこともできます。新しいタブを「2」という名前で作成し、
00:02:23右クリックでタブを閉じたり、ワークスペース名を「test」に変更したりできます。新しいワークスペースを作ったり、メニューから設定にアクセスしたりも可能です。
00:02:28さらに、水平・垂直分割の作成や、特定のペインの名前変更、ペイン間の移動なども、
00:02:34すべてマウスで行えます。ですが、Herderの真の売りは、エージェントとの対話機能です。
00:02:38現在はbashを使っていますが、fishが好きなので両方のターミナルを変更します。
00:02:43そして上のペインで「Claude Code」を、下のペインで「Codex」を開きます。
00:02:46すると、Herderが自動的にエージェントを検知し、ステータスを表示してくれました。
00:02:51Claudeは「ブロック中」、Codexは「待機中」と出ていますね。ディレクトリへのアクセス権を与えてみましょう。
00:02:55両方に「今どのモデルを使っているか」というプロンプトを投げてみると、
00:03:00Herderが即座に更新され、Claudeが稼働中であることが分かります。これはCodex CLIでも同様です。
00:03:05ワークスペースを間違えたようなので、削除して「test」という名前に変更します。
00:03:09Herderでは、エージェント側からワークスペースやタブ、分割画面を作ることもできます。
00:03:15一度Herderから抜けて(プレフィックスと「q」を押します)、CLIの全オプションを見てみましょう。
00:03:20再びHerderに戻ると、元のワークスペースとエージェントの状態が完全に保持されています。
00:03:24これが非常に強力なポイントです。では、新しいワークスペースを作り、
00:03:29ディレクトリに移動してからClaude Codeを開きます。ここで
00:03:34Herder CLIを使って、Claude Codeを2つ起動するよう指示してみます。
00:03:38一つはプロジェクト最大のファイルを要約するプロンプト、もう一つは
00:03:44コードベース内にハードコードされたAPIキーや秘密情報を検索するプロンプトです。
00:03:49新しいペインが立ち上がりました。見やすいようにズームアウトしますね。もう一つの処理も始まりました。
00:03:54上へスクロールすると、一つは完了したようです。エージェントにも
00:03:58適切なタイトルが付いていますね。「Claude secrets」「discord」のように。APIキーは見つからなかったようです。
00:04:03ここから両方のペインの出力を要約させ、Claudeに閉じるように指示できます。
00:04:09最初のペインの情報を取得して閉じ、もう片方も同じように処理しています。
00:04:14両方閉じましたね。最後に素敵な要約を返してくれました。
00:04:18Herderはターミナルにインストールする単なるバイナリなので、
00:04:23Macと同じようにLinuxサーバーにSSHしてHerderをインストールすれば、
00:04:28先ほど開いたセッションが復元されます。codeを開いているペインと、
00:04:32Vimでコードを確認しているペインがそのままです。ただし問題は、
00:04:36ローカルのMacで行っていた設定が引き継がれないことです。設定ファイルはシンプルで、
00:04:41正直に言うと、設定はそれほど多くありません。キーを
00:04:45高度なキーボードショートカットをたくさん設定している場合、これは面倒になります。
00:04:50これを回避する方法が、Herderの「リモートフラグ」を使って
00:04:55直接サーバーにSSH接続することです。その仕組みを説明します。
00:05:01Herderはサーバーと、Unixソケットで通信する薄いクライアントで動作します。
00:05:06クライアントがサーバーにキー入力を送り、サーバーがタブやペイン、セッションの永続化を管理します。
00:05:11SSHの「remote」モードでは、サーバーはリモートマシン上で動き、
00:05:18クライアントはローカルで動きます。キー入力はUnixソケット経由でリモートサーバーに送られます。
00:05:24サーバーはリモートマシンのファイルをクライアントに表示し、
00:05:30ですがクライアント自体は、接続先のローカルマシンにある設定をすべて利用できます。
00:05:35SSHマシンに接続すると、先ほど見ていたコードが開かれています。
00:05:40ここで「Ctrl + b」を押しても何も起きません。Mac側の設定が反映されており、
00:05:45「Ctrl + space」でプレフィックスが効くようになっています。
00:05:49メニューを見てみましょう。キーバインドの確認以外にも、テーマの変更が可能です。
00:05:54NordからCatppuccinまで多彩なテーマがあり、サウンド通知や
00:05:59トースト通知の設定も可能です。紹介しきれなかった機能もまだたくさんあります。
00:06:04Worktreeとの統合や、公式エージェントプラグインなどもあって、
00:06:10Herderを閉じる直前のセッションを正確に再開できます。何より
00:06:15普段使いのターミナルで動作するというのが最大の売りです。私は
00:06:19zellijも大好きですが、普段の設定をそのままに、エージェントを管理するために
00:06:24ターミナルの新しいタブでHerderを立ち上げるだけでいいというのは最高です。
00:06:29zellijのブラウザ機能は少し恋しいかもしれませんが、あまり使っていなかったので問題ありません。
00:06:35Windowsユーザーの方には残念なお知らせですが、Unixソケットと
00:06:39ターミナルPTYの仕組み上、Windowsでの動作は現在サポートされていません。
00:06:45ですが、これを機にLinuxのデュアルブートに踏み切るのもいいかもしれませんね。
00:06:50そして今これを見ているWindowsユーザーの方には、残念なお知らせがあります。
00:06:54Unixソケットの問題と、Herderが端末のPTYを使用しているという事実により、
00:06:59動画が役に立った方はチャンネル登録をお願いします。
00:07:04それではまた。
Community Posts
No posts yet. Be the first to write about this video!
Write about this video