Google 的代理式開發環境 Antigravity 新增了遠端控制功能。只要用手邊任何裝置上的網頁瀏覽器,就能連上執行於他處的 Antigravity 2.0 工作階段,接續先前的對話,也可以直接指派新的工作。想法相當直接:既然已經把大規模重構或長時間的測試交給代理,就不該被綁在座位上等它跑完。
瀏覽器成為通往遠端機器的窗口
遠端控制透過網頁瀏覽器,連上你名下各台機器上執行中的 Antigravity 2.0 工作階段,筆電、桌機、伺服器都適用。不需要專用的用戶端,有瀏覽器就能開啟操作介面。
關鍵在於,被連線那一端的本機環境維持原狀。檔案、工作區、建置工具、認證資訊與環境變數並不會被搬到手邊的裝置上,而是繼續留在真正執行工作的那台機器裡。Google 把這個介面形容為通往自己工作區的安全窗口。
設想的用法是依機器分工。例如介面開發放在本機筆電,伺服器端處理交給雲端的 Linux 機器,再透過執行個體切換器在兩者之間往返。由於可以同時管理多個環境與多個代理,不會出現一邊跑完之前另一邊只能空等的情況。
外出時也不必在隨身的筆電上重建開發環境。在家中或公司工作站開始的工作階段,可以原樣接手,繼續監看與下達指令。
一個開關即可啟用,無介面機器則安裝常駐服務
在 Antigravity 2.0 桌面版中,開啟設定面板,進入 App 區段,把 Enable Remote Control 切換為開啟,準備工作就完成了。設定面板可以用鍵盤快速鍵開啟,也可以點選左側邊欄下方的 Settings。另外可視需要設定暱稱,多台機器並列時比較容易分辨。
連線這一端,在瀏覽器開啟遠端控制的儀表板,用與桌面版相同的 Google 帳號登入。在執行個體切換器選擇目標機器後,就能檢視進行中的對話、發起新的代理工作,並檢查實作計畫與產出物。在行動裝置上把網頁應用程式加到主畫面,還可以接收通知。
至於沒有顯示介面的伺服器,則需要安裝專用的常駐服務。Linux 與 macOS 是從終端機取得官方提供的安裝指令碼並執行;Windows 也有對應的指令碼,但必須在以系統管理員身分開啟的命令提示字元中執行。PowerShell 無法執行,而且只有安裝與解除安裝需要系統管理員權限,查看狀態與重新啟動用一般權限即可。
安裝時的選項可以指定執行個體名稱與更新的套用頻率,也提供關閉自動更新,以及完全不做互動式詢問的選項,因此適合透過組態管理工具批次派送。安裝過程中需要在終端機登入一次,之後即使重新開機,服務也會自行完成登入。要留意的是,這次登入與編輯器端各自獨立,所以即便編輯器已登入,仍會被再問一次。
圍繞等待時間設計的通知與重新連線
交給代理的工作範圍越大,執行時間就越長。遠端控制內建推播通知,會在代理結束自己的回合、需要使用者輸入時發出提醒,目的是縮短工作已經停下、你卻還沒察覺的那段時間。
對於斷線也做了因應。即使你這一端的網路短暫中斷,網頁端也會自動嘗試重新連線。只要主機端仍然連著網路,在背景執行的代理工作與 shell 指令就會不中斷地繼續跑。反過來說,主機處於睡眠狀態或斷網時,它根本不會出現在清單裡。
使用前值得先掌握的幾點
最容易卡住的是帳號。桌面應用程式與瀏覽器若沒有登入同一個 Google 帳號,機器就不會出現在清單中。此外也要確認主機端的 Enable Remote Control 已開啟,以及主機沒有進入睡眠或休眠。
常駐服務的執行條件會因作業系統而異。Linux 在開機時啟動,登出後仍持續執行,當機後也會自動復原;Windows 同樣開機啟動並在登出後繼續執行,但當機後要等到下次開機、下次排定的更新或手動重新啟動才會回來;macOS 則是在登入時啟動,登出後就停止。要讓哪一台機器全天候運作,就得依這些差異來決定。
執行個體名稱的處理也有些眉角。設定檔中並列著兩個非常相似的項目,一個是常駐服務的主機名稱,另一個是編輯器的主機名稱。常駐服務與編輯器即使在同一台機器上也被視為不同的執行個體,因此遠端控制清單中出現兩個相似名稱並不是故障。另外,若安裝時曾指定名稱,該名稱的優先度較高,即使修改設定檔,服務每次重新啟動都會還原。改名沒有生效時,首先應該懷疑這一點。
總結
Antigravity 的遠端控制建立在一個明確的取捨上:不是把開發環境隨身帶走,而是讓環境留在原地,用瀏覽器伸手過去操作。檔案與認證資訊都留在實際執行工作的機器上,隨身裝置上不需要重建同樣的環境。這與仰賴長時間執行代理的開發方式相當契合,而通知與自動重新連線正是支撐這個前提的機制。另一方面,主機必須保持喚醒狀態,以及常駐服務行為因作業系統而異這兩點,最好在決定維運方式之前先弄清楚。
