コンテンツにスキップ

リモートアクセス

AI に長い作業を任せて席を離れても、スマホから進み具合を見て、確認待ちに答え、続きを頼めます。サーバーで作業するときは、SSH 先のフォルダを手元と同じツリーとペインで開けます。

用意するのは、Mac とスマホの両方の Tailscale(同じアカウントでログイン。個人なら無料プランで足ります)と、Mac の tmux(brew install tmux)です。スクロールすると、画面がその手順の状態に変わります。

  1. 最初に 1 回だけ、tako remote setup

    Mac とスマホの両方に Tailscale を入れ、同じアカウントでログインしておきます。あとは Mac の tako で 1 行打つだけで、確認が 5 段で進みます。Tailscale が入っていなければ、その場で入れるかを聞きます。

    tako remote setup
  2. tako remote start で、QR が出る

    起動すると、隣のペインに QR コードが開きます。中身は tailnet の中だけで開ける固定の URL で、合言葉やトークンは入っていません。ステータスバーの「リモート」を押しても起動できます。

    tako remote start
  3. スマホで読んで、権限を選ぶ

    スマホのカメラで QR を読むと「この端末をペアリング」が開きます。画面を見るだけなら Observe、返事やコマンドの実行もするなら Interact を選んで要求します。

  4. スマホは、Mac の承認を待つ

    Mac で承認されるまで、スマホには画面のデータが 1 つも届きません。QR を他人に見られても、それだけでは何も見えません。

  5. Mac の画面で「許可」

    Mac の tako に、端末名・ユーザー・ノードと権限の選択が出ます。承認と権限の引き上げは、この Mac の画面でしかできません(AI やスマホからは上げられません)。許可すれば、次からはホーム画面に追加したアイコンを開くだけです。

    スマホからの接続は macOS 版で使えます。Windows 版はまだです(実機での通しの確認が済んでいません)。

  1. 承認されると、ペインが並ぶ

    タブごとにまとまったカードで、誰が(master / worker)何をしていて、どれが承認待ちかが一目で分かります。右上には AI から届いた「人がやること」の件数。

  2. 会話を開いて、続きを頼む

    カードを押すとそのペインの画面です。claude のペインはチャットで読めて、入力欄からそのまま指示を送れます。スマホから見ても、PC 側のペインの大きさは変わりません。

  3. AI が出したコマンドを、スマホから実行

    AI がカードで渡したコマンドは、スマホにも「PC に出ているコマンド」として出ます。「実行」→「PC で実行する」で、PC の同じタブに新しいペインを開いて走らせます。今の会話には書き込みません。

  4. 結果は PC とスマホで揃う

    終わると「実行済み(終了コード 0)」。PC のカードにも同じ記録が出るので、どちらで押したかを気にしなくて済みます。

    返事とコマンドの実行には Interact 以上の権限が要ります。足りないときは、その場から Mac へ「権限の更新」をリクエストできます。

スマホから新しく立ち上げる・ファイルを直す

Section titled “スマホから新しく立ち上げる・ファイルを直す”
  1. 「+ 新規」で、新しいタブを立てる

    一覧の右上から、master を起動 / ターミナル / SSH ターミナルの 3 つを選べます。選んだものは Mac の tako に新しいタブとして立ちます。

    新しいタブとプロセスを作るので、Manage 以上の権限が要ります。足りない端末には、選択肢の代わりに理由が出ます。

  2. PC のファイルを見る

    ファイルのボタンから、Mac の tako のツリーに出ているフォルダ(SSH 先も含む)をたどれます。Manage 以上の端末には、よく行くフォルダのショートカットと、ルートから全部たどる「このマシン」も並びます。

    ファイルを読むのも Interact 以上です。画面を見るだけ(Observe)の端末からは、ファイルの中身を持ち出せません。

  3. 開いて、直して、保存

    開いたファイルはその場で編集して保存できます。書き戻しは Mac の tako の編集と同じ経路を通るので、外で書き換えられていたら上書きせずに止まります。手元に落としたいときは「端末に保存」。

