ccproxy-api  by CaddyGlow

Unified local API access for multiple AI providers

Created 11 months ago
258 stars

Top 98.1% on SourcePulse

GitHubView on GitHub
Project Summary

<2-3 sentences summarising what the project addresses and solves, the target audience, and the benefit.> CCProxy API addresses the complexity of integrating with multiple AI providers like Anthropic Claude, OpenAI Codex, and GitHub Copilot. It offers a local, plugin-based reverse proxy that unifies access through a single, consistent API, enabling users to leverage existing subscriptions without managing individual API keys or billing. This simplifies development and allows for seamless switching between models and providers.

How It Works

<2-4 sentences on core approach / design (key algorithms, models, data flow, or architectural choices) and why this approach is advantageous or novel.> The core of CCProxy API is a plugin-based reverse proxy architecture. It supports providers like Anthropic Claude (API/SDK), OpenAI Codex, and GitHub Copilot, exposing a unified interface that mimics OpenAI Chat Completions and Anthropic Messages. A key design choice is the shared model-mapping layer, allowing clients to use the same model identifiers across different backends without code modification. Authentication can leverage existing provider credential files or utilize CLI-driven OAuth flows, with secrets automatically picked up by the proxy.

Quick Start & Requirements

  • Primary install / run command (pip, Docker, binary, etc.).
    • Install & Run (uvx): uvx --with "ccproxy-api[all]" ccproxy serve --port 8000
    • Install & Run (pipx): pipx install "ccproxy-api[all]" followed by ccproxy serve.
  • Non-default prerequisites and dependencies (GPU, CUDA >= 12, Python 3.12, large dataset, API keys, OS, hardware, etc.).
    • No specific hardware (e.g., GPU, CUDA) or Python versions are mandated in the README for basic setup.
  • Estimated setup time or resource footprint.
    • Not specified.
  • If they are present, include links to official quick-start, docs, demo, or other relevant pages.
    • Docs site entry: docs/index.md
    • Getting started: docs/getting-started/quickstart.md
    • Configuration reference: docs/getting-started/configuration.md
    • Examples: docs/examples.md

Highlighted Details

  • Provider Support: Integrates with Anthropic Claude (API/SDK), OpenAI Codex (ChatGPT backend), and GitHub Copilot (chat/completions).
  • Unified API Surface: Exposes OpenAI Chat Completions, OpenAI Responses, and Anthropic Messages consistently.
  • Model Abstraction: Features a shared model-mapping layer for cross-provider model identifier reuse.
  • Flexible Authentication: Supports existing provider credential files (CLI tokens, credential stores) and CLI-driven OAuth flows.
  • Extensible Plugin System: Includes bundled plugins for structured logging (access_log), analytics (analytics with DuckDB), request tracing (request_tracer), metrics (metrics with Prometheus compatibility), and more, allowing customization of instrumentation and storage.

Maintenance & Community

The provided README does not contain specific details regarding maintainers, community channels (e.g., Discord, Slack), sponsorships, or a public roadmap.

Licensing & Compatibility

The project's license is indicated as "See LICENSE" within the repository. Specific details regarding the license type, commercial use permissions, or compatibility with closed-source projects are not elaborated upon in the README.

Limitations & Caveats

The README does not explicitly list any limitations, alpha status, or known bugs. The mention of "Migration (0.2)" suggests that version updates may involve breaking changes, requiring attention during upgrades.

Health Check
Last Commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
2
Star History
19 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.