多台机器

一个工作区可以接不止一台电脑。这一页讲怎么接,以及换机器时哪些东西会跟着走、哪些不会 —— 后半句才是真正绊人的地方。

先说最要紧的一句:工作区绑的是一个目录

icloser pair当前目录上建工作区。那个目录就是 AI 员工的整个世界 —— 它读的、写的、跑命令的地方,都是它。

所以要在你的项目目录里敲这条命令:

$ cd ~/我的项目 $ icloser pair

不想换目录的话,用 --path 把目录写明白,再用 --api 指网关。

⚠️ 不要在下载或解压安装包的那个目录里跑它。那种目录(下载、临时目录、桌面上随手解出来的文件夹)通常还装着别的东西,而它们会一起变成这个工作区的内容。真实发生过:一台机器上的工作区绑在解压安装包的临时目录上,那个目录里放着私人文档。新版本会直接拒绝这种目录,但把 --path 写明白仍然是最省事的做法。

第二台电脑接进同一个工作区

配对时会出一条加入链接。在第二台电脑上,进到你想放它的目录,把链接交给:

$ icloser init

两台机器现在属于同一个工作区,各自有自己的本地目录 —— 路径不必相同。

文件怎么过去:push 和 pull

$ icloser push $ icloser pull

push 把本机当前的文件状态上报上去;pull 把另一台设备的状态还原到本机,--from 指定从哪台取。

目录里有 git 的话,push 只传相对 HEAD 的差异,不是每次整棵树重来;--full 强制全量。

pull 有两条默认值是刻意的:冲突的文件跳过,绝不静默覆盖你本地的改动删除不执行 —— 删除不可逆,要删得你自己删。

哪些东西不会跟着走

这一节最容易踩。以下内容刻意不同步,换机器之后要在新机器上自己准备:

换到新机器上「跑不起来」,绝大多数时候是第一条:几个凭据文件没跟过来。push 那一屏已经点了名,回头翻一下就知道缺哪几个。

权限不跨机器

授权是按机器给的,不会从一台继承到另一台。第二台电脑接进来之后仍然是只读,要在那台机器上自己再授一次:

$ icloser grant read $ icloser grant write $ icloser grant exec

这是刻意的:一台机器上点过的头,不该替另一台机器做主。

两台机器同时在同一个工作区里干活

可以。任务谁先接到算谁的,同一条任务不会被跑两遍。文件层面上,pull 遇到冲突会跳过并报给你,不替你选。

看看现在都有谁

$ icloser workspaces $ icloser use $ icloser agents $ icloser status

依次是:这台机器上的全部工作区( 是当前那个)、切到其中一个、谁在跑并绑着哪个工作区、当前工作区的身份和目录。

icloser status 会把当前工作区绑的目录印出来。发 push 之前扫一眼那一行 —— 它送的是那个目录,不是你现在人在的目录。

接着看:配对 · 权限 · CLI 参考