logo
44
98
WeChat Login

/ide 连接Visual Studio Code 报101错误#204

Open
created 3 weeks ago
Edit

/ide
⎿ Error: Unexpected server response: 101

tencent-cloud.coding-copilot:4.3.20019762
codebuddy:2.93.3

Creator

Visual Studio Code:1.116.0 (Universal)
macOS:15.6 (24G84)

1
42,755 tokens, 4.380 credits, ¥0.219

@cnb.cg2fJ2CfBTA(hassan)
你好!关于 /ide 连接 VS Code 报 101 错误 的问题,分析如下:

错误原因:
Error: Unexpected server response: 101 中的 101 是 HTTP 协议切换状态码(Switching Protocols),通常用于 WebSocket 升级。出现这个错误说明客户端在建立连接时未能正确处理协议切换。

常见排查方向:

  1. 网络代理/VPN 干扰 — 代理可能不支持 WebSocket 协议升级,尝试关闭代理或 VPN 后重试
  2. 防火墙限制 — 企业网络可能拦截了 WebSocket 连接,检查是否有出站 443 端口限制
  3. 插件版本兼容性 — 你当前使用 codebuddy:2.93.3coding-copilot:4.3.20019762,尝试更新到最新版本
  4. 重启工作区 — 在 CNB 平台重启工作区后再尝试连接

建议操作步骤:

  1. 检查并关闭代理/VPN → 重试连接
  2. 如果仍失败,尝试在 VS Code 中卸载并重新安装 CodeBuddy 插件
  3. 重启 CNB 工作区后再次连接

如果以上方法都无法解决,请补充你的网络环境信息(是否在公司网络/有无代理),方便进一步排查。

Creator

1.无VPN
2.防火墙无限制
3.目前都是插件最新版本
4.已经重启了

同样情况下claude code 可以正常连接VS Code

1
499,167 tokens, 43.120 credits, ¥2.156

@cnb.cg2fJ2CfBTA(hassan)
你好!针对 /ide 连接 VS Code 报 Error: Unexpected server response: 101 的问题,结合之前的排查和我的分析,补充以下建议:

101 错误的本质:这是 WebSocket 协议升级(Switching Protocols)的响应码,说明 CodeBuddy CLI 通过 MCP 连接 IDE 插件时,WebSocket 握手未能正常完成。

既然 Claude Code 能正常连接而 CodeBuddy 不行,问题很可能出在 CodeBuddy 插件侧的 MCP 连接处理上。请尝试以下步骤:

1. 检查 SSH 配置(ForwardAgent)

~/.ssh/config 中为 CNB 添加专用配置,禁用 ForwardAgent(类似问题参考):

Host remote.cnb.space
  ForwardAgent no

2. 关闭 DynamicForwarding

  • 打开 VS Code 设置 Cmd + ,
  • 搜索 codebuddy.remote.SSH.enableDynamicForwarding
  • 取消勾选(设为 false
  • 重新连接

3. 检查插件冲突

确认是否同时安装了 VSCode 官方的 Remote - SSHDev Container 插件。CodeBuddy IDE 内置了这些插件,官方插件会导致冲突,请卸载官方版本后重试。

4. 重新建立 MCP 连接

在终端中依次执行:

  1. /ide 先断开当前连接
  2. 重启 VS Code 窗口(Cmd + Shift + PDeveloper: Reload Window
  3. 再次执行 /ide 连接

5. 查看详细日志

如果以上步骤仍无法解决,请查看 CodeBuddy CLI 的调试日志:

  • 输出面板(View → Output)选择 CodeBuddy 通道
  • 或在终端设置 export CODEBUDDY_LOG_LEVEL=debug 后重启

把具体的错误日志贴出来,我可以进一步帮你排查。

Creator

2026-04-23 13:42:53.954 [error] [Window] [Extension Host] TypeError: _e.includes is not a function
at LoggerCollector.handleLogEvent (/Users/hassan/.vscode/extensions/tencent-cloud.coding-copilot-4.3.20019762/out/extension/index.js:63:1670793)
at /Users/hassan/.vscode/extensions/tencent-cloud.coding-copilot-4.3.20019762/out/extension/index.js:63:1670127
at /Users/hassan/.vscode/extensions/tencent-cloud.coding-copilot-4.3.20019762/out/extension/index.js:63:5565923
at CallbackList.invoke (/Users/hassan/.vscode/extensions/tencent-cloud.coding-copilot-4.3.20019762/out/extension/index.js:63:5566020)
at Emitter.fire (/Users/hassan/.vscode/extensions/tencent-cloud.coding-copilot-4.3.20019762/out/extension/index.js:63:2574211)
at FileLogger.output (/Users/hassan/.vscode/extensions/tencent-cloud.coding-copilot-4.3.20019762/out/extension/index.js:63:3648028)
at FileLogger.error (/Users/hassan/.vscode/extensions/tencent-cloud.coding-copilot-4.3.20019762/out/extension/index.js:63:3647413)
at /Users/hassan/.vscode/extensions/tencent-cloud.coding-copilot-4.3.20019762/out/extension/index.js:63:5175840
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runNextTicks (node:internal/process/task_queues:68:3)
at processTimers (node:internal/timers:518:9)

@CodeBuddy

1
197,063 tokens, 13.960 credits, ¥0.698

@cnb.cg2fJ2CfBTA(hassan)
感谢提供详细错误日志!分析如下:

错误定位TypeError: _e.includes is not a function 发生在 coding-copilot 插件的 LoggerCollector.handleLogEvent 中,这是一个插件侧的 Bug——代码对某个预期为字符串的变量调用了 .includes(),但实际传入的值不是字符串类型(可能是 undefined 或非字符串对象)。

与 101 错误的关系:这个 TypeError 是插件在记录另一个错误日志时二次触发的,说明插件内部错误处理链有缺陷。根本原因仍然是 MCP WebSocket 连接建立失败(101 错误)。

建议操作

  1. 清理插件缓存后重装

    # 完全卸载插件
    rm -rf ~/.vscode/extensions/tencent-cloud.coding-copilot-4.3.20019762
    # 然后在 VS Code 中重新安装
    
  2. 检查 VS Code Remote-SSH 插件冲突

    • 确认是否同时安装了官方 Remote - SSH 扩展,如有请卸载(CodeBuddy 插件内置了该功能,会冲突)
  3. 关闭 DynamicForwarding

    • Cmd + , 打开设置
    • 搜索 codebuddy.remote.SSH.enableDynamicForwarding
    • 取消勾选
  4. 查看完整 MCP 连接日志

    • 在 VS Code 输出面板(View → Output)选择 CodeBuddy 通道
    • 截图或贴出连接时的完整输出,特别是 101 错误出现前后的内容
  5. 尝试 ACP 方式连接(替代方案):
    如果 /ide 始终无法连接,可以尝试 ACP 协议集成,跳过 WebSocket:

    codebuddy --acp
    

请先尝试第 1-3 步,如果仍然不行,贴出 CodeBuddy 输出通道的日志,我进一步排查。

Assignee
None yet
Label
None yet
Priority
None yet
Time period
-
Property
Add custom properties to record and label key information
Participant