starbaser/ccproxy

Build mods for Claude Code: Hook any request, modify any response, /model "with-your-custom-model", intelligent model routing using your logic or ours

What it solves

ccproxy 是一个为 LLM 工具和 AI 应用设计的网络拦截器。它允许开发者捕获、检查并转换 LLM 客户端(如 Aider、Cursor 或 OpenAI SDK)与 AI 供应商(Anthropic、Gemini、OpenAI、DeepSeek 等)之间的流量。它通过完整的 TLS 检查以及实时重新路由或修改请求和响应的能力,解决了“黑盒”LLM API 调用的问题。

How it works

该工具以透明代理的方式运行,主要通过两种拦截方法:

  1. Reverse Proxy:在 4000 端口上监听,客户端可通过环境变量(例如 ANTHROPIC_BASE_URL)指向此端口。
  2. WireGuard Namespace Jail:一个无根 Linux 网络命名空间,能够捕获来自任意进程的所有出站流量,无论其 SDK 配置如何。

流量会通过 DAG 驱动的 hook pipeline(入站和出站)以及名为 lightllm 的转换层。该层使用流式 FSM 处理不同供应商之间的线格式转换(例如将 Anthropic 格式的请求转换为 Gemini 格式的请求)。

Who it’s for

适用于需要调试 LLM API 交互、实现跨供应商路由,或为现有 LLM 客户端添加不支持功能(如 MCP 采样)的 AI 开发者和高级用户。

Highlights

  • Cross-Provider Routing:在 Anthropic、Gemini、OpenAI、DeepSeek 等主要供应商之间重定向或转换请求。
  • Transparent Capture:使用 WireGuard 命名空间拦截流量,无需修改客户端 SDK 设置。
  • Flow Inspection:内置 CLI 工具,可使用 jq 过滤器列出、转储、比较客户端请求与转发请求。
  • MCP Bridging:为任何客户端添加 Model Context Protocol(MCP)功能,如采样和服务器通知。
  • OAuth Integration:在进程内为 Anthropic、Google、Codex 进行 OAuth 刷新,允许与官方 CLI 共享凭证。
  • Request Shaping:重放已清理的请求封装,以保持身份头并符合特定供应商的合规要求。