claude-bridge

6个月前更新 430 00

claude-bridge 是一个实验性工具,通过拦截并转换 API 请求的方式,使 Claude Code 能够使用其他大型语言模型(LLM)提供商的服务,例如 OpenAI、Google 等。

所在地:
美国
收录时间:
2025-06-10
claude-bridgeclaude-bridge

claude-bridge 是一个实验性工具,通过拦截并转换 API 请求的方式,使 Claude Code 能够使用其他大语言模型(LLM)提供商的服务,例如 OpenAI、Google 等。尽管 Anthropic 的 Opus、Sonnet 和 Max 模型仍然是最推荐的选择,但如果你有兴趣尝试替代模型,这个工具可以帮你实现这一目标。

⚠️ 这是一个“伪装”其他模型为 Claude 的黑科技方案——请在充分了解风险的前提下使用。

工作原理

该项目通过 Node.js 实现了一个自定义加载器,作为子进程启动 Claude Code,并通过以下流程实现 API 请求的转换:

  1. 拦截请求:修补全局 fetch() 方法,捕获所有发往 api.anthropic.com/v1/messages 的请求;
  2. 请求转换:将原始 Anthropic 请求格式转换为统一的中间格式(称为 lemmy);
  3. 路由至对应提供商:根据配置,将请求转发给 OpenAI、Google 或其他支持的 LLM 提供商;
  4. 响应流式返回:将提供商的响应以 Anthropic 的 SSE 格式回传给 Claude Code,使其误认为正在与原生模型交互。

功能限制

由于该工具本质上是“模拟”了 Anthropic 的行为,因此存在一些功能上的限制和潜在问题:

❌ 完全不可用的功能

  • 令牌统计 / 成本报告:Claude Code 显示的数据可能不准确。
  • 图像上传:拖拽、粘贴图片或使用文件路径等功能依赖 Anthropic 自有服务。
  • 输入缓存机制:提示缓存未实现,可能导致成本显著上升。
  • 网络搜索 / 获取工具:这些功能为 Anthropic 独占,无法模拟。

🤷 部分不稳定的功能

  • 模型专属特性:如 Claude 的 Artifacts、GPT 的推理模式等,无法完全转换。
  • 思考/推理输出格式差异:不同提供商的输出逻辑不一致,可能导致解析错误。
  • 错误信息不够明确:如认证失败等问题可能不会被清晰反馈。
  • 工具调用模式转换失败:虽然大多数情况下 JSON Schema ↔ Zod 转换可行,但偶尔会出错。
  • 流式传输行为差异:尽管进行了格式适配,SSE 行为仍可能存在细微差别。

包管理方式

为了兼容性和可维护性,该项目采用了混合打包策略:

  • 核心逻辑claude-bridge + lemmy)被打包进主模块;
  • LLM 提供商 SDK(如 @anthropic-ai/sdk, openai, @google/generative-ai 等)保持为外部依赖;
  • 此设计避免了 Node.js 中动态 require 所带来的问题,同时保留了依赖的灵活性和可升级性。

数据统计

相关导航

暂无评论

none
暂无评论...