專屬實體 Mac · 入門指南

從首次 SSH
到推論端點上線

先連上主機,再遷移專案與模型,最後讓服務在節點上持續運作。本頁命令適用於已交付的 Mac mini;公網 IP、使用者名稱與憑證請以控制台中的實例資訊為準。

已下單?先在控制台確認實例已交付,再依照下列步驟操作。

連線指南SSH → MLX

XCODEOPS / 操作指南

先建立可信任的連線,
再開放服務。

01取得憑證在控制台確認節點與公網 IP
02建立通道透過 SSH 使用命令列與遠端桌面
03啟動端點MLX 預設僅監聽本機回環位址
已規劃存取路徑實體節點 · 單一租戶

依任務跳轉

第一次使用建議依序閱讀「連線」、「遷移」和「MLX」三節;已有執行環境的團隊,可直接查看網路選點與故障排除。

01 / 建立存取

先透過 SSH 連上專屬實體主機

連線資訊請一律從控制台的實例詳細資料取得。請勿將初始憑證存入程式碼庫、CI 記錄或團隊群組訊息;先確認金鑰連線成功,再收緊登入方式。

01

確認實例

登入控制台並開啟已交付的實例,記下節點、公網 IP、SSH 連接埠與登入使用者名稱。確認實例狀態正常後再連線;實際可用狀態以控制台即時資訊為準。

02

新增公開金鑰

在本機產生專用金鑰,並將公開金鑰新增至控制台提供的金鑰欄位,或新增至實例帳戶的授權金鑰。只上傳公開金鑰;私密金鑰請留在自己的裝置上。

03

先驗證,再加強安全性

先在另一個終端確認金鑰登入成功,再依團隊政策停用 SSH 密碼登入。修改前請保留目前的連線,並檢查設定語法,以免無法再登入實例。

本機連線設定

產生金鑰後,將 .pub 檔案內容上傳。下方設定中的範例位址為文件專用保留位址,使用前請替換成控制台顯示的實際 IP、連接埠和使用者名稱。

ssh-keygen -t ed25519 -f ~/.ssh/xops_node

cat ~/.ssh/xops_node.pub

~/.ssh/config

Host xops-node
  HostName 192.0.2.10
  User mac-user
  Port 22
  IdentityFile ~/.ssh/xops_node
  IdentitiesOnly yes

儲存後執行 chmod 600 ~/.ssh/config,再執行 ssh xops-node。首次連線時請核對主機指紋;若連線異常,先檢查 IP、連接埠、金鑰權限和實例狀態。

02 / 圖形介面

透過 SSH 通道使用遠端桌面,不直接公開 VNC

若要使用 Xcode 圖形介面或檢查建置產物,請先確認實例已啟用螢幕共享,再將遠端 5900 連接埠轉送至本機。SSH 工作階段中斷後,通道也會關閉。

在本機終端執行
ssh -N -L 5901:127.0.0.1:5900 xops-node

保持這個終端開啟。在本機 Mac 的「螢幕共享」或相容 VNC 的用戶端中,連線至 vnc://127.0.0.1:5901。圖形介面的登入權限與 SSH 權限請分別確認,別假設兩者使用相同的憑證。

開始前請檢查

  • 優先使用系統內建的螢幕共享用戶端;其他用戶端必須支援所選的連線與驗證方式。
  • 畫面延遲時,先降低遠端解析度和色深,再檢查本機至節點的網路連線;不要為了加快速度而公開 VNC 連接埠。
  • 剪貼簿同步取決於用戶端和遠端工作階段。傳輸模型權重、憑證或大型專案時,請改用 rsync 等檔案同步方式。
  • 在共用電腦上完成工作後,請同時登出遠端桌面、關閉 SSH 通道,並清除留在本機的敏感檔案。
03 / 環境遷移

將本機 Mac 遷移至雲端 Mac,分三階段進行

先同步可重新建置的專案檔案,再還原工具鏈,最後接入 CI。模型權重、簽章資料和建置快取的處理方式各不相同;請勿未經篩選就複製整個本機使用者目錄。

01 / DATA

資料與模型

使用 rsync 增量同步專案與模型權重。先試傳一次,再確認目標目錄、檔案權限和可用儲存空間。外接硬碟映像僅適合事先確認格式與容量後的離線遷移。

