このツイートを見て気になったのでしばらく試している。
これまでの開発環境
VSCodeとその内臓ターミナルでだいたいの作業を行っていた。 AIエージェントを使うようになっても、そこまで大きな不満はなかったのでそのまま使っていた。
Herdr
いわゆるターミナルマルチプレクサ。 Agent-nativeを謳っており、Agent管理のための機能がデフォルトで搭載されている。
HerdrとHunkの連携
Hunkというdiff viewerと同時に使っている例が多かったため、同時に試してみる。
あまりしっくりくるプラグインがなかったのでこんな感じの仕組みを作った。 とても公開できる出来ではないのでアイディアだけ書いておく。
- 比較対象 (diff/branch/commit) をfzfで選択
- 場所 (split/new tab/overlay) を選択
- Hunkを起動
表示場所の選択については[[keys.command]]のtypeもherdr CLIも微妙に機能が足りず、pluginを作成して--placementで指定するようにした。
v0.7.5時点での話なので変わってるかも。
タブ名を作業内容にする
サイドバー上では同workspaceのエージェントを区別しにくく、セッション名を表示する機能がないか調べていた。 そんな機能はなさそうだが同じことを考えていた人はいた。
参考にしつつざっくりと以下のような仕組みを作ったが、いろいろと大変だった。 これもアイディアだけ書いておく。
- 適宜セッションタイトルを取ってきたり生成したりして、タブ名に設定
/exitしたらタブ名をリセット
ついでに、ui.sidebar.agents.rowsとsidebar_min_widthをいじってタブ名を広く表示するようにするといい感じだった。
感想
いい感じに使えていると思う。 だいたいの作業がHerdr上で行えており、VSCodeは集中してファイルを読みたいときのみ起動している。 こうなると、起動が早いらしいZedも気になってくる。
個人的にはデフォルト状態で十分使えるというのが好感触だった。 tmuxなどでもやろうと思えば再現できるのかもしれないが、必要十分な機能がデフォルトで用意されていて、かつメンテナンスされていくというのは嬉しいポイント。