在AI模型开发场景中,我们经常会遇到本地Windows PC算力不足、远程开发机与AI服务器分离的问题,多设备协同开发时频繁输密码、文件传输繁琐、代码调试割裂,极大拖慢开发效率。本文针对「个人Windows PC(A)+ AI服务器(B)+远程开发服务器(C)」的经典架构,整理一套完整的免密互联、文件挂载、AI代码开发流程,实现三机无缝协作,高效完成AI代码开发与调试。

一、核心环境角色定义

先明确三台设备的定位,避免后续操作混淆,所有流程均围绕以下角色展开:

  • 设备A:个人Windows PC机,作为日常操作、代码预览的终端设备

  • 设备B:AI服务器(Linux系统),AI工具载体,负责运行AI代码、执行模型训练/推理(也可使用API方式进行模型调用)

  • 设备C:远程开发服务器(Linux系统),存储项目源码、提供稳定开发环境

整套流程的核心目标:实现A→B、A→C、B→C免密SSH互联,将A、C的项目文件夹挂载到B上,再通过OpenCode工具完成AI代码开发。


二、SSH密钥对配置:实现三机免密登录

SSH密钥免密是多机协作的基础,通过非对称加密验证身份,彻底告别重复输入账号密码的繁琐,全程仅需在对应设备执行命令,无需额外工具。

2.1 设备A(Windows PC)生成SSH密钥对

  1. 打开Windows终端(PowerShell/CMD),执行密钥生成命令,一路回车保留默认配置(无需设置密钥密码):ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

  2. 密钥生成后,默认存储路径:C:\Users\<你的Windows用户名>\.ssh,文件夹内会生成两个核心文件:

    • id_rsa:私钥(严格保管,切勿泄露)

    • id_rsa.pub:公钥(用于分发到其他服务器)

  3. 复制id_rsa.pub文件内的全部公钥内容,备用。

2.2 公钥分发:实现A→B、A→C免密

分别登录AI服务器(B)和远程开发服务器(C),配置公钥授权文件:

  1. 在B、C的对应用户目录下,创建SSH授权文件夹(若无则新建):mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys

  2. 将设备A的id_rsa.pub公钥内容,粘贴到B、C的~/.ssh/authorized_keys文件中(每行一个公钥,支持多设备公钥共存)。

2.3 设备B生成密钥:实现B→C免密

为了让AI服务器(B)能直接访问远程开发机(C),需在B上单独生成密钥对:

  1. 登录AI服务器(B),执行密钥生成命令,一路回车默认配置:ssh-keygen -t rsa -b 4096

  2. 密钥默认存储在B的~/.ssh目录下,复制id_rsa.pub公钥内容。

  3. 将该公钥粘贴到远程开发机(C)的~/.ssh/authorized_keys文件中。

配置完成后,测试三机互联:A直接SSH登录B/C、B直接SSH登录C,均无需输入账号密码,免密配置生效!


三、网络共享文件夹挂载:B机直接访问A/C源码

为了让AI服务器(B)能直接操作A、C的项目源码,避免文件重复拷贝,通过挂载方式将A、C的文件夹映射到B的本地目录,实现文件实时同步。

3.1 挂载远程开发机C到AI服务器B

采用sshfs协议挂载,依托前期配置的免密密钥,无需额外输密码,步骤如下:

  1. 登录B,在mnt目录创建挂载文件夹(名称可自定义):mkdir -p /mnt/remote-c

  2. 安装sshfs挂载工具:sudo apt install sshfs

  3. 修改B的开机挂载配置文件/etc/fstab,添加以下内容(替换尖括号内的实际参数):<C的用户名>@<C的IP地址>:<C的项目源码路径> /mnt/remote-c fuse.sshfs defaults,_netdev,identityfile=/root/.ssh/id_rsa,StrictHostKeyChecking=no,allow_other 0 0

  4. 执行挂载生效命令:mount -a

  5. 验证挂载:进入/mnt/remote-c,若内容与C的项目文件夹完全一致,说明挂载成功。

3.2 挂载Windows PC(A)到AI服务器B

