為什麼不是 Termius / Blink

通用的 SSH app 假設你打開它是為了打指令;Agentmux 假設你是要接回一個已經在跑的 agent。需要 Mosh、SOCKS5 轉發,或跨平台同步主機清單,就買 Termius 或 Blink。如果你整天在好幾台伺服器的 agent 之間切換,就買 Agentmux:一個贏在範圍,一個贏在接回的深度。

兩個都能開 SSH、都能打指令,分開的地方只有一處:誰把「接回」這件事想得比較透徹。底下每一條差別都是從那個假設來的,五個功能全部對照現行的程式碼查證過。

兩種工具的核心假設不同

通用的 SSH client 圍繞的是「一台主機加一個 shell」:給你一個能用的 prompt,然後別擋路。prompt 之後發生什麼是你的事:你開哪個 process、它活不活得下來、明天怎麼找回來。

Agentmux 圍繞的是「一個已經在跑的 agent」,它的任務是縮短你口袋到那個 process 的距離。三個結論跟著來,後兩個是通用的 client 補不起來的地方。原因不是它做得比較差:那些行為本來就不在它的產品範圍裡。

  • 你先看到什麼。一台主機,或這台主機上跑著的 session。
  • 斷線的代價。一個要自己重新走的 prompt,或你離開時的那個畫面。
  • 你不在的時候 app 做什麼。什麼都不做,或鎖定螢幕上的進度,加上一聲跑完的提示音。

每個功能擺在一起,誰做得到?

每一列一個功能。對手從外面查證不到的行為,格子裡就寫查證不到,不猜。

功能 通用 SSH client Agentmux
接回 tmux session 自己打 tmux ls,再打 tmux attach -t 連上就把伺服器上現有的 session 列出來,點一下接回
斷線之後 prompt 回來了,session 要自己找 detach 不是死亡:你落在離開時那個畫面
跑幾十分鐘的 agent 沒有「一次執行」這層概念可以回報進度 動態島與鎖定螢幕顯示進度,跑完可以播提示音
問你要不要准一個指令 你人必須坐在螢幕前 AI 自動權限審查:黑名單擋掉、白名單放過、其餘交給 AI 判斷,再給建議或幫你按(Pro)
改檔案裡的一行 用手機鍵盤跟 vim 肉搏 Runestone 編輯器、Ink 雙欄 Markdown 預覽、分支工具、Files app 整合(Pro)
私鑰放在哪裡 從外部查證不到 Keychain/Keystore,絕不寫進本機資料庫;iCloud 同步只帶走伺服器名稱
從 app 外面自動化 沒有 session、專案、agent 這層模型可以交給系統 6 個 App Intent,涵蓋四種 entity:Server、Project、TMUXSession、RecentSession
不穩的行動網路 Mosh 是買這類 app 的理由 只有標準 SSH 加 tmux 自動重連,不等於 Mosh
Port forwarding Local、Remote、Dynamic(SOCKS5)都有 只有 Local
大規模的主機設定 五個平台同步,主機清單能共享給團隊 多伺服器與批次操作(Pro),平台只有手機與平板

先看最後三列。Agentmux 就是在那裡輸的,那也決定了哪些讀者該留在通用工具那一邊。

為什麼要先列 tmux session?

連上伺服器,Agentmux 直接把上面現有的 tmux session 列出來,點一下就接回去。不用記 tmux ls、tmux attach -t。斷線之後重連,接的還是同一個 session,畫面停在你離開的那一刻,不用重新打一次 attach。

agent 的價值在它累積下來的脈絡:讀過哪些檔案、為什麼選這個做法。接回同一個畫面,脈絡還在眼前;開一個新的 prompt,你得對一個已經忘光的 process 把任務重講一次。如果你還沒用過 tmux,先讀tmux 在做什麼,這整套設計都建立在它上面。

你不在的時候,app 在做什麼?

agent 常常一跑就是幾十分鐘,這個功能就是為那段等待做的:動態島和鎖定螢幕顯示目前進度,跑完可以播一聲提示音。App 不必開在最前面,讓你死盯著等結果。

圍繞 shell 的 app 關掉之後沒有東西可回報,因為它沒有「還在跑」這層概念。這邊是某台伺服器上某個有名字的 session 在跑,系統的面板替它回報。等它停下來問你要不要允許某個指令時,AI 自動權限審查可以先替你看一眼:危險的擋下來,安全的給建議或直接幫你按(Pro)。

在手機上改檔案,一定要開 vim 嗎?

