Skip to content

One center for every model ​

Hara runs CLIProxyAPI on your own computer. Connect your provider accounts, point your tools at one endpoint, and keep each conversation on the account that started it. When that account reaches its limit, the proxy can use another connected account.

This repository supplies the Docker stack, local networking, client profiles, quota tooling, a management panel, and the Hara website. The proxy engine comes from the pinned upstream Docker image.

Start here ​

Set up the project Install the prerequisites, create your keys, and start the three containers.

Connect providers Add your own accounts or API keys through the management panel.

Configure clients Connect Claude Code, Codex, or an OpenAI-compatible client.

Troubleshoot a connection Work through container health, certificates, account limits, and WebSockets.

What runs where ​

ComponentResponsibility
Proxy containerOpenAI- and Anthropic-compatible APIs; credentials and routing
Tailscale containerPrivate HTTPS access from your tailnet
Quota containerPrefer unused weekly capacity for new sessions and failovers
portless on the hostOptional https://hara.local on your local network
Website WorkerPublic landing page and this documentation; contains no proxy credentials

The local endpoint is http://localhost:8317. The Docker port is bound to loopback. If you enable portless LAN mode, your local network can reach https://hara.local. Your tailnet gets its own https://cliproxy.<your-tailnet>.ts.net address.

Before you begin ​

The supported helper workflow uses macOS, Docker Compose, 1Password, and Go. The macOS Keychain and BSD sed are part of the scripts; Linux and Windows need adaptations. Building the website is independent of the proxy and works with Node.js and npm.

Use accounts you own or are authorized to use. Client keys authenticate callers to your proxy; provider credentials authenticate the proxy upstream. They serve different purposes and must stay private.

Continue with the complete setup guide.

hara · built on CLIProxyAPI