rsync -avh --progress ./project/ \
  xops-node:~/work/project/

大型權重請分批傳輸;完成後比較檔案大小和校驗值。請勿將私密金鑰或臨時權杖放入專案目錄。

預估作業時間至少 15–60 分鐘視資料量和上傳連線而定
02 / TOOLCHAIN

工具鏈與簽章

在本機使用 Homebrew Bundle 匯出 Brewfile,再匯入節點;接著確認 Xcode 版本、命令列工具和相依套件鎖定檔。簽章憑證請分開傳送,匯入後限制鑰匙圈存取權限。

brew bundle dump --file=./Brewfile
rsync -av ./Brewfile xops-node:~/work/
ssh xops-node 'brew bundle --file=~/work/Brewfile'

請勿直接複製本機的 Python 虛擬環境;請在目標主機重新安裝相依套件。

預估作業時間至少 20–45 分鐘視套件數量和下載速度而定
03 / CI

接入 CI 流程

在現有 CI 專案中註冊 self-hosted runner,並綁定指定的程式碼庫或團隊。將建置快取放在獨立目錄,並依照統一記憶體容量與建置負載設定並行工作數。

  • 先執行一次不含發布金鑰的測試建置。
  • 記錄快取路徑、磁碟用量和清理方式。
  • 確認 runner 使用專用帳戶執行。
預估作業時間至少 15–30 分鐘不含首次完整建置

以上為遷移作業的預估時間,並非實例交付時間。首次同步前請先確認可用磁碟空間;若需要擴充,請至機型與加購項目確認可選規格。

04 / MLX 推論

先在本機跑通推論端點,再開放團隊使用

Apple Silicon 的統一記憶體由 CPU 與 GPU 共用。模型是否能載入,還取決於量化格式、上下文長度及其他程序的記憶體用量;選擇規格時,請為系統和服務保留餘裕,不要把標示的記憶體容量全部當成權重空間。

安裝、啟動與驗證

在實例上為服務建立獨立的 Python 環境。下方模型路徑指向已同步至該實例的本機目錄;啟動後,先在實例內驗證 OpenAI 相容介面。

python3 -m venv ~/mlx-service/.venv
~/mlx-service/.venv/bin/python -m pip install mlx-lm

~/mlx-service/.venv/bin/python -m mlx_lm.server \
  --model ~/models/quantized-model \
  --host 127.0.0.1 --port 8080
curl http://127.0.0.1:8080/v1/models

先確認模型檔案完整、Python 環境可用,而且連接埠未被其他程序占用。不同版本的 mlx-lm 參數可能不同;正式部署前,請以實例上已安裝版本的命令說明為準。

ACCESS / 01

讓團隊存取

預設只監聽 127.0.0.1。少量內部呼叫可由團隊成員各自建立 SSH 通道;若需要統一入口,請使用具備驗證、存取控制和 TLS 的反向代理,切勿將未受保護的推論端點直接公開至公網。

ssh -N -L 8080:127.0.0.1:8080 xops-node
STARTUP / 02

重啟後持續運作

確認前景程序穩定後,為服務建立使用者層級的 launchd 設定,指定虛擬環境中的 Python、模型路徑、工作目錄與記錄檔。先檢查設定,再載入目前使用者工作階段;重新啟動實例後,請再次確認程序與端點。

plutil -lint ~/Library/LaunchAgents/com.xcodeops.mlx.plist
launchctl bootstrap gui/$(id -u) \
  ~/Library/LaunchAgents/com.xcodeops.mlx.plist

記憶體參考:16GB 適合測試小型量化模型,24GB 可用於常見 7B–8B 量化模型的單一服務驗證,64GB 則可為更大型模型或多工作負載保留空間。實際處理量取決於模型、上下文和負載,請使用自己的請求樣本進行測試。

05 / 開發與交付

在節點上建置 Xcode 專案,透過可控流程驗證實體裝置

專屬實體主機適合執行 Xcode 編譯、模擬器測試與自架 runner:同一台主機的 CPU、GPU 和統一記憶體不會被其他租戶的工作占用。不過,模擬器測試通過,不代表實體裝置上的相機、藍牙或效能測試也會通過。

模擬器測試矩陣

固定 Xcode 和模擬器執行環境版本,再依照重要的裝置尺寸與作業系統版本建立測試矩陣。先使用 xcrun simctl list devices available 確認實際可用的裝置,避免 CI 流程引用尚未安裝的執行環境。

