An open API service indexing awesome lists of open source software.

https://github.com/sydasif/litellm-proxy

Claude, Opencode and Zed Proxy to use Gemma 4 models via Gemini API
https://github.com/sydasif/litellm-proxy

claude claude-code gemini-api gemma4 litellm opencode opencode-ai zed zed-editor

Last synced: 12 days ago
JSON representation

Claude, Opencode and Zed Proxy to use Gemma 4 models via Gemini API

Awesome Lists containing this project

README

          

# AI Proxy Gateway

[![LiteLLM](https://img.shields.io/badge/Powered%20by-LiteLLM-blueviolet?style=for-the-badge)](https://github.com/BerriAI/litellm)
[![Claude Code](https://img.shields.io/badge/Claude%20Code-D97757?style=for-the-badge&logo=anthropic&logoColor=white)](https://claude.com/product/claude-code)
[![Google Gemini](https://img.shields.io/badge/Backend-Google%20Gemini-4285F4?style=for-the-badge&logo=google&logoColor=white)](https://deepmind.google/technologies/gemini/)
[![OpenCode Zen](https://img.shields.io/badge/Backend-OpenCode%20Zen-6C47FF?style=for-the-badge)](https://opencode.ai)
[![Zhipu AI](https://img.shields.io/badge/Backend-Zhipu%20AI-1E8FFF?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAxOGMtNC40MSAwLTgtMy41OS04LThzMy41OS04IDgtOCA4IDMuNTkgOCA4LTMuNTkgOC04IDh6IiBmaWxsPSJ3aGl0ZSIvPjwvc3ZnPg==)](https://open.bigmodel.dev/)
[![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white)](https://www.docker.com/)

A proxy gateway that routes Claude Code through LiteLLM to multiple backends — Gemini, OpenCode Zen, and Zhipu AI.

---

## Features

- **Docker Native**: Official images, no build step.
- **Secure**: Environment-based API key management.
- **Flexible**: Single-proxy deployment for Claude Code.

---

## Project Structure

```
litellm-proxy/
├── docker-compose.yml
├── .env # API keys
├── .gitignore
├── AGENTS.md
├── README.md
└── litellm/
└── config.yaml # Model mappings
```

---

## Prerequisites

- [Docker Desktop](https://docs.docker.com/get-docker/) or Docker Engine
- [Docker Compose](https://docs.docker.com/compose/install/)
- API keys for the backends you plan to use (see `.env.example` for required keys)

---

## Quick Start

### 1. Configure Environment

```bash
cp .env.example .env
# Edit .env and add your API keys (GEMINI_API_KEY, OPENAI_API_KEY, ZAI_API_KEY)
```

### 2. Fix Config File Permissions

The container runs as UID 1000, so the config file must be readable by that user:

```bash
sudo chown 1000:1000 litellm/config.yaml
```

### 3. Deploy Proxy

```bash
docker compose up -d
```

LiteLLM proxy is now running at `http://localhost:4000`.

---

---

## Model Mappings

All model-to-backend mappings live in `litellm/config.yaml`. That file is the source of truth — see it for the full list of exposed models and their backend routes.

---

## Using with Claude Code

To redirect `claude` to your local LiteLLM proxy, update your global `settings.json` file:

> Model names in `ANTHROPIC_DEFAULT_*` must match a `model_name` entry in `litellm/config.yaml`.

```json
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:4000/",
"ANTHROPIC_AUTH_TOKEN": "sk-xxx",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "gemma-4-31b-it",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "gemini-3.1-flash-lite-preview",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "gemma-4-26b-a4b-it"
}
}
```

---

## Docker Customization

If you need to change the default port, modify the `ports` section in `docker-compose.yml`:

```yaml
services:
litellm:
ports:
- "4001:4000"
```

After changing the port, restart:

```bash
docker compose down
docker compose up -d
```

---

## Reference

| Action | Command |
| :---------------------- | :-------------------------------------------- |
| **Start** | `docker compose up -d` |
| **Stop** | `docker compose down` |
| **View Logs** | `docker compose logs -f` |
| **View Logs (LiteLLM)** | `docker compose logs -f litellm` |
| **Restart** | `docker compose restart` |
| **Update** | `docker compose pull && docker compose up -d` |
| **Health Check** | `curl http://localhost:4000/health` |

---

## License

MIT