14/Documentation
設定
.env、独自のカスタムスラッシュコマンド、キー、クイック返答、ランチャー、書体。外観、Zenモード、言語
デフォルトでは、Collieはcollie pairでペアリングしたデバイスにのみ応答します。ペアリング済みデバイスには完全な制御権限があるため、tailnet上でURLにアクセスできるユーザーであっても、まずペアリング済みのスマートフォンが必要です。COLLIE_TRUSTED_USERがない場合、すべてのtailnetログインがペアリング画面にアクセスできるため、ブリッジはTRUSTED_USER警告を出力します。アクセスをさらに制限するには、以下を使用します:
# in your .env
COLLIE_TRUSTED_USER=you@example.com # your tailnet login — Collie rejects anyone else
COLLIE_PUBLIC_HOSTS=myhost.tail1234.ts.net # only behind your OWN proxy; on a tailnet `collie
# start` discovers this for you設定ファイル
Collie の設定はすべて TOML ファイルに記述できます。すべての設定項目をデフォルト値付きで出力するには、次のように実行します。
collie config initこれによりマシン自体の設定である ~/.collie/config.toml が書き出され、そのパスが表示されます。すべてのキーがコメントアウトされているため、生成されたファイルはそのままでは何も変更しません。キーのコメントを解除して再起動してください。代わりに collie config init --instance を実行すると、.env の隣に config.toml が書き出され、このインスタンスに限りマシンの設定が上書きされます。
| ファイル | レイヤー | 特定方法 |
|---|---|---|
~/.collie/config.toml | マシン | ホームディレクトリ、または COLLIE_CONFIG 内のパス |
<config-dir>/config.toml | インスタンス | CLIがすでに解決する.envの横 |
インスタンスファイルはファイル単位ではなくキー単位で優先されます。このファイルにないキーはマシンファイルの値が維持されます。Herdrで管理されたインストールでは設定ディレクトリがすでにインスタンスごとに分かれており、バイナリインストールでは~/.config/collieとなるため、config.<instance>.tomlはありません。したがって、同一ホスト上の2つ目のCollieは独自の設定ディレクトリに自身の設定を配置します(docs/deployment.md → 単一ホスト上での複数 Collie の実行を参照)。プロジェクトディレクトリ内の.collie/は一切読み込まれません。
ファイルを操作する3つの動詞:
collie config initはすべての設定とそのデフォルト値をコメント付きのファイルに出力します。collie config checkは読み込まれる予定の2つのファイル、または指定された1つのファイルを検証します。collie config showは両方のパスと、すべての設定、その値、および値の出所を出力します。
優先順位はデフォルト、~/.collie/config.toml、<config-dir>/config.toml、そして.envを含むプロセス環境の順です。collie config showはすべてのキーについて最終的に採用された値を一度に表示するため、「ポーリング間隔が1500のままになっている理由」が1行で分かります。
キーに問題があってもブリッジが停止することはありません。未知のキーや型の不一致は、collie config checkが出力しcollie doctorが報告する問題となり、そのキーのみが環境変数での指定値へとフォールバックします。ファイル内の他のキーはすべて適用されます。
Collie が config.toml を読み込むのは起動時のみです。変更後は collie restart を実行してください。
注。[push] vapid_privateまたは[stt] stt_keyを含むファイルは、.envと同様にパーミッションがモード600に制限されます。Collieがパーミッションを変更できない場合、それらのキーのみが破棄され、collie doctorがその旨を表示します。
環境変数が常に優先されます
Collie は ~/.config/collie 内の .env ファイルから設定を読み込みます。Herdr がインストール環境を管理している場合、CLI は Herdr にプラグイン設定ディレクトリ (通常は ~/.config/herdr/plugins/config/herdr.collie) を問い合わせます。どちらのパスも CLI コマンド間で一貫して解決されるため、サービスはここに配置されたファイルを読み込みます:
mkdir -p ~/.config/collie && cp .env.example ~/.config/collie/.env
# on a Herdr-managed install, seed Herdr's plugin config dir instead:
cp .env.example "$(herdr plugin config-dir herdr.collie)/.env"以下のパス表記では ~/.config/collie/… を使用します。Herdr 管理下のインストール環境では、このプレフィックスを $(herdr plugin config-dir herdr.collie) に置き換えてください。
Collie が .env を読み込むのは起動時のみです。変更後は collie restart を実行してください。
.env.exampleファイルにはすべてのオプションが記載されており、collie config init --printも同様です。
これには COLLIE_PORT、COLLIE_SERVE_MODE=http(Headscale または .internal ドメイン用)、および COLLIE_SERVE_PORT(:443 以外のポートで HTTPS を公開する場合。docs/deployment.md → 単一ホスト上での複数 Collie の実行 を参照)が含まれます。CLI はこれらの serve パラメータを bridge に渡すのではなく、tailscale serve の設定に使用します。
各セクションの内容
設定ファイルはすべての設定を[section]の下にまとめます。キーの環境変数名はCOLLIE_にキーの大文字表記を加えたものになるため、[bridge] poll_msはCOLLIE_POLL_MSになります。
| セクション | 設定内容 |
|---|---|
bridge | ポーリング間隔、読み込む行数、状態の保存先 |
network | ポート、バインドアドレス、許可するホストおよびオリジン |
mux | このCollieがミラーリングするマルチプレクサとその配置場所 |
access | Tailscaleアイデンティティゲート、デバイスヘッダー、監査ログ、シークレットマスク |
push | 3つのWeb Push(VAPID)値 |
uploads | 添付ファイルサイズの上限と受け付ける追加のテキスト種別 |
journal | 各ハーネスが自身のセッションログを保持する場所 |
crew | リードがメンバーに付与する予算と、ピア自身のブラウザ |
standby | deputyの2つ目の接続口: ポート、バインドアドレス、有効化 |
update | リリースの取得元、保持するバージョン数、リリース確認用GitHubトークン |
serve | Collieがフロントドアを公開するかどうか、公開先、公開パス(base_path) |
Collieがマルチプレクサーと並行して実行するdurable agentは、config.tomlには含まれません。各agentは.envと同じフォルダ内にあるsources.jsonの1エントリです(durable agent)。| stt | 音声テキスト変換、collie stt setupを実行するまで不在 |
複数のエージェントのホームディレクトリから履歴を読み込むには、COLLIE_TRANSCRIPT_ROOT にカンマ区切りのリストを指定します。
docs/deployment.md はカスタムドメインとリバースプロキシに対応します。Collie は同一生成元ポリシー (SOP) を適用するため、カスタムホスト名や外部 TLS ターミネータは明示的に許可リストへ登録する必要があります:
COLLIE_ALLOWED_ORIGINS=https://collie.example.comこの設定がない場合、UI は空のページとして読み込まれます。詳細は トラブルシューティング を参照してください。
カスタムスラッシュコマンド
Herdrプラグインの/fork-in-herdrやカスタムの/deployなど、マシン固有のコマンドはcommands.tomlに記述してください。これは、同一のリーダーおよび読み込みパターンを共有する6つの設定ファイルのうちの1つです:
| ファイル | スコープ | 確認/危険フラグ | ライブリロード |
|---|---|---|---|
commands.toml | 任意(行ごと) | confirm = true | 対応(再起動不要) |
keys.toml | 任意(行ごと) | danger = true | 対応(再起動不要) |
quick-replies.toml | 任意(行ごと) | なし | 対応(再起動不要) |
theme.toml | なし。フェイスはデバイス固有の設定です | なし | はい、次のページ再読み込み時です |
launchers.toml | なし。完全一致するコマンドで代行判定。[phone] はスマートフォンが追加する行を切り替えます | なし | 対応(ただし、すでに開いているタブは次回の読み込み時にのみ行を再読み込み) |
cache-rules.toml | なし(代わりに正確なルールIDで一致) | なし | 対応(再起動不要) |
これらのファイルは設定ファイルによって変更されません。インスタンス config.toml のディレクトリを共有し、独自の形式とライブリロードを維持し、設定ファイルへマージされることもありません。
フラグが設定された行は、実行前に2回タップして確認する必要があります。これらのファイルの変更は、サービスを再起動しなくても反映されます。Collie が行を拒否した場合、journalctl --user -u collie -n 20 に行番号とエラーが表示されます。
cp commands.toml.example ~/.config/collie/commands.toml[[commands]]
scope = "omp" # optional; omit for every pane
command = "/fork-in-herdr"
description = "Fork this conversation into a new herdr tab"
[[commands]]
scope = "claude"
command = "/statusline"
description = "Set the status line"
bar = true
bar_label = "Status"設定した行に一致するペインには、その行のみが表示されます。ADR 0018 に記載されているとおり、最も一致範囲の狭い行が優先されます。
確認するには、ペインを開いて / をタップします。最初の画面に設定した行が表示されます。
アクション行へのコマンド配置
bar = true を指定すると、キーボードの真上にある1行のボタン群であるアクション行にも配置されます。バーの行は通常のパレット行でもあるため、両方のサーフェスに表示されます。bar_label はボタンのテキストであり、デフォルトはスラッシュを除いたコマンド名です。
アクション行はキーボードの真上にある全幅の帯(ベルト)です。Collie 独自のコントロール(Keys、Type、Quick、Agent、表示設定ギア)が帯の上に直接並びます。実行中のハーネス独自のコマンドはその隣に並び、ハーネスのブランドカラーで色分けされるため、どのボタンがエージェントに入力を行うかが一目でわかります。横にドラッグするとベルトがスクロールし、要素が省略されることはありません。
各ハーネスには、次の順序で独自のボタンが用意されています。
| ハーネス | ボタン |
|---|---|
| Claude Code | Model、Effort、Compact、Resume |
| Codex | Model、Compact、Resume |
| pi | Model、Compact、Tree、Resume |
| omp | Model、Compact、Tree、Resume |
| opencode | Model、Compact、Resume |
| Grok Build | Model、Compact、Resume |
| Muse Code | Model、Effort、Compact、Resume |
| Antigravity (agy) | Model、Compact、Resume |
Codex、Grok、AntigravityにはEffortボタンがありません。/modelピッカーで推論のeffortも同時に設定するためです。Grokで/effortのみを実行してもピッカーは開きません。
piとopencodeにはeffortコマンドがありません。piはこの設定をキーパッドから実質操作できないモーダルである/settings内に保持しており、opencodeはキー操作でバリアントを切り替えます。
opencodeは2つのボタンの割り当てが異なります。Modelは/modelsを送信し、Resumeは/sessionsを送信します。また、セッションにターンが1つ存在して初めて/compactが有効になるため、Compactはその時点で機能します。
omp の Tree ボタンは Compact と Resume の間に配置されます。これはミラー内に omp 独自のセッションツリーを開くピッカーで、セッション内の任意の過去の時点にジャンプできます。同じコマンド /tree は、omp のコマンドパレットにも含まれています。
すべてのハーネスボタンは、コマンドをそのまま送信します。Model は /model を送信し、ペイン内でエージェント独自のモデルピッカーが引き継ぎます。 モデル名のリストはハーネス側のものであり、予告なく変更されるため、Collie 側では保持しません。Effort も同様に動作します。
設定したバーの行は、対象ペインにおいて同梱のハーネスセグメントを置き換えますが、それ以外の場所には影響を与えません。Agent パレットは別のサーフェスであるため、バーの行によって消去されることはありません(ADR 0043)。
12文字を超える bar_label は短縮されてボタンとして表示されます。true または false 以外の bar を指定した場合は、不正な confirm と同様にその行のみが除外されます。
コマンドパレットと同様に、エージェントの処理中にも行の送信が行われます。チェックマークは、ペインがテキストを受信したときにのみ表示されます。
Switch ボタンはベルトの右端に配置され、ペインスイッチャーを開きます。極細線の後ろにレイヤーマークのみが描画され、テキストはありません。ベルト上の任意の場所を上にドラッグしても、同じスイッチャーが開きます。横にドラッグするとベルトがスクロールします。
Filesボタンの左にあるエージェントマークは、ペインで実行中のサブエージェント数をカウントします。ompおよびGentle Shellについては、スマートフォンの画面でそのペインのChatを開いている間のみバックグラウンドジョブをカウントします。Screenビューではカウントしません。
テキストボックスにテキストや添付ファイルがある間は、ベルトの右端(Switchボタンの左隣)にもXが表示されます。1回タップするとボックスと保存された下書きが空になり、ペインには何も送信されません。その後、XはUndoに変わり、テキストと添付ファイルを元に戻せます。キー入力、添付、送信、別のベルトボタンのタップ、ペインからの離脱など、次の操作を行うまでUndoは残ります。ベルトをスクロールしてもそのまま残ります。
左利きの場合は、Settings → Appearance → HandをLeftに設定してください。ベルトの向きが反転します。SwitchボタンとXが左端(Sendの上部)に移動し、Keysが右端のボタンとなって、残りのボタンは左方向にスクロールして隠れます。SendとAttachは返信欄の左側に移動します。この設定はデバイス単位で保存され、次回ペインを開いたときに適用されます。
確認するには、Claude Code、Codex、pi、または omp を実行しているペインを開きます。キーボード上部の行の右側に、色付けされたセグメントが表示されます。このセグメントは 設定 → 外観 → ハーネスショートカット でデバイスごとにオフにできます。Collie 独自のコントロールはそのまま残ります。
ターンの停止
停止ボタンはベルトの先頭、Collieの他のボタンより前に配置されているため、スクロールせずに表示されます。ハーネスプロファイルに停止キーが定義されているすべてのエージェントで表示され、実行中の処理がない間はグレーアウトします。位置とサイズが固定されているため、ターンの開始や終了時に他のボタンが動くことはありません。グレーアウトしたボタンをタップしても何も実行されず、何も送信されません。停止キーのないエージェントにはボタンが表示されません。Stopは文字を入力したりメッセージを送信したりしません。エージェント自身の停止キーを1回押し、その結果を表示します。
Stopの実行には2回のタップが必要です。1回目のタップでボタンが待機状態になり、表示がStop?に変わりますが、ボタンのサイズは維持されます。ターンを停止するには、4秒以内にもう一度タップします。0.4秒以内の即座の2回目のタップは同一のタッチとみなされ無視されます。そのまま待つと待機状態は解除され、キーは押されません。別のペインを開いた場合も待機状態は解除され、ターンが終了するとボタンはグレーアウトします。2回目のタップの処理中はそれ以上のタップを受け付けないため、素早く3回目をタップしても重複してStopが押されることはありません。
どのキーでターンを停止するかはハーネス自身が決定し、ハーネスプロファイルに保持されます。大半のエージェントはEscape、一部はCtrl+Cで停止し、Escapeが2回必要なエージェントもあります。決定権は本ページではなくプロファイルにあります。
キーの入力後、Collieは最大3秒間画面を再度読み取り、入力欄の下に以下の3つのいずれかの状態を表示します。
| Receipt | 状態の意味 |
|---|---|
| Stopped. | キーが入力され、2回連続の読み取りでターンの終了が確認されました。入力欄は解放されています。 |
| Stop sent. The agent still looks busy. | キーは入力されましたが、2回連続の読み取りでターンの終了を確認できませんでした。少し待ってから、必要に応じて再度Stopをタップしてください。 |
| 拒否 | キーは押されませんでした。理由はメッセージに表示されます。 |
停止キーによってダイアログが開いた場合、Collieはその旨を表示し、該当するカードを案内します。
OMPを含む一部のエージェントは、ターンを停止したときにキュー内のメッセージを入力ボックスに戻します。キー操作の直後にCollieがそれを検出した場合、レシートにその旨が表示されます(例: 「Stopped. 1 queued message is back in the agent as a draft.」)。Chatでは、メッセージは Back in the box カードに移動します。一緒に戻ったメッセージは1つのカードを共有します。
カードには2つのボタンがあり、どちらもまずボックスを再読み取りします。Send は、ターンがアイドル状態であり、ボックスに正確にそのテキストが保持されている場合にのみ下書きを送信します。Discard は、そのテキストがまだ保持されている場合にのみボックスを空にします。変更されていた場合、Discardはカードを削除し、何も入力しません。下書きが残っている間は新しいメッセージが拒否され、拒否メッセージはカードを参照するよう促します。
キーの入力によって問題が生じる可能性がある場合、Collieは入力を事前に拒否します。
- ダイアログが開いています。 Escapeを押すとダイアログに応答してしまいます。該当するカード上で応答してください。
- 入力欄にテキストが残っており、このハーネスの停止キーを押すとそれが消去されてしまいます。 入力欄をクリアするか、KeysボードのClearボタンを使用してから、再度Stopをタップしてください。
- Collieはこのペインを読み取れません。 読み取りができない画面にはキーを入力しません。ターンが実行中かどうかCollieが判別できない画面もこれに該当します。
- ターンはすでに終了していました。 停止対象が存在しなかったため、キーは押されませんでした。
- このマシンはまだスマートフォンからの停止に対応していません。 crew環境において、ペインを実行しているマシンのCollieのバージョンが古くなっています。アップデートしてから停止してください。
crewのマシンから時間内に応答がない場合、Collieはその旨を表示します。Stopがすでに実行された可能性があるため、再度Stopをタップする前にペインを確認してください。
Stopは常にユーザーの手動タップによって実行されます。トランシーバーメッセージ、フック、コマンドライン、キューに入れられたアクションによって押されることはありません。crew環境では、ペインを実行しているマシンがキーを押し、画面を読み取り、lead経由で処理結果を返します。
durable agentとして実行されるプログラムは、以前から持っていたStopを保持します。独自のreceiptを持ち、指定されたターンを停止します。armは使用しません。
入力ボックスをクリアする
Keysボードのチップ行の末尾にあるクリアボタンをタップすると、armを使用せずにハーネスの入力ボックスを一度にクリアします。Collieは、テキストの長さに応じてハーネス自体の削除キーを繰り返し入力し、ボックスの内容を再読み込みしたうえで、ボックスがクリアされたか、クリアできなかった理由をベルト上部の通知で知らせます。ボックスが空の場合、ダイアログが開いている場合、またはリンクが切断されている場合、ボタンはグレーアウトします。ボックスがクリアされなかった場合、Collieは残りのテキストを変更せず、再度の入力も行いません。
クリア後、通知に復元が2分間表示されます。1回タップすると、Enterを含まない1行としてテキストがボックスに復元されるため、何も送信されません。ボックスに再度入力するか別のペインを開くと、Restoreは消えます。ブリッジはクリアされたテキストをクリアのreceiptとともにメモリ内に保持し、ログやディスクには一切書き込みません。
カスタムキープリセット
commands.toml の隣にある keys.toml 内で、Keys トレイの Presets 行を置き換えることができます:
cp keys.toml.example ~/.config/collie/keys.toml[[keys]]
scope = "claude" # optional; omit for every pane
label = "Yes"
keys = ["Down", "Enter"] # several chords go out as one batchペインが定義済みの行に一致する場合、デフォルトの Ctrl C/D/U/R/L/Z ボタンの代わりにプリセットのみが表示されます(ADR 0018)。これらの行はオペレーターとしての設定であり、すべてのスマートフォンに反映されます。その上のパッド(Esc、矢印キー、Enter/Tab/Space、修飾キー)はここでは設定されません。各スマートフォンが独自に配置します。詳細は次のセクションを参照してください。
和音(Chord)には tmux ではなく herdr の構文を使用します。
| キー | Chord | 対応状況 |
|---|---|---|
| Ctrl+C | ctrl+c(C-c ではない) | 可 |
| Shift+Tab | shift+tab | 可 |
| Ctrl+F7 | ctrl+F7 | 可 |
| Page Up | — | 不可 |
| Home | — | 不可 |
| End | — | 不可 |
| Delete | — | 不可 |
動作を確認するには、ペインを開いて Keys → Presets をタップし、新しいボタンを表示します。Collie が行を拒否した場合は、journalctl --user -u collie -n 20 でエラーの詳細を確認してください。
独自のキーパッド
Keysパッドは並べ替えが可能です。キー を開き、ラベルの横にある鉛筆アイコンをタップします。
- キー の横にある鉛筆アイコンをタップします。ペインの上に縦長のシートが開きます。
- キーを別の場所にドラッグするか、キーをタップしてから4つの矢印ボタンを使用します。
- 空いているセルの破線 + をタップしてキーを追加するか、キーを選択して 変更 または 削除 をタップします。
パッドは7列のグリッドです。キーは1つのセルに配置され、幅(1、2、または3列)と高さ(1または2行)を拡張できます。キーを選択し、幅 または 高さ をタップしてサイズを変更します。キーは右側と下側に広がります。別のキーと重なるサイズや、パッドからはみ出すサイズは薄く表示され、タップするとどのキーが重複しているかが表示されます。Collieが他のキーを自動で移動させることはありません。行を追加 で最下部に最大8行まで行を追加できます。変更内容は即座にドックへ反映されます。Collieはパッドの設定をこのブラウザ内に保持するため、別のブラウザではレイアウトを共有するまでデフォルトのパッドが表示されます。デフォルトは以前のパッドと同じで、スペースバーが3セル幅、Enterが2行目の左端に配置されています。
Esc Tab Shift Ctrl Alt Up ^C
Enter Space (3 wide) Left Down Rightキーをドラッグすると、その領域全体が移動します。同じサイズのキーの上にドロップすると、2つのキーが入れ替わります。重なりが生じる別の場所にドロップすると、ターゲットの枠線が灰色の破線になり、どのキーが重複しているかを示すメッセージが表示されて、キーは元の位置に戻ります。矢印ボタンは重なるキーをスキップし、キーが収まる次の位置で停止します。収まる場所がない場合、ボタンは無効のままになります。
キーは最大3つの修飾キーと1つの通常キーの組み合わせ(例: Ctrl+Alt+Shift+T)を送信できます。また、最大4ステップの短いシーケンス(例: Ctrl+B の後に C)を送信することも可能です。シーケンスは1つの呼び出しとして順に送信されます。キービルダーでこれらを設定するには、文字、名前付き、または ファンクションキー を選択します。デフォルトパッドにあるような固定用のCtrl、Alt、Shiftキーを作成するには、修飾キー を選択します。1回タップすると次のキー入力を待機し、もう1回タップすると押下状態を保持し、3回目のタップで解除します。修飾キーは単独で動作するため、ステップや名前はありません。すべてのキーは組み込みキーと同じ経路をたどります。ペインがロック中またはオフラインの間は待機し、プログラムを停止させる可能性があるキー(Ctrl+D、Ctrl+Z、またはCtrl+Cを含むシーケンス)は2回目のタップを要求し、使用中のマルチプレクサが送信できないキーは灰色で表示されます。
| コントロール | 説明 |
|---|---|
| Presets | Default、Claude Code、Prefix (Ctrl+B)、Vim、Navigation。それぞれプレビューが表示され、パッドを置き換える前に確認が入ります。 |
| 共有: レイアウトをコピー | クリップボードにショートコードを出力します。通常のhttp接続では、コードを選択して手動でコピーしてください。 |
| 共有: レイアウトをインポート | 共有されたレイアウトコードを貼り付けます。Collieが検証し、プレビューを表示した上で、適用前に確認します。 |
| デフォルトに戻す | プレビューを表示した後、元のパッドを復元します。 |
以前のバージョンのコードも引き続きインポートでき、各キーは1セルとして扱われます。Esc、Enter、または矢印キーがパッドに存在しない場合は、元に戻す とともに通知が表示されます。Prefix (Ctrl+B) プリセットは Ctrl+B プレフィックスを送信するため、ペイン内で実行中の tmux に適しています。Navigation プリセットには Home、End、PgUp、PgDn が含まれますが、これらは Herdr が送信できないため、Herdr ペイン上では灰色で表示されます (ADR 0092)。
カスタムクイック返信
quick-replies.toml で Quick ドックのフレーズをカスタマイズできます:
cp quick-replies.toml.example ~/.config/collie/quick-replies.toml[[replies]]
scope = "claude" # optional; omit for every pane
title = "confirm"
items = ["yes", "no"] # sent verbatim, one per buttonペインがルールに一致すると、デフォルトのグループ(ADR 0018)がカスタムグループで置き換えられます。デフォルトのフレーズは英語です(yes、commit and push、drastically simplify)。
他の言語で実行する場合や、approve のような単語を特定のハーネスに送信する場合は、このファイルを使用します。scope = "shell" を設定すると標準のシェルペインが対象になります。設定しない場合、それらのペインは y/n のみを受信します。
動作を確認するには、ペインを開いて Quick をタップし、グループを表示します。行の読み込みに失敗した場合、journalctl --user -u collie -n 20 にエラーが出力されます。
独自のランチャー
1回タップするだけで、launchers.toml内のkeys.tomlの横で指定したコマンドを実行します:
cp launchers.toml.example ~/.config/collie/launchers.toml[[launchers]]
command = "htop" # required; the shell line, typed verbatim into the fresh shell
label = "Top" # optional; defaults to the first word of command
# cwd = "~/dev/collie" # optional; absent means "here" — see below行がどこで開くかは、行自体ではなく、どこから起動したかによって決まります。新しいページ(Shell、次に Command 選択画面の行)から「Start」を実行すると、そのフォルダー名が付いた新しい Space が作成され、タブ名には行のラベルが付きます。上にスワイプして表示するスイッチャーシートである ペイン からタップすると、その隣に行の名前が付いた新しい そのペイン独自のSpace内のタブ が開きます。
どちらの場合も、ブリッジは新しいシェルに command を入力して Enter を送信します。コマンドが自身のライフタイムを管理します。自身で終了するコマンドは Space またはタブも一緒に閉じ、htop は終了するまで残ります。
cwdは、新しいSpaceやタブを開く場所です。(上記のhtopのように)行に固定フォルダーを指定すると、その行をどこでタップしてもそのフォルダーが優先されます。
省略した場合は「現在地」を意味します。ダッシュボードではホームディレクトリで開き、ペインでは そのペイン自身の の cwd で開きます。cwd を指定しない行は、常に特定のディレクトリのルートで開くのではなく、チェックアウト先の移動に追従します。
このファイルとスマートフォンから追加された行(下記)が許可リストになります。POST /api/launch は、これらの行のいずれかに完全一致する command、マシン固有のリストにあるエージェントID(マシンがそのエージェントのコマンドを直接入力します)、またはプレーンなシェルのみを受け付けます。変更は再起動なしで即座に適用されますが、すでに開いているタブでは次回の読み込み時にのみ行が再読み込みされます。
行の追加情報をスマートフォン側に伝える、2つの省略可能なキーがあります:
[[launchers]]
command = "claude-danger"
label = "Claude Code, no prompts"
# The agent that reads the row: it is listed under Agent with that agent's mark.
harness = "claude"
# The line skips permission prompts, but an alias hides its flags.
no_prompts = true定義した行は次の3か所に表示されます:
- 「新規」ページ内(ダッシュボードで+ 新規をタップ)。上部のスイッチにはエージェント | Shellと表示されます。
harnessを持つ行はエージェントの選択肢に入ります。harnessを持たない行は、Shellの下にあるコマンドの選択肢に入ります。 - ダッシュボードのLaunchセクション内。 Spacesのように折りたたまれます。
- スイッチャーシートのLaunchセクション内(ペインから上へスワイプ)。
「新規」ページでは、cwdを持たない行はそこで指定したフォルダー内で実行され、固定フォルダーを持つ行はその入力欄の代わりにそのフォルダーを表示します。行をworktree内で起動することはできません。その用途にはagentかShellを選択してください。固定フォルダーを持つ行はホームディレクトリ以下を短縮して表示します。cwdを持たない行はスイッチャーで「here」と表示されます(ダッシュボードはあらかじめホームディレクトリを前提とするため、そこには何も表示されません)。行を1つも宣言しなければ、どちらのセクションも表示されません。
crew(複数マシン、スマートフォン向けleadが1台)では、各マシンがこのファイルの独自コピーを読み込みます。行を実行すると、leadではなくタップしたダッシュボードまたはペインのマシン上で起動します。
Newページのエージェント選択肢はCollie独自のリストです: Claude Code、Codex、opencode、pi、omp、Grok、Hermes、Kiro、Muse、Antigravity。Kiroは、設定されたツールの権限を維持したまま起動します。マシンのログインPATHに存在しないエージェントは、リスト上で無効化され、「not installed」と表示されます。別のターミナルエージェントを使用する場合は、上記のように行を宣言してください: Shell配下のコマンド選択肢に表示され、通常のコマンドと同様にペインで起動します。Collieはそのステータスを表示しません。
動作を確認するには、ダッシュボードをリロードして herd の下を確認します。行の読み込みに失敗した場合、journalctl --user -u collie -n 20 にエラーが出力されます。
スマートフォンから追加されたランチャー
スマートフォンからマシン上に行を追加できます。それらの行は該当マシンの状態フォルダー(launchers-added.json)に保存され、launchers.tomlに保存されたり他のマシンにコピーされたりすることはありません。
「新規」ページで、エージェントセレクトまたはコマンドセレクトの下にある独自に追加をタップします。選択中のマシンに応じたページ/new/addが開きます。上部でエージェントまたはコマンドを選択してください。agentの指定方法には、レシピ(ハーネス、オプションチップ、Collieが実際に入力する行)とコマンドを記述の2種類があります。コマンド行は常に手動で記述します。追加を押すと「新規」ページに戻り、新しい行が選択された状態になります。フォームの下にあるこのマシンで追加済みには、スマートフォンがそこに追加したすべての行が名前を変更および削除とともに一覧表示され、launchers.toml由来の行には鍵アイコンがついて操作できなくなっています。追加の仕組みを開くと、このマシンのlaunchers.tomlのパスとコピー可能な行の例を記載した簡単な説明が表示されます。
[phone]
adds = true # default true: a phone may add rows built from a recipe
free_text = false # default false: a phone may also add a line typed by hand
run = true # default true: a phone may run a one-off command, and run it again from historylaunchers.toml内の任意の場所に[phone]テーブルを配置します。trueまたはfalse以外の値はfalseとして解釈されます。bridgeがスイッチの設定を強制します。追加が拒否されても何も変更されず、スイッチで無効化された行は即座に起動しなくなります。行自体はファイルに残るため、スイッチを元に戻せば再度有効になります。
レシピは、エージェントとbridge独自のテーブルから得られたオプションチップ(Claude Codeと「Skip permission prompts」など)を組み合わせたものです。スマートフォン側はIDのみを送信し、bridgeが実行行を組み立てます。各チップは各エージェント独自の--helpから読み取られたものです:
| エージェント | オプション | 追加内容 |
|---|---|---|
| Claude Code | 権限確認プロンプトをスキップ | --dangerously-skip-permissions |
| Claude Code | 計画モード | --permission-mode plan |
| Claude Code | モデル: opus、モデル: sonnet | --model opus、--model sonnet |
| Claude Code | 前回を継続 | --continue |
| Codex | 承認とサンドボックスをスキップ | --dangerously-bypass-approvals-and-sandbox |
| Codex | 確認しない | --ask-for-approval never |
| Codex | 読み取り専用サンドボックス、Web検索 | --sandbox read-only、--search |
| opencode | 自動承認、Plan agent、前回を継続 | --auto、--agent plan、--continue |
| pi | 前回を継続、思考: 高 | --continue、--thinking high |
| omp | 前回を継続、思考: 高 | --continue、--thinking=high |
claude-dangerのようなエイリアスやプレーンなhtopなどのfree lineは、free_text = trueがある場合のみ使用できます。これがない場合、コマンドを記述にはマシン上で「オフ」と無効化された行が1行表示され、追加はオフのままになります。これがある場合、行を確認は追加が有効になる前に、すべての隠し文字をそのコード(例: ⟨U+200B⟩)として表記した行を表示します。最大200文字で、追加時および読み出し時の両方で、bridgeは制御文字、行または段落の区切り文字、双方向テキスト制御文字を拒否します。
マシンが保持する追加行は最大20行です。行の内容がlaunchers.toml内の行と同じ場合、launchers.toml内の行が優先されます。追加された各行には、それを追加したペアリング済みデバイスが記録されます。そのデバイスを取り消すと、スマートフォンからでもcollie devices revokeを使用してもその行が削除され、監査ログには追加、名前変更、削除のすべてが記録されます。
注意。 権限プロンプトをスキップする行には「No prompts」バッジが付きます。各デバイスは、その行を初めて開始する前に1度だけ確認を求め、コマンド、フォルダー、マシンを表示します。マシン上でスマートフォンから追加されたすべての行を無効にするには、adds = falseを設定します。durable agentへの接続(実験的機能)
Collieがターミナルと並行して実行する各durable agentは、collie durable attachによって書き込まれるsources.jsonの1エントリです(durable agent)。以下の最初の3つの変数は旧形式であり、defaultという名前の1つのdurable agentを駆動するdurable専用インスタンス(COLLIE_MUX=durable)向けです。ソケットか、トークン付きURLのいずれか一方のみを設定してください。両方を設定することはできません。
| 変数 | 例 | 意味 |
|---|---|---|
COLLIE_DURABLE_SOCKET | /run/user/1000/durable/session.sock | このマシン上のdurable agentのプライベートUnixソケット。絶対パス、最大103バイト、モード0600 |
COLLIE_DURABLE_URL | https://durable-member.example.com | TLSの背後にデプロイしたdurable agentのアドレス。https://のみ、またはこのマシン上のdurable agentの場合はhttp://127.0.0.1:<port>。最大2048バイト、クエリ不可 |
COLLIE_DURABLE_TOKEN | your-32-byte-random-token-here | URLへのすべてのリクエストで送信されるベアラートークン。32バイト以上。これを保持するファイルはモード600である必要があり、Collieが出力することはありません |
COLLIE_PROGRAMS | off | durable agentのキルスイッチ。bridgeはsources.jsonを無視し、ログを1行出力してdurable agentを登録しないため、端末にはDurable agentsセクションが表示されません。collie doctorおよびcollie durable listはdurable agentが無効であることを示します。復元するには設定を解除してからcollie restartを実行してください。上記環境変数形式は無効化されません |
両方が設定されている場合、トークンなしのURL、またはURLなしのトークンは設定エラーとなります。インスタンスは起動しますが、その理由とともにdurable agentに到達不能として表示されます。https経由ではポーリングごとに課金対象のリクエストとなるため、Collieは端末が表示中の場合は2秒ごと、それ以外の場合は10秒ごとにポーリングします。各方式で遮断できるものと遮断できないものについてはdurable agentを参照してください。
durable agentのスターター(実験的)
durable agentは、そこから開く「New」ページのNew conversationの下にスターターを一覧表示します。スターターとは、コードレビューなど、会話を開始するための名前付きの方法です。テキスト入力は不要です。タップすると、durable agentが何を開始するかを決定します。新しい会話はペインとして開きます。同じリクエストIDで再度タップすると同じ会話が開き、新しい処理は開始されません。durable agentが応答しない場合、再試行は同じリクエストIDを再送します。到達できないdurable agentはスターターを一覧表示しません。これは実験的機能であり、マイナーリリースで変更される可能性があります。
使い捨てコマンドとその履歴
スマートフォンからランチャー以外のコマンドを1回だけ実行することもできます。Collieは指定されたフォルダーでシェルを開き、ランチャー行を開始するのと同じ方法でコマンドを入力します。このコマンド行はfree lineと同じルールに従います。つまり、最大200文字で、制御文字、区切り文字、双方向制御文字は使用できません。使い捨てコマンドが新しいブランチで開始されることはありません。
ペアリングされたスマートフォンはすでにシェルを開いて入力できるため、これはデフォルトで有効になっています。そのマシン上でこのショートカットを削除するには、[phone]テーブルでrun = falseを設定します。
NewページでShellに切り替えます。するとコマンドセレクトの末尾に2つの項目が追加されます。そのマシンの履歴にある行を一覧表示するRecentグループと、コマンドを入力…です。コマンドを入力…を選択すると、セレクトのすぐ下にテキストフィールドが表示されます。行を入力して起動をタップします(または実行と表示されるリターンキーを押します)。起動の上の行には、何がどこで実行されるか(例: 「bluefinの~/projectsでhtopを実行」)が表示されます。使い捨ての行では、worktreeスイッチはオフのままになります。
初回の実行前に、Collieはマシンに行のチェックを要求します。このチェックでは何も実行されず、何も保存されません。--dangerously-skip-permissionsのように権限プロンプトをスキップするフラグが行に含まれている場合、このスマートフォンは開始前に1度確認を求めます。「No prompts」バッジが付いた行と同じ動作です。行が上記のルールに違反している場合、通知に理由が表示され、何も実行されません。
もう一度実行するには、Recentから行を選択します。フォルダーフィールドには、自分でフォルダーを変更していない限り、その行が前回実行されたフォルダーが自動入力されます。Recentの行が選択されている間、セレクトの下に履歴から削除と履歴を消去が表示されます。履歴を消去は事前に確認を求めます。ページ上部の再実行行でも、使い捨て実行を繰り返すことができます。run = falseを使用すると、Recent内の行はリストに残りますが無効化され、コマンドを入力…は表示されなくなります。1.19.0より古いマシンではどちらも表示されません。
開始された各コマンドは、そのマシンの状態フォルダー内のcommands-recent.jsonに保存されます。このファイルには、各コマンドが最後に実行されたフォルダーとともに、新しい順に最大12行が保持されます。行を再実行すると、それが先頭に移動します。TOKEN=abc deployなどのシークレット、パスワード付きのURL、token、secret、passwordのような単語が含まれていると見なされた行は、実行はされますが保持されません。スマートフォンから1行削除したり、リストを消去したりできます。run = falseを指定するとリストは表示されたままになりますが、リスト内の項目は開始されません。crew内では、各マシンが独自のリストを保持し、マシン間で何かがコピーされることはありません。
このリストは権限ではありません。リストから行を開始することは新しい使い捨ての実行であり、ペアリングされたデバイスが必要となるため、デバイスのペアリング解除または取り消しを行ってもリストはそのまま残ります。監査ログには使い捨てコマンドの最初の単語とその長さが記録され、入力したシークレットが含まれる可能性があるため、行全体が記録されることはありません。
カスタムフォント
インターフェースのフォントはデバイスごとの設定です。設定 → 外観 → フォントで、System、Space Grotesk、Aldrich(デフォルト)、IBM Plex Sans、Geist、Atkinson Hyperlegible Nextから選択できます。フォント名を指定したthemeは、テーマを選択したときにそのフォントをここに一度書き込みます。4番目の設定ファイルであるtheme.tomlでカスタムフォントを追加できます。
cp theme.toml.example ~/.config/collie/theme.toml
mkdir -p ~/.config/collie/fonts
cp departure.woff2 ~/.config/collie/fonts/[[font]]
family = "Departure Mono" # the picker's label AND the CSS family
file = "departure.woff2" # a bare name inside fonts/, woff2 only
weight = "400 700" # optionalカスタムフォントは、組み込みリストを置き換えるのではなく末尾に追加されます(ADR 0033)。これは commands.toml や他の設定ファイルの動作とは異なります。フォントはアクションをトリガーしないため、上書きして隠す対象が存在しません。
これらは同梱のエントリの下に表示され、各クライアントデバイスが独自に選択します。
注意すべき3つの動作:
- 初回読み込み時のレイアウトシフト。 カスタムフォントにはメトリクスが一致するフォールバックがないため、初回読み込み時にわずかなレイアウトシフトが発生します。組み込みフォントはビルド時にフォールバックが生成されるため、この問題を回避できます。
- コールドロード時の遅延。 コールドロード時はわずかな遅延を伴ってファイルを取得します。キャッシュ済みのクライアントは即座に描画します。
- Chrome のみ。 選択したフォントは Collie の UI(chrome)にのみ適用されます。ターミナルミラー、トランスクリプト、レンダリングされた Markdown は独自のタイポグラフィを維持します。
- 次回リロード時に反映。 変更に再起動は不要で、次のページリロード時に反映されます。無効な設定はエラーをログに記録し、
journalctl --user -u collie -n 20で確認できます。
独自のキャッシュルール
プロバイダーによって変更されたプロンプトキャッシュの有効期限を変更するには、cache-rules.toml を使用します。
cp cache-rules.toml.example ~/.config/collie/cache-rules.tomlCollie には、ハーネスおよびプロバイダーごとに1つのルールが同梱されています。Collie は記録された日付にベンダーのページから各ルールを読み取りました。ベンダーはこの値を予告なく変更する場合があります。エージェントとベンダーの間に位置するプロキシであるゲートウェイも、これを変更する可能性があります。Collie がアップデートを提供するまでの間、値を上書きするにはこのファイルを使用してください。
[[rule]]
id = "claude.api"
ttl_seconds = 3600
source_url = "https://platform.claude.com/docs/en/build-with-claude/prompt-caching"
retrieved = "2026-09-12"
note = "our gateway sends ttl 1h on every request"Collieは4つの規則をすべて満たす行のみを保持します。idには同梱の規則名を指定する必要があります。ttl_secondsは1から86400までの整数である必要があります。source_urlは空でない文字列である必要があります。retrievedは有効なYYYY-MM-DD日付として解釈可能で、かつ今日以前の日付である必要があります。無効な行は破棄されてログに記録されます。ファイルの残りの部分はそのまま適用されます。
ファイルの解釈にはさらに2つの規則が適用されます。同じidを持つ行が2つあってもエラーにはならず、後の行が優先されます。noteに空文字列を指定すると行全体が破棄されるため、代わりにフィールド自体を省略してください。
行はそのidが指定する階層規則に紐づきます。その階層以下のモデルごとの分類も連動するため、1つの行がその階層のすべてのモデルに適用されます。
注。 数値は変更できますが、参照元ページや取得日を削除することはできません。規則カタログには両方のフィールドが必要です。
collie doctorは3つの項目を確認します。cache-claimsは同梱の規則が180日間再確認されていない場合に警告します。cache-rulesは破棄されたすべての行とその理由を出力します。cache-envはシェルでENABLE_PROMPT_CACHING_1HまたはFORCE_PROMPT_CACHING_5Mが設定されている場合に通知します。ブリッジは別サービスとして実行されるため、エージェントの環境変数を読み取れません。ブリッジが読み取れるよう、これらのClaude Code環境変数をここで複製してください。
記述可能なrule idは以下のとおりです。
| rule id | 対象範囲 |
|---|---|
claude.subscription | Claudeサブスクリプション(ProまたはMax)上のClaude Code |
claude.api | APIキーまたはサードパーティプロバイダ上のClaude Code |
codex.subscription | ChatGPTプランでサインインしたCodex CLI |
codex.api | OpenAI APIキー上のCodex CLI |
pi.anthropic、opencode.anthropic | Anthropicと通信するpiまたはopencode |
pi.openai、opencode.openai | OpenAIと通信するpiまたはopencode |
pi.google、opencode.google | Googleと通信するpiまたはopencode |
pi.unknown、opencode.unknown | TTLが明記されていないアップストリーム上のpiまたはopencode |
プロンプトキャッシュのカウントダウン
各エージェントペインのチップには、そのエージェントのプロンプトキャッシュが保持される残り時間が表示されます。
サポートされているすべてのハーネスは現在の会話をキャッシュします。ハーネスは、そのキャッシュが保持されている間は低い料金を請求します。チップはエージェントの最後のリクエストからのアイドル時間をカウントダウンします。セッション全体の経過時間は追跡しません。新しいリクエストのたびにタイマーがリセットされます。
チップの砂時計は3色のいずれかで状態を示し、その横の数値はグレーのままです。有効期間に余裕がある間は緑、最後の4分の1の期間は赤、期間が切れるかターンが全額課金されると青になります。青の状態ではチップにcoldと表示され、残り時間が1分未満になると秒数の代わりに<1mと表示されます。
残り時間があってもキャッシュを破棄するアクションがあります。別のモデルへの /model 切り替え、effort の変更、コンパクション、/reload-plugins --force などです。Claude Code がトランスクリプトにそのアクションを記録すると即座にチップが青くなり、シートにアクション名が表示されます。opencode もコンパクションとモデル変更を同様に報告します。
チップはペインヘッダーの2行目の右端、ペインのワークスペースの後に配置されます。crewでは同じ行の隣にマシン名が表示されます。チップをタップすると、基盤となる規則(rule id、ベンダーの参照元ページ、取得日)を確認できます。
注。 値は実測値とマークされていない限り、記録された日付時点でのベンダーの公称値であり、ライブ測定値ではありません。Claude Codeはキャッシュ有効期間を直接トランスクリプトに書き込むため、通常Claudeペインは実測値となります。
チップが表示されないペインもありますが、これは想定された動作です。ペインはエージェントが1ターンを完了した後にのみチップを表示します。Collieは測定前に推測を行いません。ハーネスにジャーナルアダプタがない場合や、ベンダーが有効期限データを公開していない場合、ペインには何も表示されません。
Collieはキャッシュが切れる前にスマートフォンへプッシュ通知を送信することもできます。1つの変数でタイミングを制御します。
| 変数 | デフォルト | 説明 |
|---|---|---|
COLLIE_CACHE_WARN_SECONDS | 300 | 監視対象ペインのキャッシュが切れる何秒前にプッシュ通知を送信するか(下限30、上限3600) |
この設定はプッシュ通知のみを制御します。チップが赤に変わるタイミングは制御なく。赤になるしきい値は各規則のTTLの4分の1に固定されています。プッシュ通知自体は、この設定値またはペイン自体のキャッシュ有効期間の半分のうち、短い方でトリガーされます。そのため、5分間のキャッシュ(Codex、OpenCode、pi、omp)は、設定値の300秒未満であっても、期限切れの約2分半前に警告します。特定のペインまたは全ペインで警告を有効にする方法については、voice-and-push.mdを参照してください。
添付ファイル
メッセージボックス横のクリップアイコンを使うと、ファイルをホストにアップロードしてメッセージ内にそのパスを挿入します。
# in your .env
COLLIE_MAX_UPLOAD_MB=25 # default 10, floor 1, ceiling 512
COLLIE_UPLOAD_EXTRA_TYPES=rb,ex,zig # bare extensions, no dotCollie は所有者のみアクセス可能な権限でファイルを <state-dir>/uploads 配下に保存し、下書きにその絶対パスを追加します。ターミナルにはファイルを直接ペーストできないため、エージェントはこのパスからファイルを読み込みます。アップロードされたファイルは書き込みから48時間後に削除されます。
| 設定項目 | デフォルト | 説明 |
|---|---|---|
COLLIE_MAX_UPLOAD_MB | 10 | 受け付ける最大ファイルサイズ(整数メガバイト単位)。範囲外の値や整数でない値が指定された場合はデフォルト値に戻り、警告ログを出力します。 |
COLLIE_UPLOAD_EXTRA_TYPES | (空) | 下記リストに加えて受け付ける追加のテキスト形式。ドットを含まない拡張子をカンマ区切りで指定します。先頭のドットは無視され、英数字以外の文字を含む項目は警告を出して除外されます。 |
受け付けるファイル形式は2種類あり、それぞれ異なるチェックが行われます。
画像 はファイル名や宣言されたタイプではなく、シグネチャバイトによって識別されます: png、jpg、gif、webp。SVG は画像ではなくスクリプトを含むマークアップであるため、意図的に拒否されます。
テキスト は拡張子で識別され、バイト単位の検証によって拒否判定が行われます。先頭4 KBに NUL や不正な制御バイトが含まれるファイルは、拡張子にかかわらず拒否されます。標準で対応している拡張子は md、markdown、txt、json、jsonl、yaml、yml、toml、csv、tsv、log、xml、html、htm、css、js、jsx、mjs、cjs、ts、tsx、py、go、rs、sh、bash、sql、diff、patch です。
注。 COLLIE_UPLOAD_EXTRA_TYPES で追加できるのはテキスト形式のみです。画像には検証用のシグネチャが必要なため、この方法で追加できるバイナリ形式はありません。COLLIE_MAX_UPLOAD_MB の値を引き上げると、連動して他の2つの数値も増加します。ブリッジはサイズを判定する前にアップロード全体をメモリに読み込むため、上限を大きくして複数同時にアップロードすると、その分メモリを消費します。また、ランタイムのボディサイズ制限はアップロードだけでなく全ルートに適用されるため、上限を大きくすると大きなボディが他のハンドラーにも到達し、そのハンドラー固有の制限で拒否されることになります。ファイルは48時間経過するまで削除されないため、アップロードディレクトリには最大で2日分の送信データが保持されます。この値は安易に引き上げず、必要な場合にのみ変更してください。
crew では両方の設定がマシンごとに適用され、ファイルを保存するマシンがその設定を強制します。リードはアップリンクを節約するため転送前にサイズ超過のボディを拒否しますが、判定にはリード自身の数値を使用します。全メンバーで同じ値を設定してください。設定が異なると、リードを通過したリクエストがピアで拒否される原因になります。
お気に入りと最近使用したフォルダー
Newページには以前に何かを開始したフォルダーが一覧表示されるため、パスを入力する代わりにタップして選択できます。
Folderフィールドの下には、起動先のマシン用の2つのリストがあります。Recentには、何かが開始された直近8件のフォルダーが新しい順に保持されます。正常に動作し、フォルダーが指定された起動のみがカウントされます。空のフィールドはすでにホームを意味するため、ホームディレクトリが一覧表示されることはありません。新しいブランチ専用のフォルダーは、再訪する場所ではなく新規チェックアウトであるため追加されません。
パスを入力することもできます。~/projectsと/srv/wwwは表記どおりの意味になります。projectsのように先頭に/も~もない名前は、新しいシェルでのcd projectsと同様にホーム配下のフォルダーとなり、タップする前にStartの上の行にフルパス(~/projects)が表示されます。..を含むパスは拒否されます。フォルダーは起動を実行するマシン上にすでに存在している必要があり、かつディレクトリでなければなりません。存在しない場合は何も開始されず、Startの上に「このマシンにはフォルダー…がありません」という通知が表示されます。CollieはStartをタップしたときにのみチェックを行い、入力中にはチェックしません。crewでは、選択したマシンが自身のディスクをチェックします。
行をタップするとFolderフィールドに入力され、何も開始されないため、上の選択項目をまだ変更できます。行の横にある星をタップすると、星を付けた順に最大12個までFavouritesに移動します。星をもう一度タップすると、Recentの先頭に戻ります。
2つのリストの下にBrowseがあります。タップすると、フィールドに入力されたフォルダーのサブフォルダー、またはフィールドが空の場合はホームフォルダーのサブフォルダーが一覧表示されます。フォルダーをタップするとそのフォルダーに移動し、フィールドの内容も更新されます。上へ、またはリスト上部のパスの一部をタップすると戻ります。Gitリポジトリであるフォルダーにはgitバッジが付きます。このフォルダーを使用をタップすると、Recentの行をタップしたときと同様にフィールドにパスが入力されます。
~/src/plektra-のように存在しないパスがフィールドに入力されている場合、Browseは存在する直近のフォルダー(~/src)を開き、残りの文字列(plektra-)で始まる名前のみを一覧表示します。そのため、フィールドに入力することでリストを絞り込めます。ホームフォルダー外のパスでは「Nothing to browse here」と表示されます。
Browseはホームフォルダー配下のフォルダー名のみを読み込みます。制約はFilesビューと同じです。ドットを入力しない限りドットフォルダーは非表示になり、.gitやCollie独自の状態・設定フォルダーは表示されません。ホームフォルダー外へのリンクは追跡せず、最大200件のフォルダーを表示します。フォルダーの作成は行いません。Filesと同様にペアリングされたデバイスが必要です。
このリストはスマートフォンではなくマシンに属します。各マシンは状態ディレクトリ内のfolders.json(COLLIE_STATE_DIRで移動されていない限り~/.local/state/collie/folders.json)に独自のリストを保持します。使用するすべてのデバイスに同じリストが表示され、ファイルはフォルダー内で最初に開始された後、または最初に星が付けられた後にのみ作成されます。同じリストが新しいworktreeの下のその他のフォルダーにも表示され、ブランチ自体のフォルダーを配置するフォルダーを選択します。
crewでは、各マシンに存在するフォルダーが保持され、ページには選択したマシンのリストが表示されます。古いバージョンのCollieを実行しているマシンにはリストが存在しないため、ページには何も表示されません。Browseは選択したマシンのディスクも一覧表示します。古いバージョンのマシンの場合はアップデートが必要と表示されます。
Secret masking
Collieはペインのテキストに含まれる既知のシークレットパターンを、スマートフォンに届く前にマスクします。
# in your .env; the default is on
COLLIE_REDACT=off| 変数 | デフォルト | 機能 |
|---|---|---|
COLLIE_REDACT | on | mirror、Chat、History、プッシュ通知、Filesのファイル本文、Changesのdiffに含まれるAPIキー、JWT、PEM秘密鍵、Bearerトークン、password=の値をマスクします。offを指定すると、そのまま送信されます。 |
設定ファイル内では[access] redactです。マスクは隠す対象の文字幅を保持するため、mirrorのレイアウトは崩れません。確度の高いパターンのみを検出します。制限事項についてはセキュリティを参照してください。
crewでは、リードも自身の設定に基づいてメンバーが送信するテキストをマスクします。メンバーのテキストがマスクされずにスマートフォンに届くのは、リードとメンバーの双方がCOLLIE_REDACT=offを設定している場合のみです。
Report a problem
1つのペインでCollieに起因する理由により送信が3回連続で失敗すると、返信ボックスの上のカードで報告が提案されます。Settings → System → Offer a report when sending fails はそのデバイスでのカード表示を無効化します(ブラウザに保存、デフォルトは有効)。ペインメニューの Report a problem や、Settingsの同じカードにある Report a problem ボタンから、いつでもシートを開くことができます。
Open on GitHub または Copy report をタップするまでスマートフォンから何も送信されません。CollieはGitHubトークンを保持しません。レポートの内容と、送信前の確認方法については トラブルシューティング に記載されています。
マルチセッション
デフォルトでは、1つの Collie インスタンスが検出したすべての Herdr セッションを提供します。
COLLIE_MULTI_SESSION=on(デフォルト)は、設定ルート配下にあるすべての名前付きHerdrセッションを検出して配信し、ヘッダーから切り替えられます。COLLIE_MULTI_SESSION=offを設定すると、プライマリHerdrセッションのみを配信します。検出されたすべてのHerdrセッションは、プライベートセッションやサンドボックスセッションを含め、同じURLからアクセス可能です。セキュリティでは、この動作を注意点として挙げています。
利用状況ウィンドウ
モデル横のドットは、ClaudeとCodexの5時間および7日間の制限を示します。設定は不要です。
# turn every source off
COLLIE_ACCOUNT_WINDOWS=0
# turn on opencode and grok too, or name the ones you want
COLLIE_ACCOUNT_WINDOWS=all
COLLIE_ACCOUNT_WINDOWS=claude,codexCollieはこのマシン上のClaudeログインファイルを読み取り、Claude Codeの/usageと同じAnthropicのusageエンドポイントにリクエストを送信します。ログイン情報は保存されず、外部にも送信されません。Collieはそのハーネスのペインが開いている間のみリクエストを送信し、他のユーザーが読み取れるログインファイル(0600より緩い権限)や期限切れのログインはスキップします。Codexはトークンを送信せず、自身のファイルを読み取ります。
| 形式 | 有効化される対象 |
|---|---|
未設定、1、on、true、yes | デフォルトのセット: claudeおよびcodex |
0、off、false、no | なし: ログインファイルやセッションファイルは読み込まれず、リクエストも送信されません |
all | すべてのソース: claude、codex、opencode、grok |
claude,codex | 指定したハーネス(大文字小文字は不問、スペース区切り可) |
Collieが認識しないIDは警告とともに対象外となり、認識されたIDのみが有効になります。そのため、入力ミスによって意図しないソースが有効になることはありません。設定ファイルでは、[bridge] account_windowsにはtrue、false、同じ形式の文字列、または["claude", "codex"]などの配列を指定できます。
各ソースは異なる情報を読み取ります。
- Claude。デフォルトで有効。 Collieは
~/.claude/.credentials.jsonまたは$CLAUDE_CONFIG_DIR/.credentials.jsonを読み取り、api.anthropic.comにリクエストを送信します。 - Codex。デフォルトで有効。 Collieはログイン情報を読み取らず、リクエストも送信しません。ChatGPTログインでは、Codexが自身のセッションファイル(
$CODEX_HOME/sessionsまたは~/.codex/sessions)にウィンドウ情報を書き込み、Collieは直近2時間の最新ファイルの末尾を読み取ります。APIキーを使用するCodexには、表示するウィンドウ情報がありません。 - OpenCode Go。デフォルトで無効。 有効にすると、CollieはOpenCodeのログインストア(
~/.local/share/opencode/auth.jsonまたは$XDG_DATA_HOME配下)のopencode-goエントリを読み取り、opencode.aiにリクエストを送信します。Goエントリがない場合、リクエストは送信されません。 - Grok(デフォルトは無効)。 有効にすると、Collieは
grok loginが保持するログイン情報(~/.grok/auth.jsonまたは$GROK_HOME配下)を読み取り、cli-chat-proxy.grok.comにクレジット残高を問い合わせます。
注。 OpenCode Go と Grok はこれらのエンドポイントで他ツールと同じ形式を使用しており、実アカウントでの動作確認はまだ行われていません。そのため、明示的に指定するまで無効化されています。pi と OMP には現時点で対応ウィンドウがありません。
collie doctor は各ソースを account-windows 行に表示します(有効・無効、読み込むファイル、問い合わせ先ホスト)。ターミナル には statusLine の行があります。
コンテキストドットに設定は不要です。pi、OMP、Codex、OpenCodeの場合、Collieはセッションログから直前のターンのトークン数を読み取ります。モデルのコンテキスト長は、Codexのログ、またはディスク上のハーネス自体のモデル一覧(piの models-store.json、OMPの models.db、OpenCodeの ~/.cache/opencode/models.json)から読み取ります。その一覧にないモデルにはコンテキストドットが表示されませんが、モデル名は表示されます。ハーネスがコストを報告する場合、タグにはドットの後にセッションのコストがドル単位で表示されます: Claude Codeは折り返されたステータス行から、pi、OMP、OpenCodeはログから取得します。Codexには存在しないため、タグにコストは表示されません。
ダークモード / ライトモード
注。 Collie はデフォルトでスマートフォンの外観設定に追従します。
固定するには、Settings → Appearanceを開き、Themeカードの下にあるAppearanceカードを見つけて、System、Light、またはDarkを選択します。Themeカードで色を選択し、このカードでその色のライト側かダーク側かを選択します。設定はブリッジ上ではなく、ブラウザのデバイスごとに保存されます。ノートPCがOSに追従している間も、スマートフォンはDarkのままにできます。この設定は、同じデバイス上であればリロードやPWAの再インストールを行っても保持されます。
ターミナルミラーの意図的な仕様差
ミラーは常に ダーク背景 上に描画されます。ライトモードでは、個々の span の色を再設定するのではなく、要素全体を反転します。
エージェントはダーク背景向けに調整された絶対24ビットカラーコード(38;2;r;g;b)を出力するため、後続のパーサーで確実に再マッピングすることはできません。白の上に直接描画すると、ほとんどのエージェント出力でコントラスト比が3:1未満に低下します。反転処理により、意図したコントラストが維持されます。測定結果は ADR 0002 に記載されています。
この実装には実用上 2 つの影響があります。
- エージェントの設定はダークテーマのまま維持してください。 Claude Code、codex、opencode、pi ではこれがデフォルトです。エージェントが ライト テーマを使用している場合、白地に黒系の値が出力され、Collie ではどちらのモードでも視認できなくなります。これは Collie 側ではなくエージェント側の出力に起因します。
- ライトモードでは 差分やハイライトされた行が暗いブロックとして描画される。コントラストは維持されますが、視覚的な重みは反転します。
注。 iOSにインストールした状態でライトモードを使用すると、ステータスバーのテキストが白のままになり、背景に溶け込む場合があります。iOSはWebアプリによるこの値の動的更新を許可していません。この制限を回避するには、インストールしたPWAではなく、ブラウザで直接Collieを実行してください。
Zen モード
注。 Zenモードはデフォルトで無効です。
設定 → デバイス → Zen モード で有効にします(設定はブラウザのデバイスごとに保存されます)。有効にすると、FindとHistoryの横にある⋮のペインメニューに Zen モード オプションが追加されます。これをタップすると、ヘッダー、タブやペインのストリップ、エージェントステータスライン、コンポーザードックなど、CollieのUI要素がすべて非表示になります。ターミナルミラーのみが表示された状態になります。右上のフローティングボタンまたはEscapeキーでUIを復元できます。
Zenモードは 一時的な状態 です。設定内容は保持されますが、ペインを切り替えたりページを再読み込みしたりするとアクティブ状態はリセットされます。ペインは常に標準のchromeで開きます。
ターミナルミラーはZenモードでもポーリングを継続し、インタラクティブなバッファ要素も引き続き機能します。プロンプトボタン、「Load older」、「Show entire history」などのコントロールは、chromeではなくコンテンツストリームの一部であるため、そのまま利用できます。
大画面
注。 タブレットや開いた状態の Fold では、ペイン画面に複数のペインが並んで表示されます。スマートフォンを縦向きにして平らに持っている場合は変更されません。
画面の幅が 600 CSS ピクセル以上かつ高さが 480 ピクセル以上の場合、ペイン画面のレイアウトが切り替わります。横向きのスマートフォンは高さが 480 ピクセル未満のため、スマートフォン向けレイアウトが維持されます。無効にするには、設定 → 外観 → 大画面レイアウト を開いて 無効 を選択します。デフォルトの 自動 では、画面サイズが十分な場合にのみ有効になります。この設定はデバイスごとに保存されます。
レイアウトは 3 つの部分で構成されます。
- サイドバー。 ペインスイッチャーと同じペイン一覧が表示されます。最上段のボタンを押すとアイコンのみの細いレールに折りたたまれ、この設定はデバイス上に保持されます。最上段の ColliePWA マークを押すとホームに戻ります。末尾には 新規スペース と 設定 が配置されています。
- ペインの行。 各スペースには専用の行があり、行は横にスクロールします。サイドバーでペインをタップすると表示されます。長押し(マウスの場合は右クリック)すると、現在のペインを置き換える ここで開く、またはそのペインの隣に追加する 横に開く を選択できます。ペインを行にドラッグすることもできます。表示から削除 を選択すると行からペインが外されます。エージェントの実行は継続されます。
- スペースヘッダー。 スペースの名前、タブ、新規タブ用の + が配置されています。スマートフォンと同様に、タブを長押し(マウスの場合は右クリック)して 名前を変更 または タブを閉じる を実行できます。作業中のタブを閉じると、隣のタブのペインに移動します。2 つのボタン、または縦スワイプで上下のスペースに移動できます。
各ペインの幅は、行の 1/2、4/5、または 全体 です。ペインの幅は 360 ピクセル未満にはならないため、それを下回る幅の選択肢は表示されません。そのサイズで 2 つのペインを行内に収められない場合、すべてのペインが 全体 幅になり、幅の調整機能は非表示になります。スクロールを止めると行はペインの先頭にスナップし、横スクロールによってブラウザの前のページに戻ることはありません。行の末尾には常に ペインを追加 が表示されます。ここには行に表示されていないこのスペースのペインが一覧表示され、それぞれに ここで開く(ペインが行の末尾に追加されます)が用意されています。また、そのペインのマシンとフォルダで新規作成ページを開き、現在のペインの隣にこのスペースの新しいタブとしてエージェントを追加する このスペースに新規エージェント や、新しいスペースに新規エージェント も利用できます。
折りたたみ端末をノート PC のように持っている場合(下記参照)を除き、各ペインには専用のベルトがあります。作業中のペインには枠線と返信用ボックスが表示されます。別のペインのベルトをタップすると、そのペインの操作が実行されてフォーカスが移動します。操作を行わずにフォーカスのみを移動するには、ペイン本体をタップします。
レイアウトはこのデバイスにのみ保持され、「戻る」や共有リンクは従来どおり動作します。
折りたたみ端末。 半開きにした折りたたみ端末では、Chrome と Samsung Internet で折り目を境に画面が分割されます。ノート PC のように持つと、会話部分は折り目より上に維持され、折り目より下にベルトと高さのある返信用ボックスが配置されます。作業中のペインのみ、折り目より下にベルトが残ります。他のペインには Chat のみ表示されます。この分割は幅に関係なく適用されるため、半開きのフリップ型スマートフォンでも同様に変化します。キーボードが表示されている間はフラットなレイアウトに戻ります。本のように持った場合、この分割は幅 600 ピクセル以上で適用されます。ペインが 2 つある場合は画面の半分ごとに 1 つずつペインが表示され、サイドバーはレールになります。ペインが 1 つの場合は、半分にサイドバーが開いたままになり、もう半分にペインが全画面表示されます。他のブラウザではフラットレイアウトのみが表示されます。
ペインナビゲーション
スマートフォンおよび大画面レイアウトでは、ジェスチャーでペイン間やスペース間を移動できます。左右でスイッチャーの順序に従ってスペース内の前後のペインへ移動します。上下で前後のスペースへ移動します。最初または最後のペインやスペースに達している場合、移動操作を行ってもその場に留まります。操作方法は設定 → 外観 → ペインナビゲーションで選択します。変更内容は次回ペインを開いたときに反映されます。
| 操作方法 | 動作の仕組み |
|---|---|
| 2本指 | デフォルトの設定です。チャットまたはターミナル上で1本目の指を静止させたまま、2本目の指を置きます。スマートフォンが振動し、現在の位置を示すボックスが表示されます。2本目の指でスワイプします。短いスワイプは1ステップ、長いスワイプは複数ステップ移動します。2本目の指を離し、続いて1本目の指を離すと、その位置に移動します。 |
| ジョイスティック | ベルトのすぐ上にあるハンドルを押さえ、そのまま指をドラッグします。別のペイン上で離すとそのペインへ移動し、開始位置に戻して離すとその場に留まります。スマートフォンの場合、上へ素早くドラッグするとペインスイッチャーが開きます。 |
| 無効 | ジェスチャーなし。ペインスイッチャーでの移動は引き続き可能です。大画面ではサイドバーやスペースヘッダーでも移動できます。 |
ボックスには、移動先ペインの名前、ステータス、属するスペース、およびスペース内での位置が、スペース一覧マップの上に表示されます。スワイプせずに1本目の指を離す、2本目の指が触れたまま1本目の指を離す、または3本目の指を置くと、現在の位置に留まります。指を離した際に、指の下にある要素がタップされることはありません。端末でこのジェスチャーを初めて開始したとき、ベルトの上に動作の仕組みと無効化の手順を示す短い通知が表示されます。
このジェスチャーは、ページ本来のタッチ操作を妨げません。1本の指を単独で押さえても新しい動作は行われず、長押しによるテキスト選択やメニュー表示は引き続き動作します。2本目の指が最初の指から300ミリ秒以内に置かれた場合はピンチと判定されるため、ピンチズームも引き続き機能します。スクロール中の指や、端末自体の「戻る」ジェスチャーが割り当てられている画面左右の端から始まる指操作では、このジェスチャーは開始されません。2本目の指が触れた瞬間から1本目の指を離すまでの間、ページ上の選択とスクロールは保留され、事前に選択されていた内容は解除されます。ペインナビゲーションはタッチ操作専用であり、マウス操作では機能しません。TalkBackが有効な場合、TalkBackが2本指スワイプを使用するため、このジェスチャーは動作しません。ペインスイッチャーでの移動は引き続き利用可能です。
Chatビュー
注。 1.17.0以降、エージェントペインのデフォルト表示はChatになりました。Terminalは1タップで切り替えられます。
エージェントペインはChatで開きます。Chatはターミナルの代わりに、ユーザーの入力、エージェントの返答、折りたたまれた思考内容、ステップごとのカードなど、エージェントとの対話そのものを描画します。コンポーザー、ベルト、ペインメニューの配置は変わりません。ターミナルを表示するには、ペインの⋮メニューを開いてTerminal表示をタップします。この選択はブラウザに保存されるデバイス全体の設定であり、ターミナルを選択済みのデバイスではその設定が維持されます。同じメニューのChatビューで元に戻せます。
Claude Codeの処理中にメッセージをキューに入れると、Chatはそれを送信待ちカードに表示し、カードの今すぐ送信ボタンでキュー全体を実行中のターンへ一度に送信します。このボタンが提供されるのはClaude Codeのみです。ボタンを押すと、この操作に割り当てられているCtrl+Enterが入力されます。読み取り専用デバイスや保存済みコピーではボタンが表示されません。
OMPやpiを含む他のエージェントの大半は、ターンが終了するまでキューに入ったメッセージについてログに何も書き込みません。これらについては、エージェントのログにそれぞれがプロンプトとして現れるまで、Collie自体がキューに入れたメッセージをChatが同一の 送信待ち カード上に描画します。そのカードにはボタンがありません。Collieはエージェントのキューからメッセージを取り出すことができないため、Cancelはありません。取り消すにはターンを停止してください。
キューに入ったメッセージの行方がCollieで追跡できなくなると、カードは消去されずに Not confirmed と表示します。これは、エージェントが空のボックスのまま2回連続でアイドル状態になった場合、または実行中のターンのないまま30分が経過した場合に発生します。Discard ボタンを押すとカードが削除され、何も送信されません。
表示設定の歯車アイコンには、デフォルトでオフになっているStretchtext形式の返答スイッチがあります。これをオンにすると、チャット、全返答カード、および履歴において、cc-stretchプラグインで書かれた返答が短縮形式で表示され、フレーズをタップすると展開されます。バーのない{{name}}はnameとして表示されます。
Chatには1点、既知の未対応事項があります。Hermesがログの圧縮などを行った場合、Collieが読み取った後にログからターンが削除されることがあります。その場合、セッションが再読み込みされるまで、Chatはそのターンを表示し続けます。ターミナル表示ではこの問題は発生しません。
Chatは画面ではなくエージェントのセッションログを読み取ります。そのため、ペインでChatを利用できるのは、Collieがそのペインで実行されているセッションを把握している場合のみです。エージェントがマルチプレクサに通知する必要があり、ペイン自体がこれを特定することはできません。
| マルチプレクサ | セッションの通知元 | Chatの対応対象 |
|---|---|---|
| Herdr | 各エージェントに対応するHerdrインテグレーション。herdr integration install <agent>で一度インストールし(例: claude、codex、opencode、pi、omp、grok、hermes)、エージェントを再起動します。 | インテグレーションが存在し、Collieがセッションログを読み取れるすべてのエージェント |
| tmux、zellij、Tern(実験的) | Collieのビーコンフック | Claude Codeのみ(collie hooks install claudeの後) |
| tuios | tuiosデーモン | デーモンが報告するエージェント |
OpenClawはChatにHerdr統合を必要としません。HerdrはOpenClawセッションを中継しないため、Collieはopenclaw tui(agent main (main) | session work | …)のフッターからセッション名を読み取り、$OPENCLAW_STATE_DIRまたは~/.openclaw配下にあるそのエージェントのセッションデータベースを読み取り専用で開きます。状態フォルダが別の場所にある場合はopenclaw_rootを設定してください。ペインは自身をエージェントopenclawとしてHerdrに報告する必要があります。CollieがOpenClawの設定ファイルやゲートウェイトークンを読み取ることはありません。
KiroもHerdrとの連携設定は不要です。Herdrはkiro-cliペインのエージェントをkiroと名付け、Collieは実行中のKiroが保持するロックからペインのセッションを検出します。Collieは、--v3または--agent-engine v3で開始されたKiro V3セッション、あるいはKiro独自の設定でエンジンとしてV3が指定されたセッションを読み込みます。V1またはV2のセッションにはチャットや履歴がありません。Kiroがセッションを別の場所に保存している場合はkiro_rootを設定してください。
herdr integration statusはインストール済みのインテグレーションを表示します。フックはエージェントの起動時に読み込まれるため、インストール前に実行中だったエージェントは再起動が必要です。Oh My Piはompインテグレーションであり、piのものではありません。これらは2つのフックを持つ別個のエージェントであり、同じログ形式を共有します。
新規エージェントペインは、読み込む内容がない初期状態でも即座にChatを表示し、「Send a message to start」という1行を示します。Codexは最初のメッセージ送信後に初めてセッションを報告し、piは最初の返答後に初めてログを書き出すため、両者ともこの挙動になります。対話が存在する状態になると、即座に対話内容が表示されます。
Chatで表示できない事象が発生すると、ペインはターミナル表示にフォールバックします。たとえば、読み込む内容がない段階でエージェントから質問された場合や、最初のターンが終了してもセッションや読み込むべきログファイルが存在しない場合です。その際ターミナルには不足している対象を示す1行が表示され、⋮行にその理由が示されます。読み込み内容もその他の反応もないまま最初のターンが1分間継続した場合もフォールバックします。初回オープン時にすでに実行中かつセッションが存在しないペインは、即座にターミナルを表示します。後からセッションやログが届くと、ペインはChat表示に戻ります。Chatはこの行を隠さないため、フックの不足と機能自体の不足を判別できます。collie doctorはagent-sessionsの下にこれらのペインを一覧表示し、解決に必要な連携設定の行(integration-<agent>)を示します。手順はトラブルシューティングページのペインにChatやHistoryがないにあります。
オフラインでの閲覧
ブリッジと通信できない場合、スマートフォンには最後に保存されたコピーが表示されます。閲覧は可能ですが、操作はできません。
スマートフォンはペインごとに2つのデータを保持します。最後に確認したターミナルのテキストと、Chatで描画された最新のChatターンです。生のターミナル画面をChatとして保存することはありません。Collieを開いて約1.5秒以内にブリッジからの応答がない場合、スマートフォンは即座にこの保存済みコピーを描画し、ブリッジが応答した時点でライブデータに置き換えます。
保存されたコピーは、ライブ画面と見た目が異なります。
- エージェント一覧が薄く表示され、各ステータスは過去形(「was working」「needed you」)になり、ヘッダーに基準日時:と保存日時が表示されます。
- Chatペインには「Saved copy from」と日時が表示されます。以前のターンはブリッジ側に残っています。
- プロンプトボタン、カード、送信ボタンは無効化されます。保存済みコピーをタップしてもエージェントには届きません。
接続バーには、次の3つの原因のいずれかが表示されます。
| バーの表示 | 原因 | スマートフォンの表示 |
|---|---|---|
| オフラインです | スマートフォンにネットワークがない | 保存済みコピー(日時付き) |
| ブリッジへの接続がありません。接続またはTailscaleを確認してください。 | その他の読み取り失敗 | 保存済みコピー(日時付き) |
| ペアリング画面 | ブリッジがこのデバイスを拒絶(未ペアリング、取り消し済み、または期限切れ) | 保存データなし。拒絶された時点でコピーは削除されます |
TailscaleなどのVPNを使用している場合、機内モードでも端末のネットワークフラグがオンのままになるため、バーは「ネットワークなし」と「ブリッジのダウン」を常に区別できるとは限りません。その場合、ブリッジから応答がないことのみが表示されます。
アプリを開いている間、応答のない最初のポーリングが発生するとバーと保存されたコピーが表示されます。ポーリングの待機時間は最大6秒で、これはブリッジがマルチプレクサを待つ時間より1秒長いです。サーバーエラー(5xx)は2回連続した時点でカウントされます。画面上の表示はそのまま維持され、稼働中の応答が最初に返った時点でライブ表示に戻ります。
アプリに戻った直後は、応答のない最初のポーリングだけではカウントされません。Tailscaleリンクの復帰に少し時間がかかることがあるため、端末は0.5秒後に再試行し、そのポーリングでも応答がない場合にのみバーを表示します。
設定 → デバイスのこのスマートフォンにチャットを保存で、Chatのターンを端末に保持する期間を設定します:
| 値 | 説明 |
|---|---|
| 無効 | Chatのターンを保持せず、すでに保持されているものを削除します |
| 1日 | デフォルト |
| 7日 | 1週間保持します |
ターミナルのテキストには24時間という独自の保持期間があり、この設定では変更されません。ターミナルビューにおいて、唯一のオフラインコピーはそのターミナルテキストです。
注。 端末にはブリッジがすでにマスキングしたテキストのみが保持され、ペインがパスワードを要求している間はそのペインのコピーが破棄されます。スマートフォンが保持するデータに、各アイテム、そのサイズ制限、および保持期間が一覧表示されています。
変更
ファイル画面には、ワークスペースのgitリポジトリ内でエージェントが変更した内容が変更セグメントの下に表示されます。リポジトリを検索する範囲は、設定 → デバイス → 変更点にあるデバイスごとの2つの設定によって決まります:
| 設定項目 | デフォルト | 説明 |
|---|---|---|
| このフォルダー内のリポジトリを検索 | オン | ワークスペースフォルダーより下位のフォルダーにあるリポジトリも一覧表示します。親リポジトリが無視しているものも含みます。 |
| 検索する深さ | 2 | ワークスペースフォルダーから何階層下まで検索するか(1〜4) |
検索の仕組みについては 対象フォルダと対象リポジトリ を参照してください。
言語
Collieのインターフェースは12言語で利用できます。設定 → 外観 → 言語で設定してください。
- English
- Deutsch
- Español
- 한국어
- 日本語
- 中文
- Русский
- Italiano
- Français
- Português
- Türkçe
選択内容はデバイスごとにブラウザのローカルへ保存されます。ターミナルミラーは翻訳されず、エージェントからの生の出力が表示されます。クイック返信、メニューラベル、キーキャップは、元の画面やキーボードの名前に一致します。
通知のタイトルもこの設定に従います。たとえば韓国語に設定されたデバイスでは、「claude needs you」は「claude 입력 대기」として届きます。デバイスは、次に Collie を開いたときに新しい設定を反映します。それまでは以前の言語でタイトルが表示されます。タイトル下の本文はペイン独自の名前と場所であり、翻訳されません (Web Push)。