多台机器
一个工作区可以接不止一台电脑。这一页讲怎么接,以及换机器时哪些东西会跟着走、哪些不会 —— 后半句才是真正绊人的地方。
先说最要紧的一句:工作区绑的是一个目录
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 之前扫一眼那一行 —— 它送的是那个目录,不是你现在人在的目录。