VSCode 远程 SSH 环境下 Copilot Claude 模型及 Agent 模式配置指南
最近不少开发者反馈,在本地使用 VSCode Copilot 时 Claude 模型一切正常,但一旦切换到远程 SSH 连接,Claude 模型突然消失,或者虽然能调用模型,但 Agent 模式无法编辑文件,提示工作区异常。这确实是个让人头疼的问题,尤其是当你已经为高级功能付费后。
问题根源分析
很多教程建议直接在本地 settings.json 中添加代理配置,并强制扩展运行在本地:
{
"http.proxy": "http://127.0.0.1:1082",
"remote.extensionKind": {
"GitHub.copilot": ["ui"],
"GitHub.copilot-chat": ["ui"]
}
}
这种配置在纯本地场景下是有效的,但在 SSH 远程开发中会引发冲突。核心原因在于 extensionKind 设置为 ui 时,Copilot 扩展会在本地客户端运行。此时,远程服务器上的工作区路径在本地是无法直接识别的。当 Agent 尝试编辑文件时,它检测到的工作区上下文与本地路径不匹配,从而触发安全拦截,提示类似 "The model wants to edit files outside of your workspace" 的错误。
简单来说:本地运行的扩展无法正确感知远程的工作区边界。
解决方案
要解决这个问题,我们需要将代理配置和扩展行为调整到适配远程环境。不需要把扩展强行拉回本地,而是让远程端也能通过代理访问服务。
第一步:清理本地配置
首先,打开本地的 VSCode 设置文件(通常是 .vscode/settings.json 或全局设置),将之前为了本地测试而添加的 http.proxy 和强制 extensionKind 的配置注释掉或删除。确保本地不再干扰远程会话的网络请求。
第二步:配置远程代理
接下来,我们需要在 SSH 连接的远程服务器上生效代理。打开远程会话中的 settings.json,加入以下配置:
{
"http.proxy": "http://127.0.0.1:1082",
"http.proxyStrictSSL":