スマホの画面はブラウザの「ホーム画面に追加」でアプリのように置けて、次からはアイコンを開くだけでつながります。AI から届いた「人がやること」も、一覧の右上のチェックリストから開いて返答・完了まで済ませられます(人がやること)。

  1. 「リモート接続…」で、ホストを選ぶ

    ファイルメニューの「リモート接続…」を開くと、~/.ssh/config のホストが並びます。新しく覚える設定はありません。

  2. いまのタブに、SSH のペイン

    選んだ相手へのペインが、いま開いているタブに増えます。つながるまではペインの上に「接続中…」、失敗したら理由がそのまま残ります(黙って消えません)。

  3. つながれば、いつものシェル

    あとは普通の SSH です。コマンドなら下の 1 行で同じことができ、AI も同じ操作でペインを開けます。

    tako open-in remote dev-server
  4. SSH 先のフォルダが、ツリーに並ぶ

    ファイルメニューの「リモートからフォルダを開く…」で、相手のフォルダがファイルツリーに SSH の札付きで並びます。鍵で入れる相手なら、ペインで ssh しただけでも tako が見つけて足します。

  5. 開いて直す。保存はそのままリモートへ

    ツリーから開いたファイルは、手元のファイルと同じようにプレビューして編集できます。保存はリモートへ書き戻されます。つながっていない間の保存は消さずに手元に残し、あとから送り直せます。

    Windows でも使えます。ただし接続の使い回しが無いため操作ごとにつなぎ直し、パスワードでしか入れない相手は毎回聞かれます。ssh の検知による自動追加と、切れたあとの自動の再接続はまだです。

同じことはコマンドでもできます。tako remote-folder open は、フォルダをツリーに開くのと一緒に、そのフォルダへ cd 済みの SSH ペインも用意します(フォルダを省くと相手のホーム)。

tako remote-folder open dev-server

切断中に保存した内容は手元に残り、tako remote-folder pending で一覧、tako remote-folder push で送り直せます。

スマホからの接続は macOS 版で使えます。Windows 版はまだです。SSH 先での作業は Windows でも使えますが、一部の動きが macOS と違います。最新の状況は Windows 対応状況 にあります(tako からは tako platform で引けます)。

  • まだ スマホからの接続(tako remote) 止まる原因は取り除きましたが、Windows 実機で「セットアップ → 起動 → スマホから接続」を通しで確かめていません。確かめるまでは「使える」とは書きません。
  • 一部 SSH のペインとリモートのフォルダ Windows の OpenSSH には接続の使い回し(ControlMaster)が無いので、操作ごとにつなぎ直します。鍵や ssh-agent で入れる相手は変わりませんが、パスワードでしか入れない相手はそのたびに聞かれます。切れたあとの自動の再接続と、ペインの ssh を見つけてツリーに足す動きもまだです(メニューやコマンドから明示的に開けば使えます)。

公開インターネットには出しません。通り道と、2 つの関門は次のとおりです。

あなたのスマホ 同じ Tailscale のアカウントでログインした端末だけが届く(層①)
tailnet の中だけの固定 URL Tailscale Serve が HTTPS で中継。インターネットには出ない
Mac の tako 127.0.0.1 だけで待つ。Mac の画面で承認した端末にだけ画面を渡す(層②)
  • 層① Tailscale のノード確認: tailnet にログインした端末だけが届き、tako 側でも Tailscale が保証する身元を確かめます。tako 自身は 127.0.0.1 だけで待ち受け、LAN や外からは直接つながりません
  • 層② 機器ペアリング: tailnet の中の端末でも、Mac の画面で承認するまで画面のデータを 1 つも受け取れません。QR と URL は恒久固定で、合言葉やトークンを含みません
  • 記録は中身を持たない: 接続・ペアリング・入力のバイト数は監査ログに残りますが、画面の中身と入力した文字は残しません

