多台機器
一個工作區可以接不止一台電腦。這一頁講怎麼接,以及換機器時哪些東西會跟著走、哪些不會 —— 後半句才是真正絆人的地方。
先說最要緊的一句:工作區綁的是一個目錄
icloser pair 在當前目錄上建工作區。那個目錄就是 AI 員工的整個世界 —— 它讀的、寫的、跑命令的地方,都是它。
所以要在你的專案目錄裡敲這條命令:
不想換目錄的話,用 --path 把目錄寫明白,再用 --api 指網關。
⚠️ 不要在下載或解壓安裝包的那個目錄裡跑它。那種目錄(下載、暫存目錄、桌面上隨手解出來的資料夾)通常還裝著別的東西,而它們會一起變成這個工作區的內容。真實發生過:一台機器上的工作區綁在解壓安裝包的暫存目錄上,那個目錄裡放著私人文件。新版本會直接拒絕這種目錄,但把 --path 寫明白仍然是最省事的做法。
第二台電腦接進同一個工作區
配對時會出一條加入連結。在第二台電腦上,進到你想放它的目錄,把連結交給:
兩台機器現在屬於同一個工作區,各自有自己的本機目錄 —— 路徑不必相同。
檔案怎麼過去:push 和 pull
push 把本機當前的檔案狀態上報上去;pull 把另一台裝置的狀態還原到本機,--from 指定從哪台取。
目錄裡有 git 的話,push 只傳相對 HEAD 的差異,不是每次整棵樹重來;--full 強制全量。
pull 有兩條預設值是刻意的:衝突的檔案跳過,絕不靜默覆蓋你本機的改動;刪除不執行 —— 刪除不可逆,要刪得你自己刪。
哪些東西不會跟著走
這一節最容易踩。以下內容刻意不同步,換機器之後要在新機器上自己準備:
- 私鑰與密鑰材料 —— SSH 私鑰、
.pem/.jks/.p12、簽章描述檔這類。永遠不跨裝置同步:外洩一次就要全部輪換。 - 憑據與權杖 ——
.env、.npmrc、.git-credentials這類。目前也不同步,換機器後要在新機器上自己準備。push會把跳過的逐條列出來,不悶聲少傳。(.env.example這種樣板檔是放行的。) - 很大的單一檔案 —— 超過 16 MiB 的只記清單、不傳內容。它照樣出現在檔案列表裡,但內容是空的。
push會明確告訴你是哪幾個、多大。 .git/.hg/.svn內部目錄 —— 由版本庫自己維護,跨機複製會把倉庫弄壞。- 工作階段紀錄與執行過程產物 —— 大塊的
.jsonl、工具結果流水這類。恢復要的是結果,不是過程。
換到新機器上「跑不起來」,絕大多數時候是第一條:幾個憑據檔沒跟過來。push 那一屏已經點了名,回頭翻一下就知道缺哪幾個。
權限不跨機器
授權是按機器給的,不會從一台繼承到另一台。第二台電腦接進來之後仍然是唯讀,要在那台機器上自己再授一次:
這是刻意的:一台機器上點過的頭,不該替另一台機器做主。
兩台機器同時在同一個工作區裡幹活
可以。任務誰先接到算誰的,同一條任務不會被跑兩遍。檔案層面上,pull 遇到衝突會跳過並報給你,不替你選。
看看現在都有誰
依次是:這台機器上的全部工作區(→ 是當前那個)、切到其中一個、誰在跑並綁著哪個工作區、當前工作區的身分和目錄。
icloser status 會把當前工作區綁的目錄印出來。發 push 之前掃一眼那一行 —— 它送的是那個目錄,不是你現在人在的目錄。