Skip to content

Repository files navigation

VibeConduit

VibeProxy for Linux — Use your Claude Code, ChatGPT, Gemini, and other AI subscriptions with any coding tool.

Looking for VibeProxy on Linux? This is it. VibeConduit is a native Linux implementation of VibeProxy (macOS), providing the same functionality for Linux users.

⚠️ Beta Software: VibeConduit is currently in beta. Some issues are expected. If you encounter problems, please open an issue — your feedback helps improve the project!

What is this?

If you use VibeProxy on macOS to route AI requests through your existing subscriptions, VibeConduit is the equivalent for Linux. It lets you use tools like Factory CLI (Droid), Cursor, Continue, and other AI coding assistants with your personal Claude Code Pro/Max, ChatGPT Plus/Pro, Gemini, Qwen, and Antigravity accounts — no separate API keys required.

Your AI Tool  →  VibeConduit (localhost:8317)  →  Your Subscriptions

Features

  • Proxy server for multiple AI services (Claude, ChatGPT/Codex, Gemini, Qwen, Antigravity)
  • Extended thinking support for Claude models via model name suffixes
  • Multi-account support with round-robin distribution
  • Background daemon with systemd integration
  • Command-line interface for management
  • System tray GUI (optional)

Requirements

  • Linux (amd64 or arm64)
  • Go 1.22+ (for building from source)
  • systemd (optional, for service management)

Installation

Quick Install (Recommended)

curl -fsSL https://raw.githubusercontent.com/rvbiljouw/vibeconduit/master/install.sh | bash

This will:

  • Download the latest release for your architecture
  • Install binaries to ~/.local/bin
  • Set up a systemd user service

Options:

# Custom install location
INSTALL_DIR=/usr/local/bin curl -fsSL https://raw.githubusercontent.com/rvbiljouw/vibeconduit/master/install.sh | bash

# Skip systemd service setup
INSTALL_SYSTEMD=false curl -fsSL https://raw.githubusercontent.com/rvbiljouw/vibeconduit/master/install.sh | bash

# Install specific version
VERSION=v0.1.0 curl -fsSL https://raw.githubusercontent.com/rvbiljouw/vibeconduit/master/install.sh | bash

Uninstall:

curl -fsSL https://raw.githubusercontent.com/rvbiljouw/vibeconduit/master/uninstall.sh | bash

From Source

# Clone the repository
git clone https://github.com/rvbiljouw/vibeconduit.git
cd vibeconduit

# Download the CLIProxyAPIPlus binary (required)
make download-binary

# Build
make build

# Install to /usr/local (includes binary)
sudo make install

# Or install to a custom location
make install PREFIX=$HOME/.local

What Gets Installed

  • vibeconduitd - Background daemon
  • vibeconduit - CLI tool
  • cli-proxy-api-plus - Proxy backend binary (in $PREFIX/share/vibeconduit/bin/)

Systemd Service (Optional)

# Install the systemd user service
make install-systemd

# Enable and start the service
systemctl --user daemon-reload
systemctl --user enable vibeconduit
systemctl --user start vibeconduit

Usage

CLI Commands

# Start the daemon
vibeconduit start

# Check status
vibeconduit status

# View logs
vibeconduit logs
vibeconduit logs -f  # Follow mode

# Stop the daemon
vibeconduit stop

# Login to services
vibeconduit login claude
vibeconduit login codex
vibeconduit login gemini

# List accounts
vibeconduit accounts

# Show version
vibeconduit version

Running in Foreground

# For debugging
vibeconduit start -f

Configuration

Configuration is stored in ~/.config/vibeconduit/config.yaml:

server:
  proxy_port: 8317      # ThinkingProxy listens here
  backend_port: 8318    # CLIProxyAPIPlus listens here
  bind_address: "127.0.0.1"

thinking:
  hard_token_cap: 32000
  minimum_headroom: 1024
  headroom_ratio: 0.1

process:
  graceful_timeout: 2s
  kill_orphans_on_start: true

# Security limits for the proxy
limits:
  max_body_size: 104857600    # 100MB max request body
  read_timeout: 30s           # Initial request read timeout
  write_timeout: 5m           # Response streaming timeout
  backend_timeout: 10s        # Backend connection timeout

# Amp CLI integration (disabled by default for security)
amp:
  enabled: false                          # Must be explicitly enabled
  upstream_url: "https://ampcode.com"     # Amp API endpoint
  restrict_management_to_localhost: true  # Only allow Amp API from localhost

logging:
  max_lines: 1000     # In-memory log buffer size

Security Notes

  • bind_address: Default 127.0.0.1 only accepts local connections. Setting to 0.0.0.0 exposes the proxy to the network.
  • amp.enabled: Disabled by default. Enabling allows forwarding requests to ampcode.com.
  • amp.restrict_management_to_localhost: When enabled, Amp management API requests are only accepted from localhost even if bound to 0.0.0.0.

Extended Thinking

Use model name suffixes to enable extended thinking for Claude models:

claude-sonnet-4-5-20250929-thinking-5000

This will:

  1. Strip the -thinking-5000 suffix
  2. Add {"thinking": {"type": "enabled", "budget_tokens": 5000}} to the request
  3. Add the anthropic-beta: interleaved-thinking-2025-05-14 header

Architecture

┌─────────────────────────────────────────────────────────┐
│                     vibeconduitd                         │
│  ┌─────────────┐  ┌──────────────┐  ┌───────────────┐  │
│  │ IPC Server  │  │ThinkingProxy │  │ ProcessManager│  │
│  │ (socket)    │  │ (port 8317)  │  │               │  │
│  └──────┬──────┘  └───────┬──────┘  └───────┬───────┘  │
└─────────┼─────────────────┼─────────────────┼──────────┘
          │                 │                 │
          │                 ▼                 ▼
┌─────────┴────┐    ┌──────────────┐  ┌──────────────────┐
│ vibeconduit  │    │CLIProxyAPI   │  │ ~/.cli-proxy-api │
│ (CLI)        │    │(port 8318)   │  │ (auth files)     │
└──────────────┘    └──────────────┘  └──────────────────┘

File Locations

Purpose Path
Configuration ~/.config/vibeconduit/config.yaml
Auth credentials ~/.cli-proxy-api/
Logs ~/.local/state/vibeconduit/
Runtime (socket, PID) $XDG_RUNTIME_DIR/vibeconduit/
Binary data ~/.local/share/vibeconduit/

Development

# Build
make build

# Run tests
make test

# Format code
make fmt

# Run daemon in foreground for debugging
make run-daemon

License

MIT License - see LICENSE.

Acknowledgments

VibeConduit is the Linux port/equivalent of VibeProxy for macOS by Automaze, Ltd. Built on top of CLIProxyAPI.

See Also

  • VibeProxy - The original macOS app (if you're on Mac, use this instead)
  • CLIProxyAPI - The underlying proxy engine
  • Factory CLI - AI coding assistant that works great with VibeConduit

About

Cloud LLM proxying service for Linux inspired by VibeProxy, allowing you to use your existing Claude Code and Codex subscriptions with tools like Droid

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages