Skip to content

[feat] ProviderProxy: 第三方 API 协议兼容层 #318

@aaronwong1989

Description

@aaronwong1989

摘要

实现本地反向代理,解决第三方 API Provider(如 SiliconFlow、OpenRouter)协议兼容性问题。

背景

Claude Code 2.x 发送 thinking.type=adaptive,但多数第三方 Provider 不支持该字段。
cc-connect 通过 core/providerproxy.go 的本地反向代理实现透明转换。

提案

// internal/provider/proxy.go
type ProviderProxy struct {
    targetURL        string
    thinkingOverride string  // "disabled" | "enabled"
    listener         net.Listener
    server           *http.Server
}

// 在 127.0.0.1 随机端口启动代理
// 所有 /messages POST 请求重写 thinking.type=adaptive → override
// CLI 层: ANTHROPIC_BASE_URL=proxyURL + ANTHROPIC_AUTH_TOKEN=apiKey

影响文件

  • 新增: internal/provider/proxy.go
  • 扩展: provider/claude_provider.go

参考

  • cc-connect: core/providerproxy.go
  • 调研文档: docs/research/cc-connect-compare-proposals.md

来源: cc-connect 竞品调研 | 分支: research/cc-connect-deep-dive

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/provider🤖 Provider - AI Provider 集成priority/high🟠 P1 - 严重影响用户体验、频繁出现的问题size/medium📏 Medium - 1-3 天工作量status/needs-triage🔍 Needs Triage - 需要进一步评估type/feature✨ Feature - 新功能请求

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions