你的 coding agent 跑在伺服器上,可是你不會一直坐在電腦前。Moshi 就是那座橋。
Claude Code、Codex、Cursor 這類 AI coding agent 有個共同點:它們跑在伺服器上,不是跑在你手機裡。你在桌前啟動一個重構任務,agent 可能要跑好幾個小時甚至好幾天。問題是這段時間你不會一直黏在電腦前——你會去開會、去搭車、去散步。
更麻煩的是,agent 跑到一半常常會停下來問你:「我可以執行 npm install bcrypt 嗎?」「這個資料庫遷移要跑下去嗎?」如果你不在電腦前,它就卡在那裡等,整個任務停擺。
官方文件用一個比喻講得很貼切:嬰兒監視器之於熟睡的孩子,就是 Moshi 之於你的 AI agent。你不需要一直盯著,但需要在它有狀況時馬上知道、馬上回應。
Moshi 是一款 iOS 與 Android 上的行動終端機 App,給你的手機或平板一個連進開發主機的「真正的終端機」——不是終端機的截圖,而是可以打字、可以操作的實際 shell。你在主機上啟動 agent 或一般 shell,然後從手機監控、回答、操控它,過程中完全不必開著筆電。
關鍵在於:Moshi 不在自己的雲端跑你的程式,也不取代你的 agent CLI。你的 shell、程式碼、SSH 設定、tmux session、agent 訂閱,全部留在你自己的機器上。Moshi 只是那個「行動控制面」,運算、工具、Git 憑證、agent 程序都還在你連線的主機。
App 主要分成四塊:Home 列出儲存的連線與進行中的 session;Terminal 是即時的終端機畫面,含捲動紀錄、貼上控制、鍵盤工具列、語音、圖片貼上;Inbox 顯示來自 agent 的事件,像是核准請求、工具執行、任務完成;Settings 控制外觀、通知、agent hooks 等設定。
官方文件給的「最可靠設定」是一條五步驟的路徑。它的目的是讓終端機能撐過網路變化、讓 agent 在 App 退到背景時繼續跑、並讓 Moshi 拿到足夠的上下文,在需要你注意時通知你。
mosh 和 tmuxmoshi-hook實務上,多數人會搭配 Tailscale 這個工具來連線。它用 WireGuard 建立一個安全的網狀 VPN,讓每台裝置都有一個從任何地方都能用的固定 IP——在家、在公司、在咖啡廳、用行動網路都通。設定指令是 sudo tailscale up --ssh,手機端也裝一個 Tailscale、登入同一個帳號,主機的 Tailscale IP 就能從手機連到了。
裝好 moshi-hook 後,當 Claude Code 或其他支援的 agent 需要核准或完成任務時,事件會出現在 Moshi 的 Inbox、Live Activity、推播通知,甚至 Apple Watch 上。配對只要在 App 的設定裡複製一組 token,在主機上跑 moshi-hook pair 與 moshi-hook install 即可。
這是 Moshi 的核心。一般的 SSH 在不穩的網路上很痛苦——你切換 Wi-Fi、走進地鐵、或手機進入睡眠,session 就斷了。Mosh(Mobile Shell)就是為了解決這件事而生的。
| 特性 | SSH | mosh |
|---|---|---|
| 傳輸協定 | TCP | UDP |
| 切換網路 | 連線中斷 | 自動存活 |
| 封包遺失 | 畫面凍結 | 優雅處理 |
| 本地回顯 | 沒有 | 即時(約 5ms) |
根據 mosh 的研究論文,在封包遺失率高達 29% 的連線上,mosh 把平均回應時間從 16.8 秒降到 0.33 秒——大約 50 倍的改善。對於可能要跑好幾小時、好幾天的「不間斷 session」來說,這正是關鍵。
但 mosh 有一個重要限制:它沒有捲動紀錄(scrollback)。mosh 只同步終端機當下看得到的畫面,所以你跑一個輸出很長的指令,超出畫面的部分就消失了,你沒辦法往上捲。官方文件給的解法很明確:永遠把 mosh 跟一個終端機多工器(tmux 或 Zellij)一起用。mosh 負責連線,tmux 負責捲動紀錄與 session 持久化。這就是為什麼前面的設定步驟一定要裝 tmux。
官方文件在安全性上的立場很直接:永遠不要把 SSH(22 埠)或 mosh(UDP 60000-61000)直接暴露到公開網際網路。直接做連接埠轉發,等於把你的機器攤在全世界面前,會招來無止盡的暴力破解嘗試。
正確做法是用 Tailscale 或 WireGuard 建立一個私有網路。這樣你的主機根本不會出現在公開網際網路上,只有你自己通過驗證的裝置才連得到。搭配 SSH 金鑰驗證、關閉密碼登入,安全性就足夠了。如果用 Tailscale SSH(加上 --ssh 參數),驗證會直接用你的 Tailscale 身分處理,連金鑰管理都省了。
隱私方面,Moshi 把 SSH 金鑰存在裝置本機(iOS Keychain,可用 Face ID 保護),語音辨識可以選擇完全在裝置上跑的模型,敏感資料不會傳到 Moshi 的伺服器。
Moshi 不是另一個 agent,而是你伸向遠端 agent 的那隻手。
運算留在主機,控制權回到你手上——無論你人在哪裡。
選完之後,分享你的想法
Moshi 官方文件與長文教學涵蓋更多細節:Mac 常駐設定、Tailscale 邊界情況、agent hooks、鍵盤與語音輸入、連線疑難排解。
前往 Moshi 官方文件 →喜歡這種拆解嗎?
從穩定幣、AI 代理人到平台策略,用台灣讀者看得懂的語言,把複雜的產業變局說清楚。目前已有超過 2 萬位讀者訂閱。
免費訂閱區塊勢 →也可以直接付費支持,解鎖每週完整文章