Skip to content

StressarN/VibeProxy-Linux

Repository files navigation

VibeProxy for Linux

StressarN MIT License Follow on 𝕏 Star this repo

Warning

HIGHLY EXPERIMENTAL BUT FUNCTIONAL - This project is in active development. While core features work, expect rough edges and breaking changes.

Stop paying twice for AI. VibeProxy is a native Linux desktop application that lets you use your existing Claude Code, ChatGPT, Gemini, and Qwen subscriptions with powerful AI coding tools like Factory Droids – no separate API keys required.

Built on CLIProxyAPIPlus, it handles OAuth authentication, token management, and API routing automatically. One click to authenticate, zero friction to code.

Important

Gemini and Qwen Support! πŸŽ‰ VibeProxy supports Google's Gemini AI and Qwen AI with full OAuth authentication. Connect your accounts and use Gemini and Qwen with your favorite AI coding tools!

Important

Extended Thinking Support! 🧠 VibeProxy supports Claude's extended thinking feature with dynamic budgets (4K, 10K, 32K tokens). Use model names like claude-sonnet-4-5-20250929-thinking-10000 to enable extended thinking. See the Factory Setup Guide for details.


VibeProxy Screenshot

Tip

Check out our Factory Setup Guide for step-by-step instructions on how to use VibeProxy with Factory Droids.

Features

  • 🐧 Native Linux Experience - Clean Avalonia UI that integrates with your Linux desktop
  • πŸš€ One-Click Server Management - Start/stop the proxy server from the system tray
  • πŸ” OAuth Integration - Authenticate with Codex, Claude Code, Gemini, and Qwen directly from the app
  • πŸ“Š Real-Time Status - Live connection status and automatic credential detection
  • πŸ”„ Auto-Updates - Monitors auth files and updates UI in real-time
  • 🎨 System Tray Integration - Convenient access from your system tray
  • πŸ’Ύ Self-Contained - Everything bundled in the application (server binary, config, static files)

Installation

⚠️ Requirements: Linux with .NET 8.0 or later

Download Pre-built Release (Recommended)

  1. Go to the Releases page
  2. Download the latest Linux release package
  3. Extract and run the application
  4. Launch VibeProxy

Build from Source

Want to build it yourself? See INSTALLATION.md for detailed build instructions.

Release Automation

  • Every pushed commit triggers the GitHub Actions Linux build workflow.
  • Branch pushes upload snapshot artifacts named with the version, branch, and commit SHA.
  • Pushing a tag like v0.5.0 publishes a GitHub Release with the packaged ZIP and checksum file.

Usage

First Launch

  1. Launch VibeProxy - you'll see a system tray icon
  2. Click the icon and select "Open Settings"
  3. The server will start automatically
  4. Click "Connect" for Claude Code, Codex, Gemini, or Qwen to authenticate

Authentication

When you click "Connect":

  1. Your browser opens with the OAuth page
  2. Complete the authentication in the browser
  3. VibeProxy automatically detects your credentials
  4. Status updates to show you're connected

Server Management

  • Toggle Server: Click the status (Running/Stopped) to start/stop
  • System Tray Icon: Shows active/inactive state
  • Launch at Login: Toggle to start VibeProxy automatically

Requirements

  • Linux (x64 or ARM64)
  • .NET 8.0 Runtime or later

Development

Project Structure

VibeProxy/
β”œβ”€β”€ src/
β”‚   └── VibeProxy.Linux/
β”‚       β”œβ”€β”€ Program.cs                    # App entry point
β”‚       β”œβ”€β”€ App.axaml.cs                  # Application lifecycle
β”‚       β”œβ”€β”€ MainWindow.axaml              # Main UI window
β”‚       β”œβ”€β”€ MainWindow.axaml.cs           # Main window logic
β”‚       β”œβ”€β”€ Services/
β”‚       β”‚   β”œβ”€β”€ CliProxyService.cs        # CLIProxyAPIPlus process control
β”‚       β”‚   β”œβ”€β”€ AuthStatusService.cs      # Auth file monitoring
β”‚       β”‚   β”œβ”€β”€ TrayService.cs            # System tray integration
β”‚       β”‚   β”œβ”€β”€ NotificationService.cs    # Desktop notifications
β”‚       β”‚   β”œβ”€β”€ AuthCommand.cs            # OAuth authentication
β”‚       β”‚   β”œβ”€β”€ ThinkingProxyServer.cs    # Extended thinking proxy
β”‚       β”‚   β”œβ”€β”€ ThinkingModelTransformer.cs # Model name transformer
β”‚       β”‚   └── LaunchAtLoginService.cs   # Auto-start service
β”‚       β”œβ”€β”€ ViewModels/
β”‚       β”‚   └── SettingsViewModel.cs      # Settings UI logic
β”‚       β”œβ”€β”€ Models/
β”‚       β”‚   └── AuthStatus.cs             # Auth status model
β”‚       β”œβ”€β”€ Utilities/
β”‚       β”‚   β”œβ”€β”€ ObservableObject.cs       # MVVM base class
β”‚       β”‚   β”œβ”€β”€ RelayCommand.cs           # Command implementation
β”‚       β”‚   β”œβ”€β”€ AsyncCommand.cs           # Async command implementation
β”‚       β”‚   β”œβ”€β”€ RingBuffer.cs             # Circular buffer for logs
β”‚       β”‚   └── BooleanNegationConverter.cs # UI converter
β”‚       └── Resources/
β”‚           β”œβ”€β”€ cli-proxy-api             # CLIProxyAPIPlus binary
β”‚           β”œβ”€β”€ config.yaml               # CLIProxyAPIPlus config
β”‚           β”œβ”€β”€ icon-active.png           # Tray icon (active)
β”‚           β”œβ”€β”€ icon-inactive.png         # Tray icon (inactive)
β”‚           β”œβ”€β”€ icon-claude.png           # Claude Code service icon
β”‚           β”œβ”€β”€ icon-codex.png            # Codex service icon
β”‚           β”œβ”€β”€ icon-gemini.png           # Gemini service icon
β”‚           └── icon-qwen.png             # Qwen service icon
β”œβ”€β”€ tests/
β”‚   └── VibeProxy.Linux.Tests/            # Unit tests
β”œβ”€β”€ VibeProxy.Linux.sln                   # Solution file
β”œβ”€β”€ scripts/
β”‚   └── build-linux.sh                    # Build script
└── Makefile                              # Build automation

Key Components

  • CliProxyService: Controls the cli-proxy-api server process and OAuth authentication
  • TrayService: Manages the system tray icon and menu
  • SettingsViewModel: Avalonia MVVM viewmodel for the main settings UI
  • AuthStatusService: Monitors ~/.cli-proxy-api/ for authentication files
  • ThinkingProxyServer: Intercepts requests and adds extended thinking support
  • File Monitoring: Real-time updates when auth files are added/removed

Building

# Build in Debug mode
make build

# Build in Release mode
make release

# Run tests
make test

Credits

VibeProxy is built on top of CLIProxyAPIPlus, an excellent unified proxy server for AI services.

Special thanks to:

  • The CLIProxyAPIPlus project for providing the core functionality that makes VibeProxy possible
  • Automaze, Ltd. for the original VibeProxy concept and implementation - this Linux version builds upon their excellent foundation

License

MIT License - see LICENSE file for details

Support


Β© 2025 StressarN. All rights reserved.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages