工作区同步
把手机上的工作区目录同步到远程服务器。入口在「设置 → 运行环境 → 连接与同步」,页面底部有四个标签页。
本页与「容器与镜像」的分工
本页只负责连接通道和文件同步。如果你想让 AI 直接把远程服务器当执行环境(命令、文件、终端都在服务器上运行),那是另一项功能,见远程 SSH 模式——它会复用这里建好的 SFTP 通道。
连接配置
点右上角 + 新建一个连接通道:
- 协议类型:
SFTP(默认端口 22)或FTP(默认端口 21)。 - 连接名称:别名。
- 主机地址:IP 或域名。
- 端口 / 用户名 / 认证方式:必填。认证方式可以选择密码,或选择密钥(从「SSH 密钥」页已添加的私钥中选择;加密私钥的口令在密钥编辑页里填,连接这里不再重复填)。
- 测试连通性:保存前可先测试。
SSH 密钥与主机指纹
点顶栏的钥匙图标进入,底部两个标签页:
密钥:管理登录用的私钥。点右上角 + 有两种添加方式:从文件导入(从文件选择器选私钥文件)或粘贴密钥(进入与编辑页相同的表单,粘贴私钥内容并填名称、口令,名称留空自动命名)。私钥会加密复制到私有目录并解析出公钥指纹,加密的私钥会标注「需口令」。点某条密钥进入编辑页:可改名称和口令(加密私钥的 passphrase),私钥内容只读(默认隐藏,点右侧眼睛可查看)。口令在密钥上设置,连接选用该密钥时会自动带上。左滑删除。
密钥列表会在进入页面后异步加载;导入、修改或删除后自动刷新。保存带口令的密钥时无需停留等待,返回列表后即可查看更新结果。
指纹:管理已信任的服务器主机指纹。首次连接某台服务器时会弹窗显示密钥类型和 SHA256: 指纹,确认「信任并连接」后保存下来,之后直接放行。如果服务器指纹变了会再次要求确认——这是防中间人攻击的机制,指纹突然变化要当心。左滑删除后下次连接重新确认。
挂载目录
连接通道只解决「能否连接」,还需要建立「哪个本地工作区对应哪个远程目录」的映射。点右上角 + :
- 关联连接通道:下拉选一个已建好的连接。
- 远程目标目录:右侧文件夹图标可以打开远程目录浏览器逐级点选。
- 映射到本地工作区:下拉选一个本地工作区(需要先在侧边栏创建)。
- 应用启动时自动连接:打开后会跟随当前工作区——App 启动或切换工作区时,自动连接映射到当前工作区的挂载并监听本地改动,同时断开其它工作区的挂载。连接失败会按退避间隔一直重试,关掉开关才停。
保存时如果已存在相同的「通道 + 远程目录 + 工作区」组合,会提示挂载已存在并拦截。
连接成功后卡片上有几个操作:断开连接、上传变更、下载全部,以及右侧「更多」菜单(强制全量上传、清除同步记录)。列表行左滑可删除。
同步是单向的
自动同步只把连接后的本地改动推到远程(监听本地文件的增删改),远程目录的变化不会自动拉下来。连接时不会自动上传已有文件,需要时请手动点「上传变更」。
需要把远程文件拉到本地时手动点「下载全部」,但要注意这是全量覆盖式拉取:会覆盖本地同名文件(不删除本地多出来的文件),本地未保存的修改可能被覆盖。使用前请确认清楚。
哪些文件会被上传
「上传变更」与自动同步都只传输有改动的文件:每个文件按「大小 + 修改时间」和上次成功同步的记录比对,一致就跳过、不再重传;大小相同但修改时间不同时,再用内容哈希(SHA-256)兜底判断,内容确实没变也会跳过。这些同步记录保存在 App 私有目录,重启后依然有效。
判断是保守的:拿不准就上传,不会漏传。右侧「更多」菜单里:
- 强制全量上传:忽略同步记录,把全部文件重传一遍。用于远程目录被外部清空或改动、需要强制覆盖的场景。
- 清除同步记录:删除该挂载的同步记录,让下次上传重新视为全新(等价于一次全量)。
另外,对确实改动过的文件,SFTP/FTP 只能整体重传,无法只传输差异部分。
连接超时是 15 秒,主机不可达时会快速报错而不是一直等。已连接的挂载每 15 秒探活一次,断线时卡片显示「重连中」,并按 5 秒、10 秒、20 秒、40 秒、60 秒的间隔自动重连,成功后恢复同步。
内置 FTP 服务端
在手机上开启一个 FTP 服务,便于用电脑管理手机上的项目。
手机和电脑要连同一个 WiFi。开启后界面会显示 FTP 地址(如 ftp://192.168.1.100:2121,点地址可复制),在电脑的文件资源管理器或 FileZilla 里访问即可,能管理 projects/ 下的全部项目。
可配置的参数有监听端口、登录用户名、登录密码、是否允许匿名访问、是否开机自启,改完点底部「保存配置」。
注意安全
允许匿名访问意味着同一网络下的任何设备都能读写你的项目文件。在公共 WiFi 下请勿开启匿名访问,使用完毕后建议关闭服务。
同步设置
- 遵循 .gitignore 规则:打开后自动读取项目根目录的
.gitignore过滤要同步的文件。 - 单次最大同步队列数量:防止一次性改动大量文件时导致服务端请求过载或网络拥塞,超出的操作会排队分批执行。
另外同步引擎始终会忽略常见的构建和缓存目录(node_modules、.git、build、dist 等),无需手动配置。
改完点底部「保存设置」生效。