檢查項目:版本 / 裝置 / 測試報告

封存與發佈

先讓 runner 完成可重現的測試和封存,再依照團隊既有的簽章流程上傳 TestFlight 建置版本。憑證、描述檔和上傳憑證請存放於受控位置;勿寫入程式碼庫或持久保存的建置記錄。

檢查項目:簽章 / 封存 / 上傳結果

實體裝置測試範圍

涉及感測器、實際網路切換、耗電量或配件互動的測試案例,仍須使用團隊控管的實體裝置驗證。雲端節點可負責建置與發佈,再由本機裝置完成最終回歸測試和問題重現。

檢查項目:裝置記錄 / 重現步驟
06 / 節點與連線

先測量連往四個節點的連線,再決定部署位置

節點涵蓋新加坡、東京、首爾和香港。團隊成員所在地、電信業者路由和晚間尖峰壅塞都會影響實際使用體驗;推論介面更應同時測量請求往返時間與模型生成時間,不要只看 ping。

亞太網路連線參考資料

下表以毫秒為單位,列出依指定方法整理的參考資料,不代表任何使用者的即時連線保證。請在自己的網路環境中重複測量後再選擇節點。

八個來源城市至新加坡、東京、首爾、香港節點的 ICMP 平均往返延遲參考資料,單位為毫秒
來源城市 新加坡 東京 首爾 香港
上海 76 ms 58 ms 53 ms 41 ms
深圳 62 ms 72 ms 65 ms 29 ms
台北 64 ms 46 ms 54 ms 39 ms
曼谷 43 ms 109 ms 98 ms 66 ms
雅加達 38 ms 109 ms 115 ms 74 ms
雪梨 101 ms 132 ms 146 ms 141 ms
大阪 75 ms 32 ms 47 ms 65 ms
釜山 85 ms 44 ms 24 ms 71 ms

測試方式:ICMP 平均往返時間、每條連線連續測試 100 次、平日晚間尖峰時段、家用寬頻連線;僅供初步選擇節點參考。資料會隨電信業者與線路變動,不能取代從您的辦公地點對實際實例進行的測試。

01 / 選點

依團隊主要所在地測試

先對實際實例連續執行 ping,再檢查封包遺失與延遲抖動。團隊分散多地時,應以最常操作遠端桌面或呼叫推論介面的成員為主要參考,而非只選地理位置最近的城市。

02 / 同步

避開網路尖峰傳輸大型檔案

模型權重、媒體素材和建置快取適合增量同步。大量傳輸請安排在業務離峰時段,失敗後再續傳;若互動式 VNC 畫面卡頓,也請檢查背景同步是否占滿上傳頻寬。

03 / 擴充

依工作負載評估多機協作

Thunderbolt 5 多機連接適用於確有協作需求,且應用工作流程能善用多台實體主機的情境。它不會自動將單機的統一記憶體合併為模型可用的記憶體池;設定前請先確認軟體架構。

07 / 故障排除與支援單

提供完整的重現資訊,比反覆描述「連不上」更有效率

實例或訂單問題請透過控制台提交支援單。提交前先確認本機網路、實例狀態、連線方式和故障發生時間;截圖或記錄中請勿附上私密金鑰、完整權杖或未遮蔽的敏感資料。

建議提供以下四項資訊

  • 01訂單與節點訂單編號、實例所在的新加坡、東京、首爾或香港節點,以及受影響的服務。
  • 02操作與錯誤訊息執行的命令、完整錯誤訊息、問題發生步驟,以及已遮蔽敏感資訊的截圖。
  • 03發生時間與影響範圍首次發生時間、是否持續發生,以及是否只影響特定團隊成員。
  • 04已完成的檢查實例狀態、金鑰權限、連接埠、通道和本機網路的排查結果。

下一步

登入控制台,在對應的訂單或實例頁面提交支援單,並附上排查資料。尚未下單的規格選擇問題可寄信至 support@xcodeops.com;已建立實例的問題請優先透過支援單處理,方便關聯訂單與節點。

準備部署

選好節點,開始執行第一條命令

三種規格的專屬實體 Mac mini,提供日租、週租、月租或季租。先選擇機型,再依實際網路測試結果選擇節點;交付後的連線步驟,就從本頁開始。