ポート検知
tako はペイン内のプロセスが TCP ポートを listen し始めたことを自動で検知し、「プレビューを開きますか?」という提案チップを表示します。
- ペインで
npm run devなどを実行 - dev サーバーがポート 5173 で listen を開始
- tako が 3 秒ポーリングでポートを検知
- ペイン下部に「localhost:5173 をプレビューで開く?」チップが表示
- チップをクリックするとブラウザで開く
tako は勝手にペインを分割しません。検知はあくまで「提案」であり、ユーザーが承諾した場合のみアクションが実行されます(設計原則「強制しない」)。
検知の仕組み
Section titled “検知の仕組み”macOS の libproc API を使い、ペイン配下のプロセスツリー内で TCP ポートを listen しているプロセスを特定します。ペインの PTY スレーブの tty を突き合わせることで「どのペインのプロセスがどのポートを使っているか」を正確に対応付けます。
提案チップの挙動
Section titled “提案チップの挙動”- 新規ポートごとに 1 件のチップが表示される
- 却下すると、そのポートが消えるまで同じ提案は再表示されない
- 複数ポートが同時に検知された場合はそれぞれにチップが出る
ポート検知は無効化できます。
# ポート検知を無効化tako portdetect off
# 有効化(デフォルト)tako portdetect on環境変数 TAKO_PORT_DETECT=0 でも無効化できます。MCP ツール tako_port_detect からも同じ操作が可能です。
AI からの利用
Section titled “AI からの利用”AI エージェントは tako_list_panes の応答に含まれる listen_ports フィールドから、どのペインでどのポートが使われているかを把握できます。「dev サーバーが何番ポートで動いているか」を AI が自動で確認する、といった用途に使えます。