OpenCodex:将任意LLM路由到Codex和Claude Code

仓库:lidge-jun/opencodex  |  ⭐ 11.3k  |  语言:TypeScript  |  协议:MIT

项目简介

OpenCodex 是一个本地代理工具,能将任何LLM提供商(OpenAI、Anthropic、Gemini、本地模型等)路由到Codex、Claude Code、Claude Desktop或Grok Build等AI编程工具。它通过协议转换实现完全功能对等——即使用开源模型替代付费API,也能享受Codex的代码生成、Claude Code的智能编程等高级功能。OpenCodex在本地运行,数据不经过第三方服务器,保障了代码隐私和API密钥安全。

如果你对AI编程工具集成感兴趣,也可以参考 CopilotKit集成教程 了解另一种AI编程助手方案。

核心功能与架构

组件功能技术细节
Protocol Router协议转换路由器OpenAI/Claude/Grok协议互转
Provider RegistryLLM提供商注册表50+提供商,动态注册
Function Mapping功能等价映射工具调用、流式输出、多模态
Key Vault本地密钥保险库AES-256加密存储
Traffic Monitor流量监控与计费Token计数、成本追踪
Fallback Chain故障转移链主备模型自动切换
Local Cache响应缓存语义去重、TTL控制

安装指南

OpenCodex通过npm全局安装:

# 全局安装
npm install -g opencodex

# 初始化配置
opencodex init

# 添加LLM提供商
opencodex provider add openai --key sk-xxx
opencodex provider add anthropic --key sk-ant-xxx
opencodex provider add local --url http://localhost:11434 --model llama3

# 查看已配置的提供商
opencodex provider list

# 启动代理服务
opencodex start --port 8888

# 验证连接
opencodex test --provider openai --model gpt-4

使用示例

以下展示如何配置OpenCodex将本地模型路由到Claude Code:

// opencodex.config.ts
import { defineConfig } from "opencodex";

export default defineConfig({
  // 代理监听端口
  port: 8888,

  // 默认路由规则
  routes: {
    // 将Claude Code请求路由到本地Ollama
    "claude-code": {
      target: "local",
      model: "llama3.1:70b",
      fallback: "openai:gpt-4o",
      // 功能映射配置
      mapping: {
        toolUse: "function-calling",
        streaming: true,
        maxTokens: 32768,
      },
    },

    // 将Codex请求路由到Gemini
    "codex": {
      target: "google",
      model: "gemini-1.5-pro",
      fallback: "anthropic:claude-3.5-sonnet",
      mapping: {
        toolUse: "function-calling",
        streaming: true,
      },
    },

    // Grok Build路由到本地模型
    "grok-build": {
      target: "local",
      model: "deepseek-coder-v2",
      fallback: "openai:gpt-4-turbo",
    },
  },

  // 故障转移策略
  fallback: {
    maxRetries: 3,
    timeout: 30000,
    onFallback: (from, to) => {
      console.log(`Fallback: ${from} → ${to}`);
    },
  },

  // 成本控制
  billing: {
    dailyBudget: 10, // 美元
    alertThreshold: 0.8,
    onBudgetExceeded: "fallback-to-local",
  },
});

配置完成后,在Claude Code中设置API端点即可:

# 设置环境变量指向OpenCodex
export CLAUDE_API_BASE="http://localhost:8888"
export CLAUDE_API_KEY="opencodex-proxy"

# 启动Claude Code(实际使用本地模型)
claude-code

# Codex同理
export OPENAI_API_BASE="http://localhost:8888"
export OPENAI_API_KEY="opencodex-proxy"
codex

与同类工具对比

特性OpenCodexAI GatewayNew API
专注场景编程工具路由通用LLM网关自托管API
功能对等✅ 完整映射部分基础转发
本地模型原生支持支持支持
故障转移链式内置基础
成本控制预算限制Token级计费系统
部署复杂度

📚 常见问题

OpenCodex是什么?

OpenCodex 是一个本地代理工具,能将任何LLM提供商(OpenAI、Anthropic、Gemini、本地模型等)路由到Codex、Claude Code、Claude Desktop或Grok Build等AI编程工具。它通过协议转换实现完全功能对等——即使用开源模型替代付费API,也能享受Codex的代码生