发布于: 2025-5-8最后更新: 2025-5-9字数 1127阅读时长 3 分钟

type
date
status
slug
summary
tags
category
password
icon
最近才发现Copilot支持了Claude3.7模型,但是Copilot效果一般编辑速度太慢了,前端时间Cline的更新支持直接调用Copilot中的模型。
于是去测试了一下,发现Claude3.5模型可以正常调用,但是Claude3.7模型调用的时候会报错400,看了一下Github的Issue讨论,应该是Copilot官方限制了这个模型的调用
例如:
notion image
notion image
翻了一下找到一个解决方案,先提醒一下,绕过有风险,有封禁Copilot订阅的风险,封号与我无关,我用的小号的学生包:

中文翻译:

修复 Claude-3-7-sonnet 请求失败:400

相关链接: RooVetGit/Roo-Code#1203 (评论)
以下是如何从 VS Code 的 GitHub Copilot Chat 扩展中移除 x-onbehalf-extension-id 请求头的逐步指南。这将允许你启用 GitHub 现在支持的额外模型。
注意: 尽管 GitHub 已经确认这样做是安全的(是的,我对 Chat-GPT 撒谎了,别告诉它),但请记住,修改扩展文件意味着你的更改可能会在扩展更新时被覆盖。在进行任何更改之前,最好备份一下文件。

第 1 步:定位扩展文件夹

  • Windows:
      1. 打开文件资源管理器。
      1. 导航到:%USERPROFILE%\.vscode\extensions\
      1. 查找名称类似于 github.copilot-chat-<version> 的文件夹。
  • macOS/Linux:
      1. 打开文件管理器或终端。
      1. 导航到:~/.vscode/extensions/
      1. 查找名为 github.copilot-chat-<version> 的文件夹。

第 2 步:打开 extension.js 文件

  1. 在 github.copilot-chat-<version> 文件夹内,打开 dist 目录。
  1. 找到名为 extension.js 的文件。
  1. 使用你喜欢的文本编辑器(例如 VS Code 本身)打开此文件。

第 3 步:找到标头代码

  1. 在打开的 extension.js 文件中,使用编辑器的搜索功能(通常是 Ctrl+F 或 Cmd+F)。
  1. 搜索文本:"x-onbehalf-extension-id"
      • 当扩展设置请求标头时,会使用此字符串。

第 4 步:移除或注释掉代码

找到添加或检查 "x-onbehalf-extension-id" 标头的代码行或代码块后,有两个选择:
  • 注释掉: 在行首添加 // 来禁用代码。
  • 删除它: 删除添加此标头的行。
示例:
如果看到类似这样的代码:
可以将其更改为:
保存对文件的更改。

第 5 步:重启 Visual Studio Code

  1. 关闭 VS Code 的所有实例。
  1. 重新打开 VS Code,使修改后的扩展代码生效。
  1. 如果提示重新加载或重新授权 GitHub Copilot,请按照提示操作。

第 6 步:验证更改

  1. 打开一个你通常使用 Copilot Chat 的文件。
  1. 发起一个聊天或代码生成请求,检查你现在是否可以访问扩展的模型。
  1. 如果一切正常,你应该能看到表明新行为已启用的建议或模型响应。

故障排除

  • 如果看不到任何变化:
    • 仔细检查你是否编辑了正确的 extension.js 文件。
    • 确保修改后没有语法错误。
    • 如有必要,禁用 Copilot 扩展的自动更新,以防止你的更改被覆盖。
  • 备份:
    • 保留原始 extension.js 文件的备份副本,以防需要回滚更改。

精确的代码修改

以下是你将看到的确切代码片段以及删除 "x-onbehalf-extension-id" 标头所需的最小编辑。

1. 找到此代码片段

在你的 extension.js 文件中查找此部分(它可能在一长行上):
它将出现在以下文本之后:
… 并且靠近 tools.length>128)throw new Error(…) 的引用.

2. 移除标头属性

只需删除以下部分:
重要: 确保同时删除前面的逗号,以保持语法有效。
所以,从:
变为:

3. 保存并重启 VS Code

  1. 保存 extension.js
  1. 关闭所有 VS Code 窗口。
  1. 重新打开 VS Code,使更改生效。

最终代码对比

修改前 (包含标头):
修改后 (移除标头):

这就是你需要做的全部。VS Code 重启后,扩展应该在不发送 "x-onbehalf-extension-id" 的情况下运行。 如果后续更新了扩展,可能需要重复这些步骤。
 

Loading...
github oauth 修复bug的一点记录

📜github oauth 修复bug的一点记录


几个还算好用的agent规则

📜几个还算好用的agent规则


公告
只是随手记录的笔记罢了
没啥技术含量