エージェント
見つかったすべてのエージェントに Unterm を MCP サーバーとして登録し、グローバルコンテキスト(CLAUDE.md、AGENTS.md、GEMINI.md)に短い説明を加え、状態を報告するライフサイクルフックを設定します。
unterm-cli setup-ai --dry-run # what would change
unterm-cli setup-ai # register with every agent found
--client claude-code(複数指定可)で対象を絞れます。--remove ですべて元に戻せます。
Ctrl Shift A と同じ受信箱をコマンドラインで。--json を付ければステータスバーや通知、cron に流せます。
unterm-cli agent inbox
# just the ones waiting on you
unterm-cli --json agent inbox \
| jq -r '.items[] | select(.state=="waiting") | "\(.agent): \(.task_hint // .pane_title)"'
出力
PANE AGENT STATE FOR TAB TASK
3 ✋ codex waiting 23s 2 Partition the ledger tables
4 ✓ claude done 13s 3 Fix the flaky checkout e2e test
2 ⚡ claude working 27s 1 Add rate limiting to /v1/charge
codex: Partition the ledger tables
状態は waiting、done、working、idle。待機中が先頭に並びます。
Unterm はタイトルと画面からエージェントの状態を読み取ります。エージェント自身のフック(Claude Code hooks、Codex notify、Aider の通知コマンド)はより正確で、質問した瞬間に「待機中」と伝えます。
unterm-cli agent enable-hooks --dry-run
unterm-cli agent enable-hooks
setup-ai は既にこれを行います。これはフックだけを入れる方法で、--remove で外せます。
各メンバーに専用の git worktree、ブランチ、タブ。差分を比べ、それぞれの worktree でチェックを走らせ、1 つをマージして残りは破棄します。
cd ~/code/payments-api
unterm-cli fleet launch --cwd "$PWD" --agents claude,codex \
-- "add an idempotency key to POST /v1/charge"
unterm-cli review diff --fleet add-an-idempotency-key --member 1 --stat
unterm-cli review verify --fleet add-an-idempotency-key --member 1 --command "cargo test"
unterm-cli review merge --fleet add-an-idempotency-key --member 1
unterm-cli review discard --fleet add-an-idempotency-key --member 2
unterm-cli fleet clean add-an-idempotency-key
出力
fleet add-an-idempotency-key launched — 2 member(s)
claude fleet/add-an-idempotency-key-1 ~/code/payments-api.fleet/add-an-idempotency-key-1
codex fleet/add-an-idempotency-key-2 ~/code/payments-api.fleet/add-an-idempotency-key-2
+? -0 idempotency.rs (new)
verification verify-1790326294259-0 queued: cargo test
merged fleet/add-an-idempotency-key-1 — staged in ~/code/payments-api (commit it yourself)
member 2 of add-an-idempotency-key discarded
fleet add-an-idempotency-key cleaned
マージはステージ済みで残る squash で、コミットはあなたが行います。メンバーの未コミットの変更も含まれます。シェルから起動するときは --cwd を付けてください。付けないとフォーカス中のペインのフォルダが使われます。
コマンドはペインにゴーストテキストとして現れます。Tab で採用、入力を続ければ無視——あなたなしでは何も実行されません。
unterm-cli session suggest post --rationale "tests passed" \
-- "git push origin feat/rate-limit"
unterm-cli session suggest list
出力
Suggestion: sg_1790324293038_1
Status: queued
SUGGESTION PANE AGENT TEXT
sg_1790324293038_1 5 anonymous git push origin feat/rate-limit
session suggest list で保留中を確認、cancel で取り下げ。
スクリプト
あなたの環境を持つ本物のシェルが必要なスクリプト向け:正しいフォルダにタブを作り、コマンドを実行して終了を待ち、画面を読みます。
P=$(unterm-cli session create --cwd ~/code/infra | awk '/^Pane:/{print $2}')
unterm-cli exec wait --pane-id $P --timeout-ms 600000 -- "git log --oneline -3 && ls"
unterm-cli session text --pane-id $P | tail -20
出力
2f1cf7d (HEAD -> main) init
README.md
exec wait は終了時に出力を返し、exec run は投げっぱなしです。
作業中のペインの下にログの tail やテストの監視を置く。マウスは不要です。
unterm-cli session split --direction down --size-percent 35 --cwd ~/code/web-dashboard
出力
Pane: 6
Title: /bin/zsh
Direction: down
方向は right、left、down、up。
起動中の Unterm にはそれぞれ名前——alpha、bravo……——があり、どの CLI コマンドも宛先を指定できます。
unterm-cli instance set-title "payments on-call"
unterm-cli instance list
unterm-cli --instance bravo agent inbox
unterm-cli instance set-title --clear
出力
Title: payments on-call
ID PID MCP HTTP CWD TITLE
alpha 1383 49173 19877 payments on-call
--instance を省くと、アクティブなインスタンスに送られます。
127.0.0.1 上の TCP で行区切りの JSON-RPC。ポートとトークンはインスタンスファイルにあります。まずログインし、151 のメソッドのどれでも呼べます。
J=~/.unterm/server.json # %USERPROFILE%\.unterm\server.json on Windows
PORT=$(jq .mcp_port $J); TOKEN=$(jq -r .auth_token $J)
{ printf '{"jsonrpc":"2.0","id":1,"method":"auth.login","params":{"token":"%s"}}\n' "$TOKEN"
printf '{"jsonrpc":"2.0","id":2,"method":"agent.status"}\n'
sleep 1; } | nc 127.0.0.1 "$PORT"
出力
{"id":1,"jsonrpc":"2.0","result":{"status":"ok"}}
{"id":2,"jsonrpc":"2.0","result":{"agents":[{"agent":"codex","pane_id":3,"state":"waiting",…},…],"enabled":true}}
unterm-cli reference で全メソッドを一覧。MCP クライアントは unterm-cli mcp-stdio ブリッジも使えます。
保存と共有
エスケープコードなしのプレーンテキスト:最後の N 行、またはプロジェクトとシェルの情報を先頭に記した Markdown でセッション全体を。
unterm-cli scrollback --pane-id 2 --tail 200 > last-run.txt
unterm-cli session export --pane-id 2 -o session.md
出力
---
unterm_session_id: e2320821-38dc-4148-b94f-9bd4eef56357
tab_id: 2
project_path: ~/code/payments-api
project_slug: payments-api
--escapes で色を残し、--start-line/--end-line で範囲を選べます。
ペインが出力したすべてを 1 枚の縦長 PNG に。画面外でレンダリングするので、ウィンドウが隠れていても動きます。
unterm-cli screenshot --scrollback --pane-id 2 -o pane.png
--max-rows で上限を設定。macOS では --scroll-app Safari で他のアプリのウィンドウも同様に撮れます。
コマンドと出力を秘匿化し、プロジェクト内の .unterm/sessions に保存——Unterm はこのフォルダを git に無視させます。
unterm-cli session record start
# … work in the pane …
unterm-cli session record stop
unterm-cli sessions list
unterm-cli sessions read <session-id>
出力
Session id: next-core-5-1790324289544601
Block count: 4
Markdown: ~/code/infra/.unterm/sessions/1790324289544601/tab-5-1790324289544601.md
Exit reason: recording_stopped
sessions list --project <slug> で 1 つのプロジェクトに絞れます。
名前付きのタブとフォルダのセット。再起動後や翌日の作業で復元できます。
unterm-cli workspace save morning
unterm-cli workspace restore morning --dry-run
unterm-cli workspace restore morning
出力
Workspace: morning
Sessions: 6
Workspace: morning
Planned: 6
--dry-run は何が開くかを表示するだけで、実際には開きません。
自分好みに設定
プロファイルはトークン、git の身元、SSH 鍵を持ちます。シークレットはシステムのキーチェーンに保管され、そのプロファイルのタブにだけ環境変数として現れます。
unterm-cli profile create "Work — Acme" --accent "#E8B34B"
unterm-cli profile set-secret "Work — Acme" GITHUB_TOKEN # asks for the value
unterm-cli session create --cwd ~/code/acme --profile work-acme
出力
Created profile "Work — Acme"
ID: work-acme
Stored GITHUB_TOKEN in keychain for profile work-acme
プロファイルのシークレットを初めて読むとき、macOS がキーチェーンへのアクセスを一度だけ尋ねます。パスワードマネージャーからは --from-stdin でパイプできます。
コマンドパレットを開き「New Administrator Window」を選ぶと、UAC の確認のあと、独立した昇格済みの Unterm が開きます。
通常のウィンドウとは何も共有しません——Core も MCP サーバーも設定ページもなし——なので、あなたの権限で動くプログラムが昇格したシェルに入力することはできません。タイトルは「Administrator:」で始まります。
設定は ~/.unterm/unterm.conf にあります。知っておくと便利なもの:
font_size = 14
[window]
padding_left = 16
padding_right = 16
backdrop = "mica" # Windows 11
[cockpit]
done_hold_secs = 30 # how long a finished agent stays marked
unterm-cli settings open でブラウザの設定ページを開くこともできます。
変更したものも含む完全な一覧は unterm-cli show-keys。
| CtrlShiftP | コマンドパレット |
| CtrlShiftA | エージェント受信箱 |
| CtrlShiftAltA | フリートを起動 |
| CtrlShiftS | クイック選択:ラベルでパス、ハッシュ、URL をコピー |
| CtrlShiftJ | コンポーザー:長いプロンプトを書き、ペインが空いたら送信 |
| CtrlShiftG | Git パネル |
| CtrlShiftD / E | 右 / 下に分割 |
| CtrlShiftZ | フォーカス中のペインを拡大 |