リモートアクセス

Tailscale ネットワーク上の別のデバイスのブラウザから Agentty ワークスペースを開く。

リモートアクセスを使用すると、別のデバイス — スマートフォン、タブレット、または別のコンピュータ — のブラウザから Agentty ワークスペースを開くことができます。自分の Tailscale ネットワーク内から、ローカルネットワークでターミナルセッションを表示し、コマンドを直接入力し、エージェントにプロンプトを送信できます。

画面に表示されるもの#

ページは Agentty アプリと同じ構成です。

  • ☰ メニュー — グループとワークスペースがサイドバーと同じ順序・色で、ブランチとフォルダと一緒に表示されます。赤い数字は、そのワークスペースで回答を待っているターミナルの数です。広い画面では左側に常に開いています。
  • タブ — 選んだワークスペースのタブが上に並びます。点は作業中または回答待ちのタブ、▥2 は 2 つのペインに分割されたタブです。
  • 分割ペイン — タブが分割されていると、右上のボタンでペインの一覧を開き、各ペインの状態と質問を見て、タップで切り替えます。
  • ターミナル — 中央に、選んだペインのライブ画面が表示されます。

プラグインのワークスペースは表示されません。

画面のキーバーを使用して、Esc、Tab、Shift+Tab、矢印キー、Enter、Ctrl+C、スティッキー Ctrl キー、および エージェントが回答を要求するときのクイックボタン(1/2/3) で、ターミナルに直接入力できます。または、下部のボックスからプロンプトを送信できます。コンピュータ では Enter を押し、行を追加するには Shift+Enter を押します。

ページの通知を受け取るを押すと、ページを開いたまま別の作業をしている間にセッションが完了したり応答を求めたりしたとき、ブラウザ通知が届きます。

ページでターミナルを表示している間、ターミナルはページの大きさに合わせられます。画面に収まるだけの列と行を使うので、行が折り返されたり横にスクロールしたりしません。A− と A+ で文字サイズを変えられます(端末ごとに保存)。どのページもそのターミナルを表示しなくなると、アプリでの元の大きさに戻ります。このページをホーム画面にアプリとして追加できます。

Slack・Discord・Telegram の通知を設定している場合(設定 → 通知)、リモートアクセスがオンの間はメッセージの下に 今すぐ確認: <アドレス> が付きます。このアドレスを開くと、Tailscale と Web パスワードの確認の後、そのターミナルが直接開きます。 このアドレスには Mac と tailnet の名前が含まれるため、エージェントの質問内容を含める がオンのときだけ送ります。

必要なもの#

次が必要です。

  • Tailscale Mac にインストールされ、接続されている (別のデバイスも同じ Tailscale アカウントでサインインしている)
  • MagicDNS と HTTPS 証明書 tailnet で有効になっている (Tailscale 管理コンソール → DNS)
  • Tailscale Serve tailnet で許可されている — そうでない場合、Agentty はオンにするボタンを表示します

セットアップ#

  1. サイドメニューの リモートアクセス(地球儀とモニターのアイコン)を開く
  2. Web パスワード を設定 (8 文字以上、2 回入力)
  3. リモートアクセスをオン にする
  4. 表示されたアドレスをコピーする (https://<machine>.<tailnet>.ts.net:8743/) か、オープン をタップしてそこに直接移動する
  5. 別のデバイスで Web パスワードでサインインする

これで完了です。セッションがそのデバイスで表示されるようになりました。

セキュリティ#

リモートアクセスは Tailscale ネットワーク内からのみ到達可能です — 公開インターネットには決してありません。Funnel がそのポートに対してオンになっている場合、Agentty は実行を拒否します。入るには次の 2 つをどちらも通る必要があります。

  1. Tailscale アカウント — この Mac の持ち主のアカウントだけが入れます。tailnet を共有する他の人やタグ付きデバイスは拒否されます。
  2. Web パスワード — リモートアクセス画面で決めたパスワード。

ほかの人の Tailscale アカウントは、同じ tailnet 内でも入れません。あなたの Tailscale アカウントでサインインした端末で Web パスワードも通った場合にだけターミナルに入力でき、Mac でコマンドを実行できることになります。Web パスワードは誰とも共有せず、他で使っていないものにし、不要なときはリモートアクセスをオフにしてください。

Agentty のページに届くのは Tailscale だけです。Agentty は Tailscale の serve だけが入れる場所で待ち受けます。Tailscale が開ける場合は専用ソケット、そうでなければ Tailscale にだけ伝えた秘密のパス付きのローカルポートです。そのため Mac 上の他のプログラムや他のユーザーアカウントは直接入れません。ページは Tailscale が動いている間だけ動作します。Tailscale が切断・サインアウト・終了すると数秒以内にページを止め、再接続されると自動で再開します。

サインイン試行の失敗は速度制限されます。5 回のパスワード誤入力後、1 分間ロックされます。ロック後の各パスワード誤りは待機時間を 2 倍にし、最大 1 時間です。デバイスがサインインしたときとページがロックされたときに、デスクトップ通知が表示されます。 自分でロックしたのでなければ、リモートアクセス画面の ロック解除 ですぐに解除できます。

パスワードはシステムキーチェーンにハッシュとしてのみ保存されます。サインインは最大 7 日間 (アイドル 12 時間) 続きます。Agentty を終了したり、パスワードを変更したり、すべての端末でサインアウト をタップすると、すべてのデバイスが一度にサインアウトします。

起きたままにする#

リモートアクセスがオンの間、Agentty は Mac がアイドルスリープに陥らないようにして、到達可能に保ちます。ディスプレイはまだスリープに入る可能性があります。必要に応じてこれをオフにできます。

スリープ状態の Mac または閉じたノートパソコンには到達できません。

リモートアクセスは再起動後も有効なままになり、オフにするまで続きます。Tailscale ポート 8743 を使用し、Tailscale で提供する他の何にも干渉しません。他のものが既にポート 8743 を使用している場合、Agentty はエラーを表示します。

機能を隠す#

リモートアクセスを使わない場合は、設定 → 一般 → リモートアクセス機能を使う をオフにするか(既定はオン)、リモートアクセス画面の リモートアクセスを無効にする を押します。サイドメニューからアイコンが消え、リモートアクセスもオフになります。設定をオンに戻すと再び表示されます。

特定のワークスペースだけをページから外すには、そのカードのメニュー (右クリック) で リモートアクセスで非表示 を選びます。ページの一覧から消え、そのターミナルにも届かなくなります。

トラブルシューティング#

Tailscale が接続されていない Mac の Tailscale アプリで接続してください。

HTTPS 証明書がオフ Tailscale 管理コンソール (DNS 設定) で MagicDNS と HTTPS を有効にしてください。これで tailnet ドメイン用の証明書が作成されます。

Serve がオフ Agentty は設定で Serve をオンにするボタンを表示します。タップして Tailscale 管理コンソールを開きます。

この Tailscale アカウントはこの Agentty を使用できません (サインインページに表示) 別のデバイスが別の Tailscale アカウントでサインインしています。Mac と同じアカウントでサインインしてください。

ページに「ロック」と表示 (サインインフォームの代わりに表示) パスワードを 5 回間違えたか、他の誰かが間違えた可能性があります。待つか、リモートアクセス → 最近のアクティビティ をチェックして何が起こったかを確認してください。 自分でなければ、Mac のリモートアクセス画面で ロック解除 を押してください。