个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Run Claude Code on GPT from your ChatGPT plan, or on GLM, Kimi, DeepSeek, Gemini, OpenRouter and local Ollama models. Pick them in /model, next to Claude. One Rust binary.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Run Claude Code on GPT, GLM, Kimi or a local model. Pick any of them in Claude Code's /model picker, next to Claude, and it works with Claude Code's own tools, hooks, MCP servers and skills. GPT comes from your ChatGPT plan through OpenAI's official sign-in, with no API key. MiniMax, DeepSeek, Gemini, Groq, OpenRouter, and local models through Ollama or LM Studio work the same way. byom stands for bring your own model.查看完整 README ↗English | 简体中文
Run Claude Code on GPT, GLM, Kimi or a local model. Pick any of them in Claude Code's /model picker, next to Claude, and it works with Claude Code's own tools, hooks, MCP servers and skills. GPT comes from your ChatGPT plan through OpenAI's official sign-in, with no API key. MiniMax, DeepSeek, Gemini, Groq, OpenRouter, and local models through Ollama or LM Studio work the same way. byom stands for bring your own model.
Claude Code stays unmodified. Its tools, subagents, hooks, MCP servers, skills, plan mode and session resume work as usual. byom runs a small local router that sends each request to the right provider by model ID:
claude (official)
▼
byom router (127.0.0.1) ─┬─ openai/* → ChatGPT plan (Sign in with ChatGPT)
├─ zai/*, kimi/*, minimax/*, deepseek/*, openrouter/*, ollama/*, lmstudio/*
│ → Anthropic-compatible APIs, forwarded
├─ groq/*, gemini/*, mistral/*, cerebras/*, together/*, xai/*
│ → OpenAI-compatible APIs, translated
└─ claude-* → Anthropic: an API key, or Claude Code's own sign-in (opt-in)
Claude can use the other models too. Each session loads a byom skill and one subagent per model, so you can say "get a second opinion from GPT" or "have a fast model scan these files", and Claude picks the right one.
byom is an independent project, not affiliated with or endorsed by Anthropic, OpenAI or any other provider.
Requires macOS or Linux, Claude Code (tested with 2.1.295), and at least one model: a ChatGPT Plus or Pro plan, an API key for a supported provider, a local Ollama or LM Studio server, or Claude (see Claude models).
With Homebrew:
brew install baoengineer/tap/byom
With Cargo:
cargo install byom
Or download a binary from Releases, for example on an Apple silicon Mac:
curl -LO https://github.com/baoengineer/byom/releases/latest/download/byom-v0.4.2-aarch64-apple-darwin.tar.gz
tar xzf byom-v0.4.2-aarch64-apple-darwin.tar.gz
mv byom-v0.4.2-aarch64-apple-darwin/byom ~/.local/bin/ # any directory on your PATH
xattr -d com.apple.quarantine ~/.local/bin/byom # macOS: the binary is not notarized
Each archive has a .sha256 file to check it against. Or build the latest source with Rust 1.89 or newer:
cargo install --git https://github.com/baoengineer/byom
byom login # pick a provider: ChatGPT sign-in, or paste an API key
byom # start Claude Code with every signed-in model
Inside Claude Code, /model lists every model you can use. Claude Code's own flags work as usual: byom --resume <id>, byom -c, byom -p "...". Start on a specific model with byom run openai/gpt-5.6-sol, and add flags after it, as in byom run kimi/k3 --continue.
byom config opens a home screen with four tabs: Models (the roster; set the main, background and subagent models), Providers (sign-ins and keys), Roles (model slots, aliases, relay, context, transport) and Usage (requests, tokens, estimated cost).
| Provider | ID | Sign-in | Notes |
|---|---|---|---|
| OpenAI ChatGPT plan | openai | Sign in with ChatGPT | Plus or Pro; per-app usage cap |
| Z.ai GLM Coding Plan | zai | API key | For supported coding tools such as Claude Code |
| Kimi For Coding | kimi | API key | Kimi Code membership |
| Moonshot AI | moonshot | API key | |
| MiniMax | minimax | API key | Token Plan allows third-party tools |
| DeepSeek | deepseek | API key | |
| OpenRouter | openrouter | API key | Name the models you want in providers.openrouter.models |
| Groq, Mistral, Gemini, Cerebras, Together, xAI | groq … xai | API key | Gemini uses an AI Studio key |
| Ollama, LM Studio | ollama, lmstudio | none | Ollama 0.14+, LM Studio 0.4.1+ |
| Anthropic (Claude) | anthropic | API key, or Claude Code's sign-in | See Claude models |
Any other Anthropic- or OpenAI-compatible endpoint works as a custom provider; see docs/CONFIGURATION.md.
Claude models are off in byom until you choose how to reach them:
byom login anthropic. Requests go to Anthropic with that key.byom config set relay true. byom then forwards Claude requests to Anthropic exactly as Claude Code sent them, with Claude Code's own sign-in, and stores nothing from it. If you also saved an API key, Claude Code's sign-in wins.Read this before turning the relay on. Anthropic documents local gateways between Claude Code and its API, but its terms for Claude Code also say third-party developers may not route requests through Free, Pro or Max plan credentials on their users' behalf. Whether a tool you run yourself falls under that is Anthropic's call, so the relay is your choice and off by default. Without it, Claude Code's Claude sign-in is not used at all, and claude.ai connectors are off in byom sessions.
Each byom session loads a small plugin, and nothing is written to ~/.claude:
byom --skill.byom:openai-gpt-5-6-sol. Claude's Agent tool can only name Claude models directly, so these agents are how subagents and workflows run on other models.byom models --json gives Claude the live roster: each model's agent, context window, effort levels, price and status (ready, capped, no-key, signed-out, offline). Local servers that aren't running are left out of the session.Claude Code's agent teams let a lead session spawn teammates that share a task list and message each other. With byom, each teammate can run on a different provider:
byom config set teams true
Then ask for a team, for example: "spawn a reviewer on GPT-5.6-Sol, an implementer on GLM-5.3 and a test writer on Kimi K3". Claude picks each teammate's model from its byom agent (byom:openai-gpt-5-6-sol, …) and coordinates the work. Teammates run inside the lead's terminal, so they share its connection to byom. Agent teams are experimental in Claude Code and every teammate uses its own tokens.
byom [claude flags] start Claude Code, as in byom --resume <id>
byom run <model> [claude flags] start on a specific model
byom login [provider] sign in, or save an API key
byom models [--json] [--refresh] the model roster
byom config [get|set|unset|path] settings (no argument: the config screen)
byom doctor check Claude Code, sign-ins, the bridge and each provider
byom logs [-n N] recent requests: model, route, latency, tokens
byom --help lists the rest (logout, auth, status, restart, stop, --skill). Settings and credentials are described in docs/CONFIGURATION.md.
Is this allowed? byom never imitates another client, reads another tool's credentials, pools accounts, or offers sign-ins that providers forbid for third-party tools (Claude, Copilot, Gemini CLI and Antigravity subscriptions). ChatGPT uses OpenAI's plan usage in open-source apps flow under byom's own app name. Z.ai, Kimi and MiniMax plans name Claude Code as a supported client, and requests keep Claude Code's own client identity. For Claude, see Claude models. Each provider's own plan limits apply.
Does it change Claude Code? No. byom starts the official claude with a base URL, a settings file and a session plugin. Run claude directly and nothing from byom is there.
What does it store? Settings, credentials you add, a local bridge key and request metadata, all in ~/.byom. See SECURITY.md.
How is it different from OpenAI's Codex plugin? The Codex plugin lets Claude hand reviews and tasks to the Codex agent, while Claude stays the main model. With byom, GPT is a model Claude Code itself runs on: pick it in /model and it uses Claude Code's own tools, hooks and skills, and Claude can also hand it work through its byom subagent. byom also covers GLM, Kimi, DeepSeek, Gemini, OpenRouter and local models, and needs no Node.js or Codex install. The two work side by side.
How is it different from claude-code-router? Both route Claude Code's requests to other models. byom's focus is different in four ways: it signs in to your ChatGPT plan through OpenAI's official open-source app flow, so no API key; Claude stays in the same /model list as the other models; Claude gets one subagent per model and can run model teams, so it can hand work to other models itself; and it ships as one Rust binary that finds your models without a config file.
Coming from byoclaude? byom was called byoclaude until 0.4.0. The first run copies ~/.byoclaude to ~/.byom; agent names change from byoclaude: to byom:.
Each provider's plan limits apply. ChatGPT also caps each connected app: if requests fail with "ChatGPT plan limit reached", raise byom's limit in ChatGPT Settings → Usage or wait for the reset. Plan limits are not retried; a configured fallback takes over instead. byom models marks recently limited models as capped.
byom doctor, then byom logs.byom login, then byom models --refresh./model. Claude models are opt-in; see Claude models.OLLAMA_CONTEXT_LENGTH=32768 ollama serve, and use a model that supports tools.byom restart swaps in the new bridge; open sessions reconnect on their next request.byom restart starts it, and the session continues.byom stop --force
rm "$(command -v byom)" # or: cargo uninstall byom
rm -rf ~/.byom
Also disconnect byom in ChatGPT settings if you signed in, and revoke API keys you pasted at each provider.
See CONTRIBUTING.md, docs/ARCHITECTURE.md and docs/ROADMAP.md.