本文へスキップ
ColliePWA

複数のエージェントをスマートフォンから操作。

ColliePWA は、ローカルマシンのターミナルマルチプレクサへ接続するモバイルインターフェースです。バックグラウンドで動作するコーディングエージェントの入力を監視し、スマートフォンの画面から応答できます。

  • 対応マルチプレクサ:
  • Herdr
  • tmux
  • Zellij

1.0 では Herdr を公式サポートしています。tmux と zellij は実験的サポートです。 詳細は マルチプレクサ を参照

稼働中の ColliePWA の画面例です。外部接続はないため、操作しても応答しません。

01/デモ

動作確認

実際の ColliePWA アプリです。エージェント、群れ、ターミナル、応答はすべてブラウザ上のダミーデータです。バックエンドのプロセスは稼働せず、通信も発生しません。

  1. 01一番上にある blocked 状態のエージェントを開きます。
  2. 02要求内容を確認します。ターミナル出力をそのまま反映しています。
  3. 03回答をタップすると処理が再開します。
  4. 04Keys をタップすると Esc、Tab、矢印キー、Ctrl などモバイルにないキーを表示します。
フルサイズでデモを開く

02/機能

コア機能と 1.0 の追加要素

実行中

ターミナルをそのまま表示

要約やテキスト抽出ではなく、カラー出力を含むエージェントの生出力をそのまま描画します。デスクトップと同じターミナル画面を確認できます。

実行中ペインのミラー表示。エージェントのカラー出力をそのまま保持します。 稼働中の ColliePWA 画面。未接続のためタップしても応答しません。

停止時

タップ操作で応答

パーミッション確認プロンプトを3つのボタンに変換します。送信前に現在の画面状態と照合するため、未確認のプロンプトに対する誤操作を防ぎます。

パーミッション確認で待機中のペイン。 稼働中の ColliePWA 画面。未接続のためタップしても応答しません。

1.0 の変更点

036言語に対応

設定から英語、ドイツ語、スペイン語、韓国語、日本語、中国語を選択できます。翻訳対象は UI のみです。エージェントの出力自体は翻訳されず、ターミナルの生データが維持されます。

詳細は 設定 を参照

ColliePWA 設定内の言語切り替え項目。 稼働中の ColliePWA 画面。未接続のためタップしても応答しません。

04明示的なペアリング認証

collie pair は10分間・最大5回の試行で有効な8文字のコードを発行します。端末側で1度だけ表示されるトークンと交換し、ブリッジ側はハッシュのみを保持します。端末名指定で失効させると次のリクエストからアクセスを遮断します。

詳細は セキュリティ を参照

未登録状態のブリッジにおけるペアリング画面。 稼働中の ColliePWA 画面。未接続のためタップしても応答しません。

05音声入力による応答

長押しで音声を録音し、文字起こし結果を入力欄に挿入します。OpenAI 互換エンドポイント(自前運用の whisper.cpp や parakeet.cpp を含む)または既存の Codex CLI 認証情報を利用するため、追加の API キーは不要です。HTTPS 接続が必要で、tailscale serve で構成できます。

詳細は 音声入力とWeb Push を参照

音声入力の設定項目。文字起こし結果の反映先を指定します。 稼働中の ColliePWA 画面。未接続のためタップしても応答しません。

06状態変化時の Web Push

エージェントの入力待ちや処理完了時に通知します。通知を選択すると対象のエージェントが開きます。HTTPS 接続と collie push-keys が必要です。

詳細は 音声入力とWeb Push を参照

07worktree をスペースとして統合

Herdr 上で開いているリポジトリの git worktree を開くと、別行を新設せず元のチェックアウト配下にネスト表示します。git コマンドではなく Herdr 側で展開するため、他のスペースと同様に扱えます。

`collie` 配下にネストされた2つの worktree。リポジトリ外の `blog` は同階層に維持されます。 稼働中の ColliePWA 画面。未接続のためタップしても応答しません。

08Zen モード

端末ごとの設定で、ペインメニューにターミナル以外の UI をすべて非表示にする項目を追加します。画面復帰手段がフローティングボタン1つのみになるため、初期状態ではオフになっています。