臨時改一行程式碼,不必在手機上跟 vim 肉搏。內建的 Runestone 編輯器直接開檔案讓你改。要看 agent 產出的 README,Ink 提供雙欄 Markdown 預覽,原始碼和排版同時看得到。Git 工具(切換分支、查 diff)和 Files app 整合是 Pro 功能,14 天試用期間也用得到。

重點是整個循環在一台裝置上閉合:agent 改檔案,你看 diff,你回答,它繼續跑。每多一個步驟要換到另一台機器,你就多跑一趟書桌。

你的私鑰放在哪裡?

私鑰在 iOS 只存在系統的 Keychain 裡,在 Android 則由 Android Keystore 做硬體保護,不會寫進本機資料庫。如果你開了 iCloud 同步(iOS),CloudKit 帶走的是伺服器名稱這類不敏感的 metadata。私鑰留在原地。

考慮任何工具都問同一個問題:開了同步之後,我的哪些私鑰會離開這台裝置?功能清單不會回答你。

Siri 可以把終端畫面交給捷徑

對 Siri 說「從 Agentmux 取得目前終端內容」,GetCurrentSessionContextIntent 就把終端當下的內容抓進 iOS 捷徑,可以接去記事本、訊息,或任何你自己組的流程。ContinueLastSessionIntent 更直接:一句「在 Agentmux 繼續工作」就接回上一個 session。

這類自動化,通用的 SSH app 結構上做不到:它們沒有 session、專案、agent 這一層語意模型可以交給系統。Agentmux 目前實作 6 個 App Intent,涵蓋 Server、Project、TMUXSession、RecentSession 四種 entity。

三個只有繁中使用者會有感的修正

1.3.10 修掉三個英文圈使用者感覺不到、繁中讀者一眼就懂的毛病:全形字選取時對齊跑掉,連結跨行時複製出來斷成好幾截,詞句裡出現一個斜線就被當成檔案路徑。沒有實際處理過中日韓文字的人,不會踩到這三個坑。

你的工作是哪一種,就買哪一種

主要是一台主機上的手動終端工作。你登入是為了跑自己挑的指令:重啟服務、tail log、看磁碟。那就買通用的 SSH client。想先試試以 session 為中心的做法,免費的單伺服器方案就涵蓋一台伺服器、持久 session 和核心終端機。

整天住在好幾台伺服器的 agent 裡。一個在 Mac mini 上重構,另一個在 Linux 機器上跑測試,第三個是你上火車前開的。這就是 Agentmux,而且具體來說是 Pro:多伺服器、自訂 agent、遠端編輯、檔案歷史、分支工具、批次操作。

agent 活在瀏覽器分頁或雲端沙箱裡。方便是真的,代價是檔案和憑證不再存在你的機器上。Agentmux 從不代跑你的工作:它是 client,程式碼和 agent 留在你自己擁有的硬體上,一台 Mac、一台 Linux 機器、或一台伺服器。把專案和金鑰放到別人租給你的環境裡,只要你覺得安心,那也是合理的選擇。

怎麼連進去跟選哪個 app 一樣重要。標準 SSH 加金鑰或密碼就夠,建議走 Tailscale,因為不用對公網開 port。位置要用 MagicDNS 名稱或 100.x 位址,不是區網 IP。

什麼時候該買 Termius 而不是 Agentmux

下面任何一條如果是你的主要工作,就去買通用工具。

  • 你在很不穩定的行動網路下工作,需要 Mosh 撐住連線。Agentmux 只有標準 SSH,靠 tmux 自動重連補回來,但那不等於 Mosh。
  • 你需要 Remote/Dynamic(SOCKS5)port forwarding。Agentmux 只有 Local。從某個網路打隧道出去、或叫瀏覽器走跳板主機,是你每天在做的事。這樣的話,這是硬缺口,不是偏好問題。
  • 你要在 iOS/Android/Windows/macOS/Linux 之間同步大量主機設定,或跟團隊共享主機清單。Agentmux 是手機與平板的 client:Pro 有多伺服器與批次操作,沒有共享給同事這回事。
  • 你是 SRE 或系統管理員,要在幾十上百台伺服器上做維運。能被腳本操作的主機清單,勝過一個要你點來點去的 session 清單。

Agentmux 為一個工作流設計:在手機上接回正在跑的 coding agent。它不是通用的維運工具。如果你一週的工作就是一條一條零散的指令,這些差別對你沒有價值。

決定用 Agentmux?下一個問題是連線另一頭那台機器。設定精靈問三個問題,然後給你一張檢查清單;之後常見的毛病,疑難排解已經都寫在那裡了。