{"id":34547375,"url":"https://github.com/lansespirit/clipal","last_synced_at":"2026-04-06T12:01:12.573Z","repository":{"id":330118506,"uuid":"1120884466","full_name":"lansespirit/Clipal","owner":"lansespirit","description":"Minimal LLM API reverse proxy for Claude Code, Codex CLI \u0026 Gemini CLI — YAML routing, hot reload, and automatic provider failover.  极简 LLM API 反向代理：面向 Claude Code / Codex CLI / Gemini CLI，支持 YAML 配置、多上游优先级与自动故障转移。","archived":false,"fork":false,"pushed_at":"2026-04-02T14:51:59.000Z","size":12943,"stargazers_count":70,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-03T01:42:44.657Z","etag":null,"topics":["api-gateway","api-proxy","claude-code","codex","gemini","gemini-cli","llm","proxy-server","reverse-proxy"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lansespirit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-22T05:17:05.000Z","updated_at":"2026-04-02T18:38:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/lansespirit/Clipal","commit_stats":null,"previous_names":["lansespirit/clipal"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/lansespirit/Clipal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lansespirit%2FClipal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lansespirit%2FClipal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lansespirit%2FClipal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lansespirit%2FClipal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lansespirit","download_url":"https://codeload.github.com/lansespirit/Clipal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lansespirit%2FClipal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31471466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T08:36:52.050Z","status":"ssl_error","status_checked_at":"2026-04-06T08:36:51.267Z","response_time":112,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-gateway","api-proxy","claude-code","codex","gemini","gemini-cli","llm","proxy-server","reverse-proxy"],"created_at":"2025-12-24T07:28:37.243Z","updated_at":"2026-04-06T12:01:12.567Z","avatar_url":"https://github.com/lansespirit.png","language":"Go","readme":"# Clipal\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/Clipal-Hancock.jpeg\" alt=\"Clipal\" width=\"100%\"\u003e\n  \u003cp\u003e\u003cb\u003eYour Ultimate Local LLM API Gateway \u0026 Manager\u003c/b\u003e\u003c/p\u003e\n  \u003cp\u003e\n    \u003ca href=\"README.md\"\u003eEnglish\u003c/a\u003e | \u003ca href=\"README.zh-CN.md\"\u003e中文\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n---\n\n**Clipal** is the local LLM API proxy built for developer productivity. If you use AI coding tools like Claude Code, Continue, Aider, or Cherry Studio, Clipal acts as your intelligent traffic controller. It consolidates multiple model providers, handles automatic failover, manages API keys, and offers a beautiful Web UI—so you can focus on coding, not configuring.\n\n## Join the WeChat Group\n\nScan the QR code below to join the Clipal WeChat group and discuss usage, setup, and feedback with other users.\n\n\u003cimg src=\"assets/wechat-group.png\" alt=\"Clipal WeChat Group QR Code\" width=\"320\"\u003e\n\n## ✨ Why Clipal?\n\n### 🚀 **One-Click CLI Takeover**\nNo more hunting for hidden config files. With a single click in the Web UI, Clipal can automatically take over the configurations for **Claude Code, Codex CLI, OpenCode, Gemini CLI, Continue, Aider**, and **Goose**. \n- It configures the local base URL for you.\n- It backs up your original settings.\n- It provides a safe rollback whenever you want.\n\n### 🛡️ **Bulletproof Failover \u0026 Multi-Key Rotation**\nTired of hitting rate limits or empty balances mid-generation?\n- **Multi-Key Pool**: Configure multiple `.api_keys` for a single provider. Clipal rotates them automatically and retries locally before giving up.\n- **Priority Failover**: Fall back to secondary models or providers instantly with out-of-the-box circuit breaking and quota management.\n\n### 🎛️ **Beautiful Local Web UI**\nManage your AI workflows visually. Add, edit, enable, or disable providers, pin a specific model, and manage global settings with a modern dashboard. All changes are hot-reloaded—no restarts required.\n\n![Clipal Web UI](assets/webUI.png)\n\n### ⚡ **Frictionless Background Service**\nClipal runs as a single, cross-platform binary on macOS, Linux, and Windows. \nType `clipal service install` and `clipal service start` to keep it running silently in the background forever. Use `clipal status` or `clipal restart` for quick management.\n\n---\n\n## 🔌 Supported Clients\n\nClipal standardizes client ingress entirely on a single local route: `http://127.0.0.1:3333/clipal`.\nIt natively supports the request flavors of:\n- **Anthropic / Claude**\n- **OpenAI / Codex**\n- **Google Gemini**\n\n**Popular Supported Tools:**\n- **AI Coding Assistants:** Claude Code, Codex CLI, OpenCode, Gemini CLI, Continue, Aider, Goose\n- **Desktop Chat Clients:** Cherry Studio, Kelivo, Chatbox, ChatWise (via OpenAI compatibility)\n\n---\n\n## ⚡ Quick Start\n\n### Let Your AI Install It\n\nIf you use a terminal-capable AI such as Claude Code or Codex CLI, you can send it the prompt below:\n\n```text\nPlease help me install and start Clipal. Project: https://github.com/lansespirit/Clipal\n\nPlease detect my current OS and architecture, check the project's Releases and docs, and complete the download, installation, and startup for me. Then confirm that I can open the Web UI successfully. Use these official links when needed:\n- Releases: https://github.com/lansespirit/Clipal/releases\n- Getting Started: https://github.com/lansespirit/Clipal/blob/main/docs/en/getting-started.md\n- Web UI: https://github.com/lansespirit/Clipal/blob/main/docs/en/web-ui.md\n\nAfter that, guide me through using the Web UI to enable CLI takeover and add my first provider.\n```\n\n### 1. Install Clipal\nDownload the standalone binary for your OS from [Releases](https://github.com/lansespirit/Clipal/releases) and put it on your `PATH`.\nLatest stable release: [GitHub Releases latest](https://github.com/lansespirit/Clipal/releases/latest)\n```bash\nchmod +x clipal*\n./clipal* --version\n```\n\n### 2. Initialize Configurations\n```bash\nmkdir -p ~/.clipal\ncp examples/config.yaml ~/.clipal/config.yaml\ncp examples/claude.yaml ~/.clipal/claude.yaml\ncp examples/openai.yaml ~/.clipal/openai.yaml\ncp examples/gemini.yaml ~/.clipal/gemini.yaml\n```\n*Edit the generated `~/.clipal/*.yaml` files to add your API keys.*\n\n### 3. Run \u0026 Manage\nStart Clipal in the foreground:\n```bash\nclipal\n```\nOr install it as a background service:\n```bash\nclipal service install\nclipal service start\n```\n\n### 4. Open the Web UI\nVisit `http://127.0.0.1:3333/` in your browser to manage providers and apply **CLI Takeover** for your favorite tools.\n\n---\n\n## 📖 Complete Documentation\n\nDive deeper into what Clipal can do:\n- 🚀 [Getting Started](docs/en/getting-started.md)\n- 🔌 [Client Setup Guide](docs/en/client-setup.md)\n- ⚙️ [Config Reference](docs/en/config-reference.md)\n- 🖥️ [Web UI Guide](docs/en/web-ui.md)\n- 🔀 [Routing \u0026 Failover Magic](docs/en/routing-and-failover.md)\n- 🛠️ [Services, Status, and Updates](docs/en/services.md)\n- 📚 [Docs Home](docs/en/README.md) \u0026 [Release Notes](release-notes/)\n\n## 🔒 Security \u0026 Privacy\n\n- Clipal is fully local. The proxy listens on `127.0.0.1:3333` by default.\n- The Web UI is strictly locked to localhost—even if the proxy listens externally, the management UI rejects non-loopback requests.\n- Your upstream API keys are stored only on your machine and transparently injected into requests.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/Clipal-luffy3.jpeg\" alt=\"Clipal\" width=\"100%\"\u003e\n\u003c/div\u003e\n\n## 📄 License\nMIT\n\n## 🙏 Thanks\nThanks to the [linux.do](https://linux.do/) community for its support.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flansespirit%2Fclipal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flansespirit%2Fclipal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flansespirit%2Fclipal/lists"}