mozyo-bridge for VS Code
herdr のセッションを VS Code の editor 領域に端末として開き、並べて使うための拡張です。AI の coding agent を herdr の中で何本も動かしているときに、どのセッションで agent が入力を待っているかを sidebar で一覧し、クリック 1 つでその端末へ移れます。mozyo-bridge と組み合わせると、作業ごとの進み具合 (誰の手番か、どれだけ止まっているか) も同じ画面に出ます。
この拡張は preview 版です。設定名や表示は今後の版で変わることがあります。
できること
- セッションの一覧: herdr のセッションを project → unit → role の木で sidebar に出します。各行に agent の状態 (作業中 / 入力待ち / 確認待ち など) と、開いている端末の数を出します。
- editor 領域に端末を開く: 行をクリックすると、editor 領域に端末を開いて
herdr --session <名前> でセッションにつなぎます。既に開いているセッションは新しく開かず、その端末を前に出します。
- 格子に並べる: 選んだセッションを editor 領域の格子にまとめて開きます (「グリッドで開く」)。
- 配置の保存と呼び出し: 並べた端末の配置に名前を付けて保存し、後で同じ形に開き直せます。
- キーボードで移る:
Ctrl+Alt+J (mac は Cmd+Alt+J) でセッションの一覧を出し、名前や状態で絞り込んで移れます。
- 手が要る agent の数: 確認待ちと入力待ちの agent の数を status bar に出します。
- VS Code が先に取るキーを端末へ通す: herdr の端末に focus があるときだけ、
Ctrl+P / E / K / G / J / F / R / W を端末の中の program へ渡します。キーごとに止められます。
- 作業の段の印 (mozyo-bridge を使うとき): 作業ごとの段を 🟩 作業中 / 🟦 次の手待ち / 🟨 承認待ち / 🟥 待ちすぎ・エラー / ⬜ 判定できない の印で出します。印は mozyo-bridge が判定したものをそのまま出し、拡張は判定しません。
- owner の受け箱 (mozyo-bridge を使うとき): 人の手を待っている作業だけを、一覧とは別に一番上に並べます。新しく入った作業は 1 回だけ通知します。
- 経過時間 (mozyo-bridge を使うとき): 作業ごとに、最後の記録からどれだけ経ったかを長い順に並べます。止まっている作業を目で見つけるためのものです。
画面の文言は、VS Code の表示言語が日本語なら日本語、それ以外では英語で出ます。
前提と入手方法
| 必要なもの |
いつ要るか |
入手方法 |
| VS Code 1.90 以降 |
常に |
— |
| herdr |
常に。端末を開くのは herdr の client です |
公式サイト herdr.dev の手順で入れます (下の「herdr の入れ方」)。herdr を PATH に置くか、設定 mozyoBridge.herdrPath に実行ファイルの絶対 path を書きます。 |
| mozyo-bridge 3.50 以降 |
作業の一覧を mozyo-bridge から読むとき、作業の段の印・owner の受け箱・経過時間を使うとき |
PyPI の mozyo-bridge を入れます (例: pipx install mozyo-bridge)。mozyo-bridge を PATH に置きます。 |
- mozyo-bridge が無くても、セッションの一覧 (手で書く一覧の file から読む形)、端末を開く・並べる・配置の保存・キーの通し方は使えます。段の印・受け箱・経過時間は、mozyo-bridge が無ければ何も出さないだけで、ほかの機能には影響しません。
- Remote-SSH などの remote で使うときは、herdr と mozyo-bridge は接続先の機械に入れます。
herdr の入れ方
herdr はこの拡張とは別に配布されています。入れ方は配布元の手順を正とします。
配布元の README に書かれている入れ方の例 (どれか 1 つ):
curl -fsSL https://herdr.dev/install.sh | sh # install script
brew install herdr # Homebrew
mise use -g herdr # mise
Windows 用の手順と実行ファイルも配布元にあります。入れたら herdr --version で版が出ることを確かめます。拡張の計測は herdr 0.9.1 で行いました。この README を書いた時点 (2026-10-26) の最新版は 0.9.5 です。
最初の設定
一覧の読み元を設定 mozyoBridge.sessionSource.kind で選びます。
mozyo-bridge の作業の一覧から読む
mozyoBridge.sessionSource.kind を sublaneUnits にします。
- mozyo-bridge を使っている repository を VS Code の folder として開きます。拡張は最初の workspace folder で
mozyo-bridge sublane units --json --repo <folder> を実行し、10 秒ごとに読み直します (command は mozyoBridge.sessionSource.unitsCommand で変えられます)。
- 作業の段の印・受け箱・経過時間は、既定 (
mozyoBridge.gates.source が unitBoard) のまま、mozyo-bridge herdr unit-board client --watch の出力から読みます。止めるときは off にします。
- herdr の pane の外で VS Code を起動していて、mozyo-bridge が目当ての herdr の server を見つけられないときは、
mozyoBridge.herdrSocketPath にその server の socket の絶対 path を書きます。
手で書く一覧の file から読む
mozyoBridge.sessionSource.kind を mockManifest (既定) のままにし、mozyoBridge.sessionSource.manifestPath に次の形の JSON file の path を書きます。state が "ready" の行だけを出します。
{
"schema": "mozyo-bridge-vscode.mock-manifest/v1",
"sessions": [
{
"name": "api-worker",
"project": "api",
"unit": "feature-a",
"role": "worker",
"state": "ready",
"attach": { "argv": ["herdr", "--session", "api-worker"], "env": {} }
}
]
}
attach.argv は端末で実行する command で、shell を通さず配列のまま実行します。file が書き換わると読み直します。
主な view
activity bar の mozyo-bridge に 4 つの view が出ます。
| view |
内容 |
| owner の受け箱 |
人の手を待っている作業。行をクリックすると、その作業の端末を最初の editor group に開きます。 |
| 経過時間 |
作業ごとの最後の記録からの経過時間。行をクリックすると、その作業の端末を最初の editor group に開きます。 |
| セッション |
セッションの木。行をクリックすると端末を開きます。右クリックで格子に並べる、2 本目の接続を開く、などを選べます。 |
| 開いている端末 |
拡張が開いた端末の一覧。クリックでその端末を前に出します。 |
主な command
コマンド パレットで mozyo-bridge: と打つと出ます。
| command |
何をするか |
| セッション一覧を更新 |
一覧を読み直します。 |
セッションへ移る (Ctrl+Alt+J) |
セッションを選んで、その端末へ移ります。開いていなければ開きます。 |
| 手が要る agent のセッションへ移る |
確認待ち・入力待ちの agent のセッションだけから選びます。 |
| 端末の配置を保存 / 保存した端末の配置を開く / 保存した端末の配置を削除 |
editor group の並びと各端末の場所を、workspace ごとに名前を付けて保存・復元・削除します。 |
| この端末の大きさで描き直す |
同じセッションを大きさの違う画面で開いているとき、今の端末の大きさで描き直させます。 |
| unit を選んで herdr の画面ごと開く |
herdr のセッションに pane が複数ある unit を、herdr の pane の並びのまま開きます。 |
| herdr の端末の開き方を診断する |
端末を開いてすぐ閉じられる不具合の切り分けのために、開き方を変えて試し、結果を出力 panel に書きます。1 分ほどかかります。 |
主な設定
| 設定 |
既定値 |
内容 |
mozyoBridge.sessionSource.kind |
mockManifest |
一覧の読み元。mockManifest (手で書く file) か sublaneUnits (mozyo-bridge)。 |
mozyoBridge.sessionSource.manifestPath |
空 |
mockManifest の file の path。 |
mozyoBridge.herdrPath |
空 |
herdr の実行ファイルの絶対 path。空なら PATH とよく使う場所から探します。 |
mozyoBridge.herdrSocketPath |
空 |
mozyo-bridge に読ませる herdr の server の socket の絶対 path。 |
mozyoBridge.agentStatus.intervalSeconds |
3 |
agent の状態を herdr に問い合わせる間隔 (秒)。0 で止めます。 |
mozyoBridge.agentStatus.showInStatusBar |
true |
手が要る agent の数を status bar に出します。 |
mozyoBridge.gates.source |
unitBoard |
作業の段の印の読み元。unitBoard (mozyo-bridge)、mock (見本の file)、off。 |
mozyoBridge.gates.notify |
true |
作業が次の手待ち・承認待ちになったときと、受け箱に入ったときに通知します。 |
mozyoBridge.terminalKeys.enabled |
true |
VS Code が先に取るキーを herdr の端末へ通します。キーごとの設定もあります。 |
設定の一覧と説明は、VS Code の設定画面で mozyoBridge と検索すると見られます。
既知の制限
- 受け箱に統合待ちの作業が出ることがあります。 mozyo-bridge の出力によっては、review の承認後に統合を待っている作業も「承認待ち」として受け箱と経過時間に出ます。拡張は mozyo-bridge が出した値をそのまま出し、推測で外しません。
- pane が複数ある herdr のセッションは、クリックでは開きません。 開くと herdr 自身の pane の並びと画面がそのまま端末に映るためです。それでも開くときは、行の右クリックの「herdr の画面ごと開く」を使います。
- worker と reviewer を見るだけで並べる表示は、今は使えません。 今の mozyo-bridge の出力が pane を特定する情報を含まないためです。
- 経過時間の行の「この workspace の coordinator を開く」は、今は開かずに理由を知らせます。 mozyo-bridge の出力に、作業がどの workspace のものかを示す情報が無いためです。
- 同じセッションを 2 つの端末で開くと、画面の大きさを取り合います。 herdr はセッションごとに大きさを 1 つだけ持ち、最後に使った画面に合わせて描くためです。もう一方の画面では行が切れたり折り返したりします。「この端末の大きさで描き直す」で今の端末に合わせられます。
- herdr の端末の tab には段の印を出せません。 VS Code の API では、作った後の端末の名前や色を拡張から変えられないためです。
- 一画面に並べられる数には限りがあります。 1 つの枠を 250×150 px 以上に保つため、入らない分は後ろの tab に開きます。
- 状態の表示 (agent の状態、段の印、受け箱、経過時間) は観測の表示です。作業が終わったか、review が通ったかの判定ではありません。
- 動作を主に確かめたのはブラウザ版の VS Code (
code serve-web) です。デスクトップ版は試験用の環境で一部を確かめただけで、実際のキーボードでのキーの届き方、日本語 IME での入力、Remote-SSH での切断と再接続は確かめていません。
- OS やデスクトップ環境が先に取るキー (IME の切り替えなど) は、拡張では端末へ通せません。
秘密と通信
拡張は秘密を保存しません。外部へ通信もしません。実行するのは herdr と mozyo-bridge の command だけで、どちらも shell を通さずに配列のまま実行します。
License
MIT