AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Claude Code를 GPT, GLM, Kimi, DeepSeek, Gemini, 로컬 모델 등에서 실행, /model에서 선택
Run Claude Code on GPT from your ChatGPT plan, or on GLM, Kimi, DeepSeek, Gemini and local models. Pick them in /model, next to Claude.
개발 도구Rust · HTMLGitHub @baoengineer온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.