tmux,跑在瀏覽器標籤頁裏

Make Browser Great Again

AI Anywhere 把你手上這個 tmux 會話搬進瀏覽器。window 成了任務,pane 成了標籤頁,每台你 ssh 上去的機器都匯進同一個工作區——claude、codex、gemini 就跑在裏面。

macOS 與 Linux

curl -fsSL https://tmux.online/install.sh | sh

需要 tmux 和 Node.js 22.5+。缺 tmux 的話,腳本會替你裝上。

先看看腳本內容
127.0.0.1:16666
工作區:左邊是任務,上方是當前任務的各個 pane。

三行之內,從零到能用

  1. 01

    運行安裝腳本

    缺 tmux 就替你裝上,從 npm 拉 ai-anywhere-server,再註冊給 launchd 或 systemd——重啓之後它自己回來。

  2. 02

    打開它打印的鏈接

    腳本會等服務起來,然後打印一個帶 token 的本地地址。在那台機器上用任何瀏覽器打開即可。

  3. 03

    接著剛才的活幹

    你原本開著的那些 window 已經列在左邊。沒有重啓、沒有重新 attach,你自己終端裏的東西一格都沒動。

你會得到什麼

是你那個會話,不是它的副本

AI Anywhere 從不 attach tmux 客戶端——客戶端會參與尺寸協商,把你自己終端裏的窗口壓小。它用 list-panes 讀結構、pipe-pane 鏡像輸出、send-keys 寫輸入。你開著的東西不會挪動一列。

window 是任務,pane 是標籤頁

一個會話,一套心智模型:左邊那條軌是你正在做的事,上方的標籤是它裏面的 pane。把標籤拖到一旁就分屏——這個分屏只屬於瀏覽器,tmux 的佈局原封不動。

所有機器,同一條軌

加一個 ssh 目標,它的 tmux 就出現在同一個列表裏,歸在那台機器名下,和本地任務並排。連接只在你點擊時才發起,走你自己的 ssh 配置——從你的機器直連到它的機器,中間沒有任何中轉。

哪個任務在等你,它會告訴你

服務端盯著每一個 pane,不只是屏幕上那個:pane 標題裏的 spinner 表示在幹活,屏幕上出現提示表示在等你。兩種狀態都標在軌上——後臺某個任務裏 claude 問了你一句,不會就那麼晾一個鐘頭。

手機上也讀得下去

尺寸的決定權在瀏覽器。它量出視口放得下多少,挑一個仍能排滿整格的最大字號,再告訴 tmux 這個窗口有多寬。390px 的屏幕拿到的仍然是 80 列,而不是一條橫向滾動條。

關掉標籤頁,活還在

會話和連接是解耦的。重新打開頁面,最後一屏從服務端的緩衝區回放出來,連光標位置和 alt-screen 一起——全屏 TUI 是接著上一幀回來的,不會重繪錯位。

Chrome 擴展

或者把它放在側邊欄

同一個工作區可以作為 Chrome 側邊欄運行,就在你正讀的東西旁邊。它多帶一個元素選取器:點頁面上任意一塊區域,它的 URL、CSS 選擇器和 HTML 片段就直接落進 CLI 的輸入行——「就這塊,這裏」這句話,終於變成了 AI 能動手的東西。

看看這個擴展

它跑在哪

在你的機器上,別無他處

這個站點是純靜態的——一個頁面和一份 shell 腳本。旁邊還有一個可選的賬號服務,tmux.online 的職責到此爲止。服務端、會話、CLI 和你的密鑰,從不離開你自己的硬件。

  • 服務端默認綁定 127.0.0.1。要綁到別的地址,必須由你顯式傳一個 token。
  • WebSocket 握手會校驗請求的 Origin,而普通網頁僞造不了它——所以你隨手開著的某個標籤頁碰不到它。
  • 遠程機器走你現有的 ssh 配置。沒有中轉,沒有遙測;除非你自己去找,否則也不需要登錄。

一些問題

它會改我的 tmux 配置嗎?

一個字節都不寫。它只針對一個會話工作——默認是 main,可以用 --tmux-session 換掉——其餘的只讀。被它改過尺寸的 window,在你關掉頁面時會恢復成自動。

需要先裝什麼?

tmux 和 Node.js 22.5 或更新的版本。tmux 由安裝腳本通過 brew、apt、dnf、pacman 或 apk 替你裝好;Node 缺失或版本過低時,它會直說並停下,而不是瞎猜。

遠程服務器上能用嗎?

能——在那台機器上跑同一行命令。然後回到你已經開著的頁面,把它添加爲一個主機並連接。它的任務會以那台機器的名字分組,出現在同一條軌上,和本地任務混排。

一定要裝擴展嗎?

不用。服務端自己就托管著網頁版,地址是 127.0.0.1:16666。擴展是在它之上多加了側邊欄和元素選取器。

有什麼東西會傳到 tmux.online 嗎?

除非你登錄,否則沒有——而你從來不需要登錄。安裝腳本從 npm 拉包,之後不再向任何地方彙報。就算你真的建了賬號,它持有的也只有你的 GitHub 身份和你授權過的設備,絕不包括你的會話、按鍵或密鑰。

我需要賬號嗎?

不需要。這頁上的一切在未登錄狀態下都能用,在你自己的機器上,一直如此。賬號只服務於少數幾件離了它做不成的事:給一台開不了瀏覽器的機器授權 CLI,以及爲腳本簽發 API key。登錄是點一下 GitHub,撤銷再點一下。

怎麼卸掉?

刪掉安裝腳本寫的那個 launchd agent 或 systemd user unit,然後 npm uninstall -g ai-anywhere-server。你的 tmux 會話不受影響。

把它放進瀏覽器標籤頁

一行命令,然後打開它打印的鏈接。

curl -fsSL https://tmux.online/install.sh | sh