问题现象
在使用 VSCode 进行远程 SSH 开发时,Copilot 的 Claude 模型在本地可以正常使用,但切换到 Agent 模式编辑文件时会报错,提示工作区异常。
常见误区与原因
网上流传较多的方案是在本地 settings.json 中强制将 Copilot 扩展设为 UI 端运行,例如添加如下配置:
{
"http.proxy": "http://127.0.0.1:1082",
"remote.extensionKind": {
"GitHub.copilot": ["ui"],
"GitHub.copilot-chat": ["ui"]
}
}
这种做法虽然能让 Claude 模型出现在列表中,但会导致 Agent 模式无法编辑文件。原因是 extensionKind 强制扩展在本地运行时,远程的工作区路径在本地环境中无法被正确识别,从而触发安全限制。
正确解决方案
核心思路是将代理配置生效于远程服务器端,而不是强行把扩展拉回本地。这样既能保证网络连通性,又能保持工作区路径的正确性。
第一步:清理本地配置
打开本地 VSCode 的用户设置文件,将之前为了强制本地运行而添加的 http.proxy 和 remote.extensionKind 相关配置注释掉或删除,避免干扰远程会话。
第二步:配置 SSH 端口转发
在 SSH 配置文件中加入端口转发规则,将本地的代理端口映射到远程服务器。假设本地代理端口为 1082,可以在 ~/.ssh/config 中添加:
Host your-remote-server
LocalForward 1082 localhost:1082
这一步确保了远程服务器可以通过 127.0.0.1:1082 访问到你本地的代理服务。
第三步:配置远程环境变量
登录到远程服务器后,需要在远程 VSCode 的设置中指定代理地址。打开远程环境的 settings.json,添加以下配置:
{
"http.proxy": "http://127.0.0.1:1082",
"http.proxyStrictSSL":