詳細は 設定 を参照

Zen モードの設定項目。ペインメニューへの表示有無を切り替えます。 稼働中の ColliePWA 画面。未接続のためタップしても応答しません。

接続経路

09単一のエントリポイント

ColliePWA はループバックアドレスにのみバインドし、インターネットへ直接公開されません。ホストからモバイルへのルーティングには、collie start で自動設定される Tailscale や、他のメッシュネットワーク、トンネル、リバースプロキシを利用します。各種構成手順をドキュメントに記載しています。

詳細は セキュリティ を参照

10単一ポートから複数マシンへアクセス

Pack は、各マシンで稼働する ColliePWA の集合です。スマートフォンは lead 経由ですべてのマシンにアクセスします。アップロード、ジャーナル、監査ログ、アップデート、フェイルオーバーはマシンごとに管理され、tmux や zellij 上でも同様に機能します。Herdr に保存したマシンは Herdr のウィンドウ内に保持されます。スマートフォン側が認識する対象が Pack です。

詳細は Pack を参照

3台構成(Leader 1台、Deputy 1台、Peer 1台)のマシン一覧。 稼働中の ColliePWA 画面。未接続のためタップしても応答しません。

その他の機能

11全エージェントの一覧管理
必要な操作内容ごとにエージェントを自動分類します。入力待ち(blocked)のエージェントが最上部に配置されます。
12実行ログの遡及スクロール
エージェント自身の出力ログを読み込むため、最終画面だけでなく実行全体の履歴を確認できます。
13単一 UI からのセッション管理
Herdr 上の設定ルート配下にある名前付きセッションを一覧化し、ホスト側を直接操作せずにヘッダーから切り替えられます。

全機能の一覧(ColliePWA README より)

03/対象ユーザー

マルチプレクサでエージェントを動かし、デスクを離れる開発者向け。

ColliePWA は、単一ホストのターミナルペインで複数のコーディングエージェントを動かす開発者向けのツールです。ターミナル自体を置き換えるものではありません。入力待ちのエージェントにスマートフォンから応答し、元の作業に戻ることができます。

既存の開発環境にそのまま接続
すでに使用している Herdr、tmux、zellij などのマルチプレクサに接続します。独自のセッション管理やエージェントのラッパーは不要です。1.0 では Herdr をサポートしており、tmux と zellij は実験的機能です。
アプリストアなし、クラウドなし、アカウントなし
Tailnet 経由でローカルマシンから配信される PWA です。ストア掲載、ベンダーアカウント、クラウドプランは一切ありません。利用する外部サービスは、ブラウザのプッシュ通知サービスや、ローカルエンジンの代わりに使用するクラウドアシストの文字起こしエンドポイントなど、自身で有効化したものに限定されます。ホーム画面に追加すればアプリ感覚で動作します。
モバイル入力に最適化したキーパッド
特殊キー、矢印キー、修飾キーを専用キーパッドに配置。カスタムクイック返信やスラッシュコマンドもワンタップで送信できます。入力欄はプレーンテキストフィールドのため、スマートフォンの音声入力がそのまま利用可能。HTTPS 環境で collie stt setup を実行すれば、組み込みの音声入力も利用できます。
エージェントの入力待ちを通知
オプションの Web Push により、エージェントが入力を要求した際や処理完了時に通知します。通知をタップすると対象のペインを直接開きます。HTTPS と collie push-keys の設定が必要です。
複数マシンを単一の URL で管理
Pack 機能により、全ホストを単一のアドレスに集約します。事前に認可したフェイルオーバーをブラウザから直接実行でき、同じ画面からワンクリックで Pack 全体を更新可能です。
MIT ライセンス。開発に参加する。
ソースコードは MIT ライセンスのもと GitHub で公開されています。tmux や zellij 環境でのバグ報告や、動作実績のフィードバックを歓迎します。

04/セキュリティモデル

ホスト上で直接動作するシェルインターフェース。

