リモートアクセス
外出先のスマホから、Mac で動いている tako の画面を見て、必要なら口を出せます。エージェントに長時間タスクを任せて席を離れるときのための機能です。
一言でいうと
Section titled “一言でいうと”あなたの Tailscale ネットワーク(tailnet)の中だけに存在する固定 URL を開くと、tako の画面がブラウザに出ます。通信は WireGuard で端から端まで暗号化され、URL は public internet には存在しません。さらに、その端末が画面を見られるようになるには Mac の前で「許可」を押す必要があります。
Mac とスマホの両方に Tailscale を入れ、同じアカウントでログインしておきます(個人利用は無料プランで十分です)。あとは対話ウィザードが案内します。
tako remote setupTailscale の導入 → ログイン → HTTPS 有効化 → serve 設定 → QR コード生成、までを順に確認しながら進みます。すでに済んでいる項目は飛ばされます。
tako remote start # 起動して QR コードを表示tako remote status # 固定 URL と登録端末数tako remote stop # 停止スマホで QR を読む(またはウィザード末尾の URL を開く)と、Mac の画面に承認ダイアログが出ます。端末名と要求権限を確認して許可すると、以後その端末から画面が見えるようになります。
安全性の作り
Section titled “安全性の作り”層① Tailscale identity
Section titled “層① Tailscale identity”tailnet にログインした端末だけがサーバーに到達できます。Tailscale が保証する identity をサーバー側で検証するため、tailnet の外からは届かず、偽装もできません。daemon の待ち受けは127.0.0.1(ループバック)だけにバインドされ、LAN や外部ネットワークからは接続できません。外部への入口は tailscale serve が張る tailnet 内限定の HTTPS だけです。
層② 機器ペアリング
Section titled “層② 機器ペアリング”tailnet の中の端末であっても、Mac の画面で承認するまで画面データを一切受け取れません。接続 URL と QR は恒久固定で、secret(トークン)を含みません。QR を他人に見られても、その端末は Mac での承認を通らない限り何も見られません。
権限(role)は 4 段階です。
| role | できること |
|---|---|
| Observe(既定) | 画面を見るだけ |
| Interact | + テキスト入力・承認応答 |
| Manage | + ペインを閉じる・リサイズ |
| Admin | + 端末管理(一覧・失効) |
権限を上げられるのは Mac の画面だけです。 AI・CLI・スマホからは要求しかできません。これは「tako を操作できる端末を増やす」というセキュリティ境界の操作を、必ず Mac の前にいる人間の手を経由させるための設計です(tako の「AI フルコントロール」原則の、意図的な例外)。下げる・消すのは CLI / MCP からもできます(置き忘れた権限をその場で畳めるほうが安全側なので)。
スマホから権限の更新をリクエストする
Section titled “スマホから権限の更新をリクエストする”権限が足りない画面(例: ファイルを開こうとしたとき)には、**「権限の更新をリクエスト」**が出ます。欲しい権限と理由を書いて送ると、Mac 側に承認ダイアログが出て、通知欄にも 1 行残ります。
- 許可されると、スマホは画面を読み込み直さずにそのまま続きができます(承認待ちの間だけ 2 秒ごとに状態を見に行き、承認・拒否のどちらでも止まります)
- リクエストは権限を 1 ミリも動かしません。 送れるのは「お願い」までです
- Mac を離れていてダイアログを見逃しても、依頼はやることリスト(
tako todo list)に残ります。あとから 設定 → リモート で権限を選び直せます
端末ごとの権限を編集する
Section titled “端末ごとの権限を編集する”設定 → リモートに、ペアリング済みの端末が 1 台 1 行で並びます。行の権限チップを押すとその場で切り替わり、「登録を消す」で失効できます(接続中なら即座に切断されます)。承認待ちの要求があれば、その上に「誰が・今なにを・何を求めているか・書いた理由」が出ます。
ステータスバーのチップからは、接続端末の一覧・失効・**kill switch(全端末を即遮断)**と、この編集画面への導線が開きます。
CLI / MCP からできること
Section titled “CLI / MCP からできること”tako remote devices list # 端末と、承認待ちの要求tako remote devices role <device-id> observe # 権限を下げるtako remote devices revoke <device-id> # 接続中でも即座に切断されるrole に今より強い権限を渡すと、理由を添えて断られます(Mac の画面での操作を案内します)。「上げられない」ことがその場で分かるように、コマンド自体は用意してあります。
スマホでの見え方
Section titled “スマホでの見え方”画面は 1 本の連続スクロールで読める「リーダービュー」で表示されます。行は画面幅で折り返されるのでスマホでも読みやすく、上へスクロールすれば過去の出力、最下部に戻れば自動追従が再開します。スマホから接続しても PC 側のペインサイズには一切影響しません。
エージェントの会話も読めます。権限確認のダイアログが出ている worker があれば、スマホ側にも承認カードが出るので、その場で応答できます(Interact 以上)。
スマホから新しく立ち上げる
Section titled “スマホから新しく立ち上げる”一覧画面の右上「+」から、新しいタブを 3 種類のうちどれかで立てられます。選ぶと Mac 側にもそのタブができ、スマホの画面はそのペインへ切り替わります。
| 選択肢 | 立つもの |
|---|---|
| master を起動 | オーケストレーターの会話(プロファイルを選ぶ)。Remote Control が ON のプロファイルなら、そのまま Claude アプリへ送り出せます |
| ターミナル | シェルが 1 枚 |
| SSH ターミナル | ~/.ssh/config の Host 一覧から選んだ相手への SSH |
SSH は接続に失敗してもペインが残り、理由がその場に出ます(ssh をもう一度手で打てる状態で止まります)。
いずれも Manage 以上の権限が必要です(新しいタブとプロセスを作る操作なので、ペインを閉じる・リサイズするのと同じ扱いです)。権限が足りない端末では選択肢を出さず、理由だけが出ます。
Mac 側で同じことをする CLI は tako tab new と tako open-in remote <host> --target tab、master は tako master です。スマホから立てても同じ経路を通ります。
スマホからファイルを見る・直す
Section titled “スマホからファイルを見る・直す”一覧画面のファイルアイコンから #/files を開くと、PC のファイルを見て・中身を確かめて・その場で直して保存できます。並ぶのは 3 つの節です。
| 節 | 中身 | 必要な権限 |
|---|---|---|
| ショートカット | よく行くフォルダ。既定でホーム / デスクトップ / ダウンロードが出ます | Manage 以上 |
| tako のツリー | Mac の tako でいま開いているフォルダ(SSH 先を含む) | Interact 以上 |
| このマシン | / から Finder のように全部たどれます(Windows はドライブごと) | Manage 以上 |
「このマシン」とショートカットが Manage 以上なのは意図的です。 画面を見るだけ(Observe)と、ファイルを丸ごと持ち出せることは危険度が別物で、さらに「PC 全体を読める」は「ペインを閉じる・新しいターミナルを立てる」と同じ強さだからです。Interact の端末にはこれまでどおりツリーに出ているフォルダだけが見えます。権限はペアリングのときと同じく、Mac 画面のダイアログでだけ上げられます。
読めないフォルダ(システム領域や他のユーザーの領域)へ入ろうとすると、理由が出ます。一覧の中に読めないファイルが混ざっているときも、その行に理由が出ます(0 バイトのファイルとして黙って並べません)。
ショートカットを足す
Section titled “ショートカットを足す”「このマシン」からフォルダを開いて 「ショートカットに追加」 を押すと、一覧の先頭に並びます。同じフォルダを二度足しても増えません。既定の 3 つ(ホーム / デスクトップ / ダウンロード)は消せませんが、登録したものはゴミ箱アイコンで消せます。
Mac 側では CLI からも同じことができます。
tako remote shortcuts # 一覧(既定 + 登録分)tako remote shortcuts add ~/dev/myapp # 追加(--name で表示名を指定)tako remote shortcuts remove ~/dev/myapp # 削除(id でも指定できます)保存先は <data_dir>/remote/shortcuts.json で、tako を再起動しても残ります。
スマホからタスクを片付ける
Section titled “スマホからタスクを片付ける”一覧画面のチェックリストのアイコンから #/tasks を開くと、AI が起票した「人がやること」が並びます。未完了の件数はアイコンの右肩に出ます。
添付のダウンロード・投稿文のコピー・返答・完了までスマホだけで終えられます。必要な権限は操作によって違います。
| 操作 | 必要な権限 |
|---|---|
| 一覧と詳細を読む | Observe 以上 |
| 返答する / 完了 / 却下 | Interact 以上 |
| 添付を端末に保存する | Interact 以上(さらにその添付が PC 側で見えている必要があります) |
添付の保存はファイルビューと同じ経路を通ります。したがって「このマシン」を見られない端末(Interact)は、tako のファイルツリーに出ているフォルダの中にある添付だけを落とせます。落とせないときは理由が出て、権限が足りないだけならその場からリクエストできます。
くわしくは 人がやること(ユーザータスク) を見てください。
CLI から中身を覗く
Section titled “CLI から中身を覗く”tako remote agents # 動作中の AI エージェント一覧tako remote messages <session-id> --tail 30 # 会話ログの末尾tako remote scrollback <pane-id> --lines 1000 # ペインのスクロールバックよくある質問
Section titled “よくある質問”Q: v0.5 以前の URL(trycloudflare.com / tako-remote.pages.dev)はまだ使える? A: いいえ。v0.6.0 でこれらの経路は完全に削除されました。移行手順はリモート接続の移行ガイドにあります。
Q: tmux は必要?
A: 必要です。リモートアクセスはバックエンドセッションへの到達手段を使うため、brew install tmux を済ませてください。
Q: スマホで開くと 502 になる
A: tailscale serve が tako の待ち受けへ接続できていない状態です。v0.8.2 以降は
tako remote start の時点でこれを検出し、理由と次の一手を出して起動を止めます
(黙って「起動中」を名乗りません)。原因の大半は Tailscale の導入形態です。
macOS の GUI 版 Tailscale(アプリ版)はサンドボックスの制約で Unix domain socket へ
接続できないため、tako は既定でループバック TCP を使うようにしました。
TAKO_REMOTE_ENDPOINT=unix を自分で設定している場合は、その指定を外して
tako remote stop && tako remote start をやり直してください。
Q: Mac に Tailscale が 2 つ入っている(アプリ版と tailscaled)
A: 2 つは別デーモン・別ノードとして動き、tailnet には別々の端末として登録されます
(ノード名の末尾に -1 が付くのはこれが原因です)。tako はどちらを使うか決め打ちせず、
tako remote setup で選べます。選び直すときは
tako remote setup --tailscale auto(= tailscale コマンドが自動で見つける方。アプリ版が
入っていればそれ)または tako remote setup --tailscale standalone
(自分で動かしている tailscaled を名指し)を実行してください。
いまどちらを使っているかは tako remote status の tailscale_variant に出ます。
Q: CT log にホスト名が載るのが気になる
A: Tailscale が TLS 証明書を取得する際に <マシン名>.<tailnet>.ts.net が公開ログに記録されます。これは Tailscale の仕様です。ホスト名にセンシティブな情報を含めないことを推奨します。
- リモート接続の移行ガイド — v0.5 以前からの移行手順
- CLI リファレンス —
tako remoteの全コマンド