一个轻量级的 VSCode 扩展,为 Claude API 提供智能代理和模型切换服务。
- Anthropic 官方 API - Claude 官方 API
- GLM (智谱AI) - 国内可用的 Claude 兼容 API
- Kimi (Moonshot) - Moonshot AI 的 Claude 兼容 API
- MiniMax - MiniMax 的 Claude 兼容 API
- DeepSeek - DeepSeek 的 Claude 兼容 API
- 自定义 Provider - 支持任何 Anthropic 格式兼容的 API
- LiteLLM - 本地代理,支持转换调用其他 LLM
- CLIProxyAPI - 本地代理,支持复杂的模型路由
- Haiku 模型映射 - 在设置中配置
- Main 模型映射 - 通过状态栏快速切换(Sonnet/Opus)
- 将所有请求和响应保存为 JSON 文件到
~/.claude/proxy/log/ - 方便调试和分析 API 调用
在 VSCode 扩展市场搜索 "Claude Proxy" 或访问 扩展页面 安装。
安装后,扩展会自动启动代理服务器(默认端口 4001)。
打开 VSCode 设置(Ctrl+, 或 Cmd+,),搜索 "Claude Proxy",根据需要配置一个或多个 Provider:
示例:配置 GLM (智谱AI)
- 启用
Claude Proxy › Providers › GLM › Enabled - 填写
Claude Proxy › Providers › GLM › API Key为你的 API 密钥 - 在
Claude Proxy › Providers › GLM › Models中添加可用模型,例如:[ "glm-4-plus", "glm-4-flash" ]
Haiku 模型的映射通过设置配置:
- 打开设置,搜索
Claude Proxy › Mappings › Haiku - 从下拉列表选择映射目标,或手动输入
provider:model格式- 例如:
glm:glm-4-flash - 或保持
pass表示透传
- 例如:
也可以通过命令面板:
- 按
Ctrl+Shift+P(或Cmd+Shift+P) - 输入
Claude Proxy: 选择Haiku映射目标 - 从列表中选择
主要模型(Main)的映射通过状态栏快速切换:
- 点击右下角状态栏的
$(arrow-swap) Claude: xxx按钮 - 从弹出的快速选择菜单中选择目标模型
- 选择
pass表示透传到原始 API - 选择
provider:model格式的选项映射到对应模型
- 选择
当前映射会实时显示在状态栏上。
Claude Proxy 采用轻量级的请求转发机制:
- 本地代理服务器: 在
127.0.0.1:4001启动 HTTP 代理 - 模型识别: 根据请求中的模型名称(haiku/sonnet/opus)自动识别类型
- 智能路由: 根据配置的映射规则,将请求转发到对应的 Provider
- 流式转发: 支持 SSE 流式响应,保持实时性
对于支持 Anthropic 原生格式 的 Provider(GLM、Kimi、MiniMax、DeepSeek、自定义 Provider):
- ✅ 直接转发 - 保持原始请求格式,仅修改 endpoint 和认证头
- ✅ 零开销 - 无需格式转换,性能最优
- ✅ 完全兼容 - 支持所有 Claude API 特性(tool use、vision 等)
对于不支持 Anthropic 格式的模型,通过集成成熟的转换工具:
-
LiteLLM - 支持 100+ LLM 提供商,自动格式转换
- 适合需要调用 OpenAI、Google Gemini 等其他 LLM 的场景
- 需要单独安装并配置 LiteLLM
-
CLIProxyAPI - 灵活的本地代理,支持复杂路由规则
- 适合需要自定义转换逻辑的高级场景
- 需要单独安装并配置
场景 1: 使用国内 GLM API(原生格式)
{
"claudeProxy.mappings.main": "glm:glm-4-plus",
"claudeProxy.providers.glm.enabled": true,
"claudeProxy.providers.glm.apiKey": "your-api-key",
"claudeProxy.providers.glm.models": ["glm-4-plus", "glm-4-flash"]
}场景 2: 通过 LiteLLM 调用 OpenAI
{
"claudeProxy.mappings.main": "litellm:gpt-4",
"claudeProxy.providers.litellm.enabled": true,
"claudeProxy.providers.litellm.binPath": "~/.local/bin/litellm",
"claudeProxy.providers.litellm.configPath": "~/.claude/proxy/litellm.yaml",
"claudeProxy.providers.litellm.models": ["gpt-4", "gpt-3.5-turbo"]
}启用 JSON 日志记录:
{
"claudeProxy.enableJsonLogging": true
}日志会保存到 ~/.claude/proxy/log/ 目录,每个请求一个 JSON 文件,包含:
- 请求 URL、headers、body
- 响应 status、headers、body
- 模型映射信息
- 错误信息(如果有)
将 Claude Code 的 API endpoint 设置为 http://127.0.0.1:4001:
# 在 ~/.claude/config.json 中配置
{
"apiBaseUrl": "http://127.0.0.1:4001"
}- 确保已安装 LiteLLM:
pip install litellm - 检查配置文件路径是否正确
- 查看 VSCode 开发者控制台的错误信息
- 开启 JSON 日志后,查看
~/.claude/proxy/log/目录 - 或者打开 VSCode 的开发者控制台查看实时日志
对于原生格式的 Provider(GLM、Kimi 等),支持所有 Claude API 特性:
- ✅ 流式响应
- ✅ Tool Use (函数调用)
- ✅ Vision (图像理解)
- ✅ System Prompts
- ✅ 所有参数配置
对于通过 LiteLLM 等工具转换的模型,功能取决于目标模型的能力。
# 克隆仓库
git clone https://github.com/uzhao/claude-proxy-vscode.git
cd claude-proxy-vscode
# 安装依赖
npm install
# 编译
npm run compile
# 在 VSCode 中按 F5 启动调试npm run watchnpm install -g @vscode/vsce
vsce package欢迎提交 Issue 和 Pull Request!