ColliePWA は、実行ユーザー自身の権限でターミナルへの入力を行います。エンドポイントに到達可能なクライアントは、すべてのペインの閲覧および任意のコマンド実行が可能です。そのため、本ソフトウェアは中央集権型のホスティングを提供せず、セルフホスト専用となっています。

エージェントと同一ホストで動作
エージェントが稼働するマシン上で動作し、マルチプレクサの出力を中継します。1.0 では Herdr をサポートしています。tmux および zellij は実験的機能です。クラウドサービスや外部アカウントへの依存はありません。
ループバックバインドと単一の入口
127.0.0.1 にのみバインドし、0.0.0.0 には公開しません。tailscale serve や適切に設定されたリバースプロキシを介してアクセスします。Tailscale Funnel による公開は行いません。
デバイス単位の認証
認証は接続元の端末単位で行われ、個別のユーザー認証機構はありません。パスワード認証は存在しないため、端末の画面ロック管理に依存します。
ローカルホスト上のアクセス権
マルチプレクサのソケットはファイルパーミッションで保護されますが、ColliePWA の待ち受けポートは TCP です。同一ホスト上の他ユーザーを制限する場合は、Tailscale の COLLIE_TRUSTED_USER 設定やアクセス制御ルールで適切に制限してください。

コードベース全体が MIT ライセンスで公開されています。運用開始前に必ず セキュリティノート を確認してください。

05/インストール

1 コマンドで導入、またはソースからビルド。

ColliePWA はエージェントが動作する同一ホスト上で実行します。インストーラースクリプトは対象プラットフォーム用のリリースを取得して検証します。ビルドには git と Bun が必要です。どちらの方法でも collie が PATH に配置されますが、バックグラウンドサービス等は自動起動しません。

$ curl -fsSL https://colliepwa.dev/install.sh | sh

POSIX sh スクリプトです。sudo 権限を要求せず、システムサービスも登録しません。~/.local/share/collie~/.local/bin 以外のパスは変更しません。対象環境向けの最新リリースを取得し、公開されている sha256 ハッシュで整合性を検証した上でインストールします。依存関係は curltar、sha256 コマンドのみです。ビルド済みバイナリを取得するためコンパイラは不要です。

上記の URL は当サイトが配信するミラーです。正規のソースはリポジトリ内の scripts/install.sh にあります。実行前に内容を確認してください。

$ curl -fsSL https://raw.githubusercontent.com/AltanS/collie/main/scripts/install.sh | less
$ curl -fsSL https://raw.githubusercontent.com/AltanS/collie/main/scripts/install.sh | sh

更新時は collie update を実行すると、同様の手順で新バージョンを検証・配置します。旧バージョンは保持されるため、collie update --rollback で即座にロールバックできます。この機能はバイナリインストール時のみ有効です。ソースからビルドした場合はリポジトリのチェックアウトが更新されるため、世代管理は行われません。

scripts/install.sh(コミット 2ded11d、2026-08-31)より複製。

残る手順は 1 つです: 起動します。

# one step left. It asks which multiplexer to mirror — herdr, tmux or
# zellij — and writes your answer to ~/.config/collie/.env, creating it.
$ collie start

設定の変更は任意です。設定は start が作成する ~/.config/collie/.env に保存されます。デフォルト値で不都合がある場合は、このファイルで COLLIE_TRUSTED_USER やポート、フロントドアを設定してください。

出力された URL を、同一ネットワーク上のスマートフォンのブラウザで開きます。ホーム画面に追加することでスタンドアロンアプリとして動作します。

セキュアなアクセス経路の設定: ColliePWA はループバックアドレスにのみバインドし、インターネットへ直接公開しません。ホストへアクセスするための通信経路が必要です。標準では Tailscale を使用しますcollie start を実行すると tailscale serve が設定され、MagicDNS 経由でアクセス可能な URL が表示されます。他のメッシュネットワーク、SSH トンネル、または独自のリバースプロキシも利用可能です。設定例は DEPLOYMENT.md を参照してください。本ソフトウェアは単一ユーザー専用設計であり、マルチユーザー機能や公開共有モードは存在しません。

動作環境、インストール手順、初回起動時の出力