采用CIFS协议挂载Windows共享文件夹,先开启A的文件共享,再在B配置挂载:

  1. 设备A开启文件共享:右键需要共享的项目文件夹 → 属性 → 共享 → 共享,等待共享进度完成,记录共享文件夹名称。

  2. 登录B,创建挂载文件夹:mkdir -p /mnt/remote-a

  3. 修改B的/etc/fstab文件,添加以下挂载规则(替换尖括号内的实际参数)://<A的IP地址>/<A的共享文件夹名> /mnt/remote-a cifs username=<Windows用户名>,password=<Windows密码>,soft,rw,uid=114,gid=118,file_mode=0777,dir_mode=0777 0 0

  4. 执行挂载生效命令:mount -a

  5. 验证挂载:进入/mnt/remote-a,若内容与A的共享文件夹一致,说明挂载成功。

挂载小贴士:若挂载失败,优先检查A/C的IP连通性、共享权限、fstab配置参数是否正确,重启网络后重新执行mount -a即可。


四、OpenCode使用指南:AI驱动代码开发

完成三机互联和文件挂载后,通过OpenCode工具在AI服务器(B)上实现AI辅助代码开发,全程依托挂载的源码目录,无需迁移文件。

4.1 安装Superpowers插件(OpenCode增强依赖)

登录AI服务器(B),在OpenCode中执行以下安装命令,完成插件配置:

Clone https://github.com/obra/superpowers to ~/.config/opencode/superpowers, then create directory ~/.config/opencode/plugins, then symlink ~/.config/opencode/superpowers/.opencode/plugins/superpowers.js to ~/.config/opencode/plugins/superpowers.js, then symlink ~/.config/opencode/superpowers/skills to ~/.config/opencode/skills/superpowers, then restart opencode.

4.2 验证插件安装是否成功

执行以下两条命令,检查软链接是否生效:

# 检查插件软链接
ls -l ~/.config/opencode/plugins/superpowers.js

# 检查技能软链接
ls -l ~/.config/opencode/skills/superpowers

若命令结果中出现->符号,说明软链接创建成功,插件正常生效;若未显示,重新执行安装步骤即可。

4.3 OpenCode基础开发流程

  1. 进入挂载的项目目录(以C机项目为例):cd /mnt/remote-c/project1

  2. 启动OpenCode工具,按Tab键切换至plan模式,清晰描述你的AI代码开发需求(如模型搭建、代码调试、功能实现等)。

  3. 核对OpenCode生成的执行方案,若不符合预期,继续交互沟通修改细节。

  4. 方案确认无误后,按Tab键切换至build模式,让OpenCode自动执行代码开发、调试操作。


五、进阶开发技巧:编辑器联动+双终端调试

针对复杂AI项目开发,推荐结合可视化编辑器+双终端协作,兼顾AI自动开发与手动调试,提升调试效率:

  1. 用编辑器(如Trae)的远程资源管理器,直接打开远程开发机(C)的项目文件夹,实现可视化代码预览。

  2. 开启编辑器内置终端,SSH连接AI服务器(B),进入OpenCode开发界面。

  3. 通过OpenCode完成核心代码开发,同时另开终端SSH连接C机,手动启动项目服务、验证运行结果。

  4. 可直接在编辑器中手动修改代码,依托挂载同步机制,B机可实时获取最新代码,快速验证调试效果。

多人开发避坑提示

多人共用远程开发机(C)时,极易出现端口冲突问题,解决方案:

  • 提前约定每人专属开发端口,避免占用;

  • 采用端口自动递增脚本,启动服务时自动分配可用端口,杜绝冲突。


六、总结

这套「SSH免密+文件挂载+OpenCode开发」的流程,完美解决了多设备AI开发的互联、文件、调试三大痛点,从本地PC到AI服务器再到远程开发机,实现了代码无缝同步、开发高效协同。无论是个人AI项目调试,还是小团队协作开发,都能大幅减少重复操作,把精力聚焦在核心代码与模型优化上。

按照本文步骤实操后,后续开发仅需启动OpenCode即可快速开展工作,再也不用被多机切换、密码输入、文件传输拖累效率~

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