區塊勢

把 AI agent 裝進口袋

你的 coding agent 跑在伺服器上,可是你不會一直坐在電腦前。Moshi 就是那座橋。

向下滑
PART 1

問題:agent 不睡覺,但你會離開電腦

Claude Code、Codex、Cursor 這類 AI coding agent 有個共同點:它們跑在伺服器上,不是跑在你手機裡。你在桌前啟動一個重構任務,agent 可能要跑好幾個小時甚至好幾天。問題是這段時間你不會一直黏在電腦前——你會去開會、去搭車、去散步。

更麻煩的是,agent 跑到一半常常會停下來問你:「我可以執行 npm install bcrypt 嗎?」「這個資料庫遷移要跑下去嗎?」如果你不在電腦前,它就卡在那裡等,整個任務停擺。

官方文件用一個比喻講得很貼切:嬰兒監視器之於熟睡的孩子,就是 Moshi 之於你的 AI agent。你不需要一直盯著,但需要在它有狀況時馬上知道、馬上回應。

PART 2

Moshi 是什麼:手機上的遠端遙控器

Moshi 是一款 iOS 與 Android 上的行動終端機 App,給你的手機或平板一個連進開發主機的「真正的終端機」——不是終端機的截圖,而是可以打字、可以操作的實際 shell。你在主機上啟動 agent 或一般 shell,然後從手機監控、回答、操控它,過程中完全不必開著筆電。

它在整個架構中的位置
你的手機
在外面 · 可語音下指令
Moshi
手機版終端機(橋)
主機上的 agent
Claude Code、Codex⋯

關鍵在於:Moshi 不在自己的雲端跑你的程式,也不取代你的 agent CLI。你的 shell、程式碼、SSH 設定、tmux session、agent 訂閱,全部留在你自己的機器上。Moshi 只是那個「行動控制面」,運算、工具、Git 憑證、agent 程序都還在你連線的主機。

App 主要分成四塊:Home 列出儲存的連線與進行中的 session;Terminal 是即時的終端機畫面,含捲動紀錄、貼上控制、鍵盤工具列、語音、圖片貼上;Inbox 顯示來自 agent 的事件,像是核准請求、工具執行、任務完成;Settings 控制外觀、通知、agent hooks 等設定。

PART 3

怎麼設定:官方推薦的五個步驟

官方文件給的「最可靠設定」是一條五步驟的路徑。它的目的是讓終端機能撐過網路變化、讓 agent 在 App 退到背景時繼續跑、並讓 Moshi 拿到足夠的上下文,在需要你注意時通知你。

推薦設定流程
  1. 在主機上安裝 moshtmux
  2. 用 SSH 金鑰驗證的方式,在 Moshi 裡新增一個連線
  3. 用 tmux 當作長期存活的工作區
  4. 開啟推播通知
  5. 如果你用 coding agent,在主機上安裝 moshi-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 pairmoshi-hook install 即可。

PART 4

為什麼是 mosh,不是一般的 SSH

這是 Moshi 的核心。一般的 SSH 在不穩的網路上很痛苦——你切換 Wi-Fi、走進地鐵、或手機進入睡眠,session 就斷了。Mosh(Mobile Shell)就是為了解決這件事而生的

mosh 與 SSH 的差別
特性SSHmosh
傳輸協定TCPUDP
切換網路連線中斷自動存活
封包遺失畫面凍結優雅處理
本地回顯沒有即時(約 5ms)

根據 mosh 的研究論文,在封包遺失率高達 29% 的連線上,mosh 把平均回應時間從 16.8 秒降到 0.33 秒——大約 50 倍的改善。對於可能要跑好幾小時、好幾天的「不間斷 session」來說,這正是關鍵。

但 mosh 有一個重要限制:它沒有捲動紀錄(scrollback)。mosh 只同步終端機當下看得到的畫面,所以你跑一個輸出很長的指令,超出畫面的部分就消失了,你沒辦法往上捲。官方文件給的解法很明確:永遠把 mosh 跟一個終端機多工器(tmux 或 Zellij)一起用。mosh 負責連線,tmux 負責捲動紀錄與 session 持久化。這就是為什麼前面的設定步驟一定要裝 tmux。

PART 5

安全性:用 VPN,不要把連接埠暴露到網路上

官方文件在安全性上的立場很直接:永遠不要把 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 官方文件 →