権限(role)は 4 段です。

roleできること
Observe(既定)画面を見るだけ
Interact+ テキスト入力・承認応答・コマンドの実行・tako のツリーにあるファイル
Manage+ ペインを閉じる・リサイズ・新しく立ち上げる・PC 全体のファイル(このマシン)とショートカット
Admin+ 端末管理(一覧・失効)

権限を上げられるのは Mac の画面だけです。 AI・CLI・スマホからは「お願い」までです。スマホで権限が足りない画面には「権限の更新をリクエスト」が出て、送ると Mac に承認ダイアログが出ます。許可されれば、スマホは読み込み直さずに続きができます。下げる・消すのは CLI / MCP からもできます(置き忘れた権限をその場で畳めるほうが安全側なので)。端末ごとの権限は 設定 → リモート で選び直せ、ステータスバーの「リモート」からは全端末をまとめて切る停止もできます。

tako remote devices list

起動していれば、再起動しても戻る

Section titled “起動していれば、再起動しても戻る”

一度 tako remote start(またはステータスバーの「リモート」の起動ボタン)で起動すれば、tako や Mac を再起動しても自動で立ち上がり直します。止めるのは tako remote stop を 1 回。そのときは「起動していた」という記録も消えるので、以後は勝手に戻りません。戻せなかったときは、理由がステータスバーのリモートの表示と tako remote status に出ます。

tako を起動した直後など、立ち上げ直している途中に tako remote start / tako remote stop を打つと、「終わるまで待つ」と断ります(2 本目を起こさないため・止めても立ち上げ直しが戻してしまうため)。数秒〜数十秒で終わるので、tako remote status を読み直してから打ち直してください。

tako remote status
やりたいことコマンド
最初のセットアップ(対話)tako remote setup
起動して QR を出す / 止めるtako remote start / tako remote stop
固定 URL・登録端末・前回の自動起動の結果tako remote status
端末の一覧・権限を下げる・失効tako remote devices list / role <id> <role> / revoke <id>
スマホのファイルのショートカットtako remote shortcuts(add <path> / remove <path>)
SSH 先へのペインtako open-in remote <host>
SSH 先のフォルダをツリーに開くtako remote-folder open <host>

どれも MCP からも同じ操作ができます(承認と権限の引き上げだけは Mac の画面に限ります)。全オプションは CLI リファレンス にあります。

Q: スマホで開くと 502 になる

Tailscale の serve が tako の待ち受けへつながっていない状態です。tako remote start はこれを起動の時点で見つけ、理由と次の一手を出して止まります。アプリ版の Tailscale はサンドボックスの制約で Unix ドメインソケットへつなげないため、tako は既定でループバックの TCP を使います。TAKO_REMOTE_ENDPOINT=unix を自分で設定しているなら、それを外して tako remote stop && tako remote start をやり直してください。

Q: Mac に Tailscale が 2 つ入っている(アプリ版と tailscaled)

2 つは別々の端末として tailnet に登録されます(名前の末尾に -1 が付くのはこのため)。どちらを使うかは tako remote setup で選べます。選び直すなら tako remote setup --tailscale auto(アプリ版があればそれ)か --tailscale standalone(自分で動かしている tailscaled)。いまどちらかは tako remote status の tailscale_variant に出ます。

Q: 証明書の公開ログにホスト名が載るのが気になる

Tailscale が HTTPS の証明書を取るとき、<マシン名>.<tailnet>.ts.net が公開ログに載ります(Tailscale の仕様)。マシン名に知られたくない情報を入れないでください。

Q: v0.5 以前の URL(trycloudflare.com / tako-remote.pages.dev)は使える?

いいえ。v0.6.0 で削除しました。移行手順は リモート接続の移行ガイド にあります。