code-switch  by daodao97

Proxy and management tool for multiple AI model vendors

Created 2 months ago
764 stars

Top 45.7% on SourcePulse

GitHubView on GitHub
Project Summary

Code Switch is a multi-vendor proxy and management tool designed for Claude Code and Codex, enabling centralized control and seamless switching between different AI model providers. It targets developers and power users who need robust, flexible access to AI models, offering improved reliability through automatic fallback mechanisms and clear usage cost tracking.

How It Works

The project utilizes Wails 3 to create a local HTTP proxy server (defaulting to 127.0.0.1:18100). This proxy intercepts requests intended for Claude Code (/v1/messages) and Codex (/responses), dynamically routing them to configured backend providers based on priority and availability. A key advantage is its automatic fallback capability, ensuring service continuity even if a primary provider fails, while presenting a single, stable endpoint to client applications.

Quick Start & Requirements

  • Primary Install/Run: Development requires go install github.com/wailsapp/wails/v3/cmd/wails3@latest for the Wails CLI. Run development builds with wails3 task dev.
  • Prerequisites: Go 1.24+, Node.js 18+, npm/pnpm/yarn.
  • Build: macOS builds use wails3 task package. Windows cross-compilation requires brew install mingw-w64 and running env ARCH=amd64 wails3 task windows:build.
  • Docs/Demo: No direct links provided in the README.

Highlighted Details

  • Manages multiple Claude Code and Codex vendors without requiring service restarts.
  • Features automatic multi-vendor fallback for enhanced user experience and uptime.
  • Provides request-level usage statistics for clear cost visibility.
  • Supports automatic download and installation of Claude Skills from included or custom repositories.

Maintenance & Community

No specific details on contributors, sponsorships, or community channels (e.g., Discord/Slack) were found in the provided text. The release script scripts/publish_release.sh suggests a structured release process.

Licensing & Compatibility

The license type is not specified in the provided README content.

Limitations & Caveats

macOS application builds may fail if the terminal lacks full disk access, leading to permission errors during the build process. A workaround involves running wails3 task common:update:build-assets before rebuilding if .app files fail to open.

Health Check
Last Commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
5
Star History
97 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.