Kavor の Terminal:人と agent に見える実行環境
Terminal は Canvas 上の本物の shell です。使い慣れたコマンドを入力し、logs を追い、ツールを操作し続け ながら、Kavor がそのセッションにコンテキスト、可観測性、協力を加えます。
目的は実行をボタンの後ろに隠すことではありません。人と CodingAgent が、明確な境界の下で同じ見える環境を 使うことです。
Terminal が持つもの
各 Terminal は独自のセッション、shell、Node が保持する画面履歴を持ちます。アプリ、テスト、データベース、 logs、あなたが開いたリモートマシンなど責任が異なる場合、複数の Terminals が役立ちます。
プロセスは shell プロセスのままです。Kavor は表示された文字を成功に変換せず、すべてのコマンドを永続 タスクにせず、楽観的なメッセージが出ただけでツールが完了したと仮定しません。
単独でできること
Connections がなくても、Terminal は Workspace 内に shell を保ち、外部ウィンドウへの切り替えを減らします。 対話的なコマンド、長時間プロセス、同じ Canvas 上の複数セッションを利用できます。
Connections は shell を置き換えずに参加者と正規ソースを加えます。
グラフから得るもの
Terminal は四つの直接ペアを受け入れます。
| Connection | 追加されるもの |
|---|---|
| Terminal+CodingAgent | Agent は関連付けられたコマンドを実行し、プロセスを追跡し、画面や履歴を確認し、許可されたときに実行を中断できます。terminal_read_only を設定できます。 |
| Terminal+File | File の正規絶対パスを、選んだ環境変数としてエクスポートします。 |
| Terminal+Specification | Specification Markdown の正規絶対パスを環境変数としてエクスポートします。 |
| Terminal+Trigger | アクティブなセッションを Schedule のコマンドの直接の対象にします。 |
CodingAgent と Terminal が同じ到達可能コンポーネントにあるなら直接接続は不要です。ただし、特定 Agent を
観察だけに制限する terminal_read_only は直接 Connection に設定します。
キーボードを奪わない支援
Terminal は人を優先する共有領域です。CodingAgent は、あなたが入力中の文字にコマンドを重ねてはいけません。 入力が安全でなければ、行を壊さずに待機するか、処理すべき条件を返します。
Agent が開始した作業では、Kavor がコマンドと観察を関連付けます。Agent は結果を待ち、対応する実行を キャンセルし、見える状態を確認できます。既存セッションでは、現在画面、限定された tail、完全な buffer から適切な表示を選びます。
画面は「人が今何を見ているか」、tail は最近の logs、完全な buffer は履歴が本当に必要な調査に向きます。 毎回すべての履歴をコンテキストに流す必要はありません。
Files と Specifications をパスのコピーなしで使う
File または Specification との Connection は環境変数名を受け取ります。値はソースの正規絶対パスであり、 内容ではありません。
node "$IMPORT_SCRIPT" --input "$SOURCE_FILE"
markdownlint "$SPECIFICATION_FILE"
変数は Terminal セッション開始時に適用されます。shell を開いた後に Connection やパラメータが変わると、
新しい設定はセッション再起動後に入ります。TERM と COLORTERM はエミュレーターが予約しています。
CHECK_SQL、SPECIFICATION_FILE、IMPORT_SCRIPT のように責任を表す名前を使ってください。FILE の
ような一般名はグラフが大きくなると意味を失います。
三つの実用的なパターン
証拠を伴う実装
Specification、CodingAgent、Terminal を接続します。Agent は関係する検証だけを実行し、必要な output を 残し、結果を output として記録します。あなたは同じ shell を見て介入できます。
実行中アプリの診断
アプリを一つの Terminal、テストやクエリを別の Terminal に置きます。到達可能な CodingAgent が必要な画面や tail を読み、仮説を立て、範囲を限定したコマンドを実行します。Logs は見えるままで、調査はブラックボックスに なりません。
監督されたリモート操作
あなたが Terminal で SSH セッションを開きます。CodingAgent は許可された範囲で状態を解釈し、コマンドを 提案または実行できます。Kavor はリモートサービスにはなりません。認証情報、接続、shell、監督はあなたが 開いたセッションに残ります。
実用的なグラフ
Specification — Maintainer — Reviewer
│
Terminal
│
File: check.sql
Maintainer は Specification を契約、File を明示的なソース、Terminal を検証環境として使います。Reviewer
は結果と証拠を評価します。File + Terminal Connection が CHECK_SQL を提供するため、手でパスをコピーする
必要はありません。
より良い開始依頼
到達可能なコンテキストだけで障害を診断してください。最初に Terminal の現在画面を読んでください。 コマンドを一つずつ実行し、何を切り分けるか説明し、Reviewer に必要な output を残してください。私が 開始したプロセスを中断せず、破壊的操作や Specification の範囲拡大の前に停止してください。
監視の場合:
この Terminal の必要な tail だけを追ってください。新しい証拠が出たら知らせ、行が増えないことを成功と みなさず、調査専用に開始した watcher を終了後も残さないでください。
読み取り専用 Guardrail
terminal_read_only は確認を許可したまま、直接 Connection を通じてセッション、プロセス、入力を変える操作を
止めます。証拠を読む必要はあるが修正を実行すべきでない Reviewer に適しています。
Guardrail はそのペアに属します。Terminal 全体をグローバルに読み取り専用にせず、OS の権限も置き換えません。
重要な制限
- Terminal output は外部効果が正しく起きたことの自動的な証明ではありません。
- CodingAgent は未完了の人の入力に干渉してはいけません。
- 破壊的コマンドには正確な範囲と適切な許可が必要です。
- Connection の変数にはパスが入り、内容や secret は入りません。
- 変数変更を環境に反映するには Terminal セッションを再起動します。
- Schedule はアクティブなセッションにだけ届け、Kavor が閉じている間のコマンドを自動回復しません。
- 調査用に開始したプロセスは、人のために残す必要がなければ終了します。
- 複数 Terminals は実際の責任を表すときに役立ち、目的のない複製は運用状態を分散させます。
コマンドを委任する前に
責任に合う Terminal か、人が入力中ではないか、コマンドが限定され必要なら可逆か、何が証拠かを Agent が
理解しているか、画面・tail・完全履歴のどれが必要か、変数名が理解しやすいか、Reviewer に
terminal_read_only が必要か、いつ停止・待機・質問するかが明確かを確認してください。
実行が本物のまま、コンテキストが明示され、監督が失われないとき、Terminal はグラフで価値を持ちます。
Connections マトリクスを確認し、 CodingAgents が Canvas を理解して構築する方法を学ぶか、 コマンドと prompts の Scheduleを設定してください。