資料與模型
使用 rsync 增量同步專案與模型權重。先試傳一次,再確認目標目錄、檔案權限和可用儲存空間。外接硬碟映像僅適合事先確認格式與容量後的離線遷移。
rsync -avh --progress ./project/ \
xops-node:~/work/project/
大型權重請分批傳輸;完成後比較檔案大小和校驗值。請勿將私密金鑰或臨時權杖放入專案目錄。
先連上主機,再遷移專案與模型,最後讓服務在節點上持續運作。本頁命令適用於已交付的 Mac mini;公網 IP、使用者名稱與憑證請以控制台中的實例資訊為準。
已下單?先在控制台確認實例已交付,再依照下列步驟操作。
XCODEOPS / 操作指南
第一次使用建議依序閱讀「連線」、「遷移」和「MLX」三節;已有執行環境的團隊,可直接查看網路選點與故障排除。
連線資訊請一律從控制台的實例詳細資料取得。請勿將初始憑證存入程式碼庫、CI 記錄或團隊群組訊息;先確認金鑰連線成功,再收緊登入方式。
登入控制台並開啟已交付的實例,記下節點、公網 IP、SSH 連接埠與登入使用者名稱。確認實例狀態正常後再連線;實際可用狀態以控制台即時資訊為準。
在本機產生專用金鑰,並將公開金鑰新增至控制台提供的金鑰欄位,或新增至實例帳戶的授權金鑰。只上傳公開金鑰;私密金鑰請留在自己的裝置上。
先在另一個終端確認金鑰登入成功,再依團隊政策停用 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、連接埠、金鑰權限和實例狀態。
若要使用 Xcode 圖形介面或檢查建置產物,請先確認實例已啟用螢幕共享,再將遠端 5900 連接埠轉送至本機。SSH 工作階段中斷後,通道也會關閉。
ssh -N -L 5901:127.0.0.1:5900 xops-node
保持這個終端開啟。在本機 Mac 的「螢幕共享」或相容 VNC 的用戶端中,連線至 vnc://127.0.0.1:5901。圖形介面的登入權限與 SSH 權限請分別確認,別假設兩者使用相同的憑證。
rsync 等檔案同步方式。先同步可重新建置的專案檔案,再還原工具鏈,最後接入 CI。模型權重、簽章資料和建置快取的處理方式各不相同;請勿未經篩選就複製整個本機使用者目錄。
使用 rsync 增量同步專案與模型權重。先試傳一次,再確認目標目錄、檔案權限和可用儲存空間。外接硬碟映像僅適合事先確認格式與容量後的離線遷移。
rsync -avh --progress ./project/ \
xops-node:~/work/project/
大型權重請分批傳輸;完成後比較檔案大小和校驗值。請勿將私密金鑰或臨時權杖放入專案目錄。
在本機使用 Homebrew Bundle 匯出 Brewfile,再匯入節點;接著確認 Xcode 版本、命令列工具和相依套件鎖定檔。簽章憑證請分開傳送,匯入後限制鑰匙圈存取權限。
brew bundle dump --file=./Brewfile
rsync -av ./Brewfile xops-node:~/work/
ssh xops-node 'brew bundle --file=~/work/Brewfile'
請勿直接複製本機的 Python 虛擬環境;請在目標主機重新安裝相依套件。
在現有 CI 專案中註冊 self-hosted runner,並綁定指定的程式碼庫或團隊。將建置快取放在獨立目錄,並依照統一記憶體容量與建置負載設定並行工作數。
以上為遷移作業的預估時間,並非實例交付時間。首次同步前請先確認可用磁碟空間;若需要擴充,請至機型與加購項目確認可選規格。
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 參數可能不同;正式部署前,請以實例上已安裝版本的命令說明為準。
預設只監聽 127.0.0.1。少量內部呼叫可由團隊成員各自建立 SSH 通道;若需要統一入口,請使用具備驗證、存取控制和 TLS 的反向代理,切勿將未受保護的推論端點直接公開至公網。
ssh -N -L 8080:127.0.0.1:8080 xops-node
確認前景程序穩定後,為服務建立使用者層級的 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 則可為更大型模型或多工作負載保留空間。實際處理量取決於模型、上下文和負載,請使用自己的請求樣本進行測試。
專屬實體主機適合執行 Xcode 編譯、模擬器測試與自架 runner:同一台主機的 CPU、GPU 和統一記憶體不會被其他租戶的工作占用。不過,模擬器測試通過,不代表實體裝置上的相機、藍牙或效能測試也會通過。
固定 Xcode 和模擬器執行環境版本,再依照重要的裝置尺寸與作業系統版本建立測試矩陣。先使用 xcrun simctl list devices available 確認實際可用的裝置,避免 CI 流程引用尚未安裝的執行環境。
先讓 runner 完成可重現的測試和封存,再依照團隊既有的簽章流程上傳 TestFlight 建置版本。憑證、描述檔和上傳憑證請存放於受控位置;勿寫入程式碼庫或持久保存的建置記錄。
檢查項目:簽章 / 封存 / 上傳結果涉及感測器、實際網路切換、耗電量或配件互動的測試案例,仍須使用團隊控管的實體裝置驗證。雲端節點可負責建置與發佈,再由本機裝置完成最終回歸測試和問題重現。
檢查項目:裝置記錄 / 重現步驟節點涵蓋新加坡、東京、首爾和香港。團隊成員所在地、電信業者路由和晚間尖峰壅塞都會影響實際使用體驗;推論介面更應同時測量請求往返時間與模型生成時間,不要只看 ping。
下表以毫秒為單位,列出依指定方法整理的參考資料,不代表任何使用者的即時連線保證。請在自己的網路環境中重複測量後再選擇節點。
| 來源城市 | 新加坡 | 東京 | 首爾 | 香港 |
|---|---|---|---|---|
| 上海 | 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 次、平日晚間尖峰時段、家用寬頻連線;僅供初步選擇節點參考。資料會隨電信業者與線路變動,不能取代從您的辦公地點對實際實例進行的測試。
先對實際實例連續執行 ping,再檢查封包遺失與延遲抖動。團隊分散多地時,應以最常操作遠端桌面或呼叫推論介面的成員為主要參考,而非只選地理位置最近的城市。
模型權重、媒體素材和建置快取適合增量同步。大量傳輸請安排在業務離峰時段,失敗後再續傳;若互動式 VNC 畫面卡頓,也請檢查背景同步是否占滿上傳頻寬。
Thunderbolt 5 多機連接適用於確有協作需求,且應用工作流程能善用多台實體主機的情境。它不會自動將單機的統一記憶體合併為模型可用的記憶體池;設定前請先確認軟體架構。
實例或訂單問題請透過控制台提交支援單。提交前先確認本機網路、實例狀態、連線方式和故障發生時間;截圖或記錄中請勿附上私密金鑰、完整權杖或未遮蔽的敏感資料。
登入控制台,在對應的訂單或實例頁面提交支援單,並附上排查資料。尚未下單的規格選擇問題可寄信至 support@xcodeops.com;已建立實例的問題請優先透過支援單處理,方便關聯訂單與節點。
三種規格的專屬實體 Mac mini,提供日租、週租、月租或季租。先選擇機型,再依實際網路測試結果選擇節點;交付後的連線步驟,就從本頁開始。