Portage — AI skill for Claude Code
Keep the harness, change the model.
How to install Portage
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open SimonGino/portage and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Portage does
Keep the harness, change the model. A self-hosted single-binary gateway that lets Claude Code and Codex CLI run any model — open-weight, self-hosted, or from whatever relay you pay for — by translating between Anthropic Messages, OpenAI Responses and Chat Completions.
Alternatives in AI
- CliRelay — Self-hosted AI gateway for coding CLIs — one OpenAI/Claude/Gemini/Codex-compatible endpoint, with a multi-tena 1k ★
- Agenvoy — Self-hosted AI agent harness in a single Go binary — writes, sandbox-tests and repairs its own tools, and lets 474 ★
- Konnect — AI-assisted PCB design for KiCAD 10. Native KiCAD plugin — a single Rust binary exposing 171 schematic, layout 341 ★
README
Portage
**Keep the harness. Change the model.**
[](https://github.com/SimonGino/portage/actions/workflows/ci.yml) [](https://go.dev) [](#quick-start)
[English](README.md) · [简体中文](README.zh-CN.md)
Portage is a self-hosted model gateway: put every model you can reach — official APIs, OpenAI-compatible relays, Ollama / vLLM on your own machine — behind one address, and run any of them inside agent harnesses like Claude Code and Codex CLI.
It works by translating protocols. Each harness speaks exactly one (Claude Code speaks Anthropic Messages, Codex CLI speaks OpenAI Responses, while most models only expose OpenAI Chat Completions). Portage translates between all three in the middle, and passes bytes through untouched when the protocols already match. Point the harness at Portage and switching models is one line of config — no patched clients, no forked harness, no wrapper scripts.
flowchart LR
subgraph clients["The harness you already use"]
CC["Claude Code
Anthropic Messages"]
CX["Codex CLI
OpenAI Responses"]
APP["Your scripts / SDK
Chat Completions"]
end
PG{{"Portage
one binary · SQLite · optional web admin"}}
subgraph up["Whatever model you can get"]
T["Open-weight models
via any OpenAI-compatible relay"]
L["Your own hardware
Ollama · vLLM · MLX"]
A["Anthropic · OpenAI
native"]
end
CC --> PG
CX --> PG
APP --> PG
PG -- "different protocol → translate" --> T
PG --> L
PG -- "same protocol → byte passthrough" --> A
What you can run
| The model you want | Reached over | In the harness |
|---|---|---|
| Open-weight models — whatever the good one is this month | any OpenAI-compatible end |
Related Skills
Nexscope Plugin
Lets multiple AI coding agents (Claude Code, Codex CLI) and humans share a single chat room over a WebSocket r
Fallback
Show or change hmd's OmniRoute fallback-routing gate — whether Heimdall may route work to a third-party model,
Tresor
⚡Switch LLM Providers for Any App with One Click: A Single-Binary LLM Gateway with Auto API Translation and Tr
Nano LLM Proxy
Tiny single-binary LLM gateway — pool multiple providers and API keys behind one OpenAI/Anthropic-compatible e
Gocode
Claude Code rewritten in Go.. High-performance AI agent harness runtime in Go. MCP server, CLI tool orchestrat
Longe
A self-improving harness for any LLM, in one Rust binary. Persistent Lua REPL as the single tool, three-level
Related Agents
Goal Relay Agent
Use this agent as the final stage of a completed goal (a pwn-box run, or any bounded security-research task) t
Sol Implementer
High-complexity implementation lane running GPT-5.6 Sol via the OpenAI Codex CLI (codex exec), at whatever rea
Distill Critic
Adversarial checker for the distill skill. Given a reply's substance, its distilled version, and the proposed