目前主流的 AI 编程辅助工具主要包括 Cursor、Copilot、Claude Code 以及 Codex。仅就笔者的实际体验,来谈谈在远程连接服务器进行开发时,这几款工具分别有哪些优缺点,以及相关的网络配置方案。
1. Cursor:交互体验好,但额度消耗快
Cursor 的好处在于它 Harness(指为智能体搭配的终端、工具等环境)做的好。在很多情况下,你只需在代码里直接选中某个段落并 @ 对应的文件或组件,它在对话框中就会提供非常准确的上下文理解和优化建议。相比之下,Copilot 和部分 VS Code 插件在精准识别选中文段上就稍显不足,有时甚至只能把整个庞大的源文件发给模型。
此外,Cursor 支持切换多种底层大模型。但唯一的缺点是额度限制问题:如果使用 Oups 4.6 的话,Pro 账户的额度很快就会耗尽。如果你希望把它当作一个长期且高性价比的主力工具,目前来看成本较高。比较合理的策略是,遇到复杂的架构规划或核心逻辑(Plan)时使用 Oups 4.6 这类强模型,而日常简单的代码补全可以切换到别的工具链。但如果全流程都依赖它,额度限制会是一个明显的瓶颈。
2. GitHub Copilot:开箱即用,适合轻度修改
Copilot 的最大好处自然是集成度高且免配置,同时也会接入各大公司的最新高级模型。但是由于砍掉了学生优惠的 Oups 4.6 和 GPT 5.4,这种情况下相对来说就比较鸡肋。
就我个人的开发习惯而言,如果在远程写论文,通常会在 VS Code 里装一个 Overleaf WorkShop 插件配合 Copilot 使用,让它帮忙对 LaTeX 内容做一些简单的修改。比如,表格数据的加粗加下划线这种操作还可以,非常方便。但如果是遇到特别复杂的代码重构或大型逻辑开发,可能还是交给专门的工具更靠谱。总而言之,Copilot 最显而易见的优点就是:无需折腾配置,直接开箱即用。
3. Claude Code:环境配置与账号风控门槛较高
目前使用 Claude 相关工具(特别是原生工具和 API)最大痛点在于账号非常容易被封控。在开源社区里,例如比较火的自动科研Skill ARIS,有不少用户因为 Claude 账号受限,转而使用 GLM-5 等国内大模型来进行替代。但根据大家普遍的反馈,在处理复杂逻辑时,国内模型依然比不过 Sonnet 4.6,跟 Oups 4.6 相比差距就更大了。
同时,由于网络和风控原因,在远程服务器上配置运行 Claude Code 并不算特别简单(具体的配置步骤可以参考我之前的文章)。综合来看,我觉得目前阶段如果没有极特殊的需求,没有太大必要强行去折腾原生 Claude Code。因为如果只是想用上强大的 Oups 4.6 模型,你完全可以通过 Cursor、或者配置支持自定义 API 的第三方插件来曲线救国。GPT 5.4 级别通常已经能 handle 绝大部分的日常编码情况了。
4. Codex (等第三方 VS Code 插件):高性价比,但需配置代理连接
这里提到的 Codex,以前我用 Mac 平台使用时体验挺好。最近在 Windows 上尝试后,感觉不如 Mac 流畅,也可能是 Windows 终端环境和原生的 Unix 终端存在一些交互体验上的差距。
我最早是在购买的大模型额度(如 Cursor 额度)耗尽后,开始真正高频使用Codex。它们最大的优势就是便宜、耐用、性价比极高。即便每天高强度地使用进行科研或写代码,基本也完全够用。
但要在远程服务器的 VS Code 里流畅使用这些插件,往往需要解决网络连接问题——最典型的情况就是你的服务器无法直接访问 OpenAI 的接口。这时候就需要将本地(比如你的笔记本)网络代理的端口反向隧道转发(Reverse SSH Tunneling)到远程服务器上。
核心配置:SSH 远程端口转发与代理设置
首先,建议务必使用 SSH 密钥 (Key-based authentication) 验证连接服务器,而不是用密码。因为这些 AI 工具在后台运行或重新发起请求时,如果环境由于某个工具调用断掉重连,频繁让你重新输密码会极其折磨人。
1. 建立反向端口转发
在你的本地机器(笔记本/台式机)的终端里执行以下命令:
ssh -N -R 127.0.0.1:7898:127.0.0.1:7897 TTA2
参数说明:
-
7897: 你的本地代理软件(比如 Clash Verge 等)提供的本地 HTTP 代理端口。 -
7898: 映射在远程服务器(SSH 后)的端口号,你可以自己选一个未被占用的端口。 -
TTA2: 你在本地~/.ssh/config中配置好的远程服务器的Host Name(主机别名)。
这个命令的作用就是:将远程服务器请求 127.0.0.1:7898 的流量,安全地顺着 SSH 通道转发到你本机的 127.0.0.1:7897 端口上,再通过你的科学上网软件代理出去。
(注意:测试能否连通可以在服务器上用 curl -L http://google.com 试一下,确保收到了正常的响应页面,而不是超时卡死。)
2. VS Code 远程端的网络设置
配置好网络打通之后,需要让远程 VS Code 以及你安装的 AI 插件知道走这个端口:
连接上远程服务器后,按下 Command+Shift+P (Mac) 或 Ctrl+Shift+P (Win),输入 Preferences: Open Remote Settings (JSON),在打开的文件中添加:
{
"http.proxy": "http://127.0.0.1:7898",
"http.proxySupport": "override"
}
说明:
-
http.proxy指定了我们在第一步里转发在远程的那个端口。 -
http.proxySupport允许插件主动使用并覆盖其内部的代理配置。
3. Linux 服务器终端的环境变量配置
为了让命令行的其他工具(比如 curl、git、npm 等)也能在服务器上用这个通道拉取资源,可以在服务器终端修改 .bashrc 或 .zshrc:
export HTTP_PROXY=http://127.0.0.1:7898
export HTTPS_PROXY=http://127.0.0.1:7898
export NO_PROXY=localhost,127.0.0.1
添加完成后运行 source ~/.bashrc 使其生效,接着再次验证:
curl -I https://google.com
如果返回 HTTP/2 200 或类似的正常响应头,说明一切通过本机转发的网络配置终于大功告成了。此时在 VS Code 里登录扩展基本上就畅通无阻了。
5. 最常见的踩坑排雷总结
坑 1:你转发的是 SOCKS 端口,但 VS Code 里配的是 HTTP 代理
这就好比牛头不对马嘴。如果你本地代理软件的设定是:
7897 = HTTP 端口7891 = SOCKS 端口
那么你在 VS Code 的 "http.proxy" 配置中必须填 HTTP 端口(7897 对应的转发口)。VS Code 的网络配置目前对纯 Socks5 的直接支援有时有兼容性问题,不要想当然直接塞一个 SOCKS 进去,否则查错半天。
坑 2:转发所在的终端窗口被你不小心关了
我们第一步敲的那个 ssh -N -R ... 命令,只要它被中止(你通过 Ctrl+C 杀掉,或者手贱关了窗口),那个搭建在 SSH 加密通道内部的 127.0.0.1:7898 端口引流就瞬间消失了。
防坑建议:
- 一直留着那个 PowerShell 或者是你 Mac 上的 Terminal 窗口。
- 在 Windows Terminal 单独开一个 Tab 挂着,然后忘掉它。
- 高级操作:用
tmux挂在后台,或者在本机制作成自动跑的开机后台无头任务也可以。
坑 3:Mac 和 Windows 同时连接服务器,发生了端口抢占
如果你属于多端办公党,Mac 和 Windows 同时都在连接一台服务器,而且不巧都执行了: 将本地某端口 -> 远程同一个 127.0.0.1:7898
这显然会导致其中一台设备在服务端绑定 7898 时失败引发冲突。
防坑建议: 最省事的做法是同一时刻只保留一台设备挂代理连接通道。 如果你确有“双端并用”的需求,一定要拆分端口:
- Mac 的 ssh 命令映射给远程
7898。 - Windows 的 ssh 命令映射给远程
7899。
然后在用到对应的端时,将 Windows 环境连上去的对应的 VS Code Remote Settings (JSON) 中的端口改为 7899 即可:
{
"http.proxy": "http://127.0.0.1:7899",
"http.proxySupport": "override"
}
坑 4:Codex 已登录但仍在走第三方 API(账号切换无效)
如果你在 Windows + VS Code 使用 Codex 时,发现已经成功登录账号,但请求仍然发往第三方 API(如 newapi),这通常是因为配置文件中的 model_provider 优先级更高。
正确解决步骤:
- 在 VS Code 内退出登录:进入设置找到 Codex 并点击 Log Out。这一步是为了清除当前的会话缓存。
- 修改
config.toml:确保model_provider = "openai",并删除不必要的第三方 provider 配置。 - 重启并重新登录:重启 VS Code 后再次登录即可。
坑 5:Codex Windows 沙箱报错 (Couldn’t set up admin sandbox)
在 Windows 上使用时,可能会遇到沙箱设置失败的报错。这通常与权限或环境初始化有关。
推荐解决方案:
- 使用回退沙箱(最有效):在
config.toml中设置[windows] sandbox = "unelevated"。这是官方提供的 fallback 模式,非常稳定。 - 重建配置文件夹:将
C:\Users\用户名\.codex重命名备份,让插件重新生成。 - 管理员模式运行:首次配置时尝试以管理员身份运行 VS Code 以完成沙箱初始化。
最后的 Tip:
如果完成上述配置后仍有异常,可以按 F1 呼出命令面板并执行 “Developer: Reload Window” (重新加载窗口),或者直接重启 VS Code。祝大家 coding 和科研愉快!