neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
本地运行的大模型聚合网关,GUI桌面端app,零代码部署,把Coding Plan、大模型 API 额度聚合成一个虚拟 Plan,一键接入 Claude Code、Claude Desktop App、OpenClaw、OpenCode 等工具。Bundle your scattered Token Plan, Coding Plan, and LLM API quotas into a single virtual Plan, and plug it into Claude Code, Claude Desktop App, OpenClaw, OpenCode, and more.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
本地运行的大模型聚合网关,GUI桌面端app,零代码部署,把零散的 Token Plan、Coding Plan、大模型 API 额度聚合成一个虚拟 Plan,一键接入 Claude Code、Claude Desktop App、OpenClaw、OpenCode、Codex 等工具 —— 省钱!省 Token!完全本地运行! 注意⚠️ 本工具仅限于自动切换订阅套餐,请求体几乎完全透传,不涉及逆向、不涉及破解等操作。用户需自行遵守每个编程套餐的使用规则。此工具只能用于 Claude Code 等编程工具,切勿用于其他用途。 各家 provider 的 ToS 不一定明确允许"订阅 Key 接第三方代理 + 多虚拟模型混调度"的用法,尤其是 Coding Plan / Token Plan 这类 per-seat 订阅,可能触发风控。因使用本工具导致账号被限速、被封禁、订阅被取消的,作者不承担任何责任。 本软件按 As-Is 提供,不对任何因使用造成的直接或间接损失负责,包括但不限于额度异常消耗、数据丢失、业务中断。README 전문 보기 ↗
本地运行的大模型聚合网关,GUI桌面端app,零代码部署,把零散的 Token Plan、Coding Plan、大模型 API 额度聚合成一个虚拟 Plan,一键接入 Claude Code、Claude Desktop App、OpenClaw、OpenCode、Codex 等工具 —— 省钱!省 Token!完全本地运行!
注意⚠️ 本工具仅限于自动切换订阅套餐,请求体几乎完全透传,不涉及逆向、不涉及破解等操作。用户需自行遵守每个编程套餐的使用规则。此工具只能用于 Claude Code 等编程工具,切勿用于其他用途。
各家 provider 的 ToS 不一定明确允许"订阅 Key 接第三方代理 + 多虚拟模型混调度"的用法,尤其是 Coding Plan / Token Plan 这类 per-seat 订阅,可能触发风控。因使用本工具导致账号被限速、被封禁、订阅被取消的,作者不承担任何责任。
本软件按 As-Is 提供,不对任何因使用造成的直接或间接损失负责,包括但不限于额度异常消耗、数据丢失、业务中断。
cc-router 是独立的第三方开源项目,与 Anthropic 无任何关联,未获其授权或背书,也不是 Claude / Claude Code 的官方应用。文中提及的 Anthropic、Claude、Claude Code 均为 Anthropic 的商标,仅用于说明兼容对象。
架构与请求走向一览:
Claude Code OpenCode pi ... Codex ... Open WebUI ... 你的代码 / Agent 框架
| | | | | |
----------------------- | | |
| | | |
Anthropic OpenAI OpenAI Jev
Messages API Responses API Chat Completions API System One
(/v1/messages) (/v1/responses) (/v1/chat/completions) (/v1/systemone)
| | | |
-----------------------------------------------------------------------
| 入口 · 虚拟模型
|
cc-router
(本地 127.0.0.1:23456)
|
| 出口 · 真实模型
------------------------------------------------------------------------------
| | | | | | | |
DeepSeek GLM Kimi Anthropic OpenAI Gemini Jev ......
API Coding Coding Messages Responses & API System One
Plan Plan API Completions
功能亮点:
/v1/systemone 入口专供 Jev(System One)决策模型,走独立的虚拟模型 model-jevmodel-opus / claude-opus-4-7 / anthropic/model-opus / anthropic/claude-opus-4-7 都路由到同一虚拟模型,工具用什么命名都不挑下方这些 AI Agent / Coding Agent 工具都能接入 cc-router,用上你手里的全部大模型 Plan:
| 系统 | 架构 | 安装包 | 下载 |
|---|---|---|---|
| macOS | Apple Silicon | cc-router_macOS-arm64.dmg | 全球下载 · 中国下载 |
| macOS | Intel | cc-router_macOS-x64.dmg | 全球下载 · 中国下载 |
| Windows | x64 | cc-router_windows-x64-setup.exe | 全球下载 · 中国下载 |
| Windows | x64 (MSI) | cc-router_windows-x64.msi | 全球下载 · 中国下载 |
| Windows | arm64 | cc-router_windows-arm64-setup.exe | 全球下载 · 中国下载 |
| Linux | x64 | cc-router_linux-x64.AppImage | 全球下载 · |
两个地址内容完全相同,中国大陆用户选「中国下载」更快。链接始终指向最新版本,历史版本见 Releases。Linux 推荐 AppImage,支持应用内自动更新;deb 需手动重新下载升级。
{
"env": {
"ANTHROPIC_BASE_URL": "http://127.0.0.1:23456",
"ANTHROPIC_AUTH_TOKEN": "your token, show in this app settings",
"API_TIMEOUT_MS": "3000000",
"ANTHROPIC_MODEL": "model-fable",
"ANTHROPIC_DEFAULT_FABLE_MODEL": "model-fable",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "model-opus",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "model-sonnet",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "model-haiku",
"CLAUDE_CODE_SUBAGENT_MODEL": "model-opus",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK": "1",
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
}
}
当OPUS_MODEL支持1m上下文的时候,可以设置为model-opus[1m]以获得Claude code工具的完整上下文支持。
也兼容 LiteLLM 风格的 anthropic/ 前缀:anthropic/model-opus / anthropic/model-sonnet / anthropic/model-haiku 等同于无前缀写法,方便接入需要带 provider 前缀才能识别 Anthropic 协议的工具。
虚拟模型和别名:
| 虚拟模型 | 别名 |
|---|---|
model-fable | anthropic/model-fable anthropic/claude-fable* claude-fable* gpt-*-astra openai/gpt-*-astra |
model-opus | anthropic/model-opus anthropic/claude-opus* claude-opus* gpt-*-sol openai/gpt-*-sol |
model-sonnet | anthropic/model-sonnet anthropic/claude-sonnet* claude-sonnet* gpt-*-terra openai/gpt-*-terra |
model-haiku | anthropic/model-haiku anthropic/claude-haiku* claude-haiku* gpt-*-luna openai/gpt-*-luna |
model-jev | anthropic/model-jev openai/model-jev(只在 /v1/systemone 入口可用,对话入口收到会返回 400) |
claude-opus*的含义是模糊匹配,你可以传入任意符合规则的模型名,都会被归一为虚拟模型model-opus,比如claude-opus-4-8claude-opus-4-7-20260101claude-opus-100都没问题。gpt-*-sol这类按档位段匹配:gpt-6-solgpt-6.1-solgpt-5.6-sol-20261201都命中 sol 档(astra/terra/luna 同理)。只认档位名:gpt-5.5这类纯版本号和gpt-*-mini不映射,会落到model-fallback。
cc-router 夹在你的工具和大模型厂商中间:工具从入口连进来,请求从出口发给厂商。两头各支持三种主流大模型接口,可以任意组合——比如 Codex 从 OpenAI Responses 入口进来,最终由 DeepSeek 的 Anthropic 端点作答。另有一条 Jev(System One)决策模型的专用通道,入口和出口都是 /v1/systemone,原样透传。
三个对话入口共用同一套订阅、虚拟模型、限额与会话亲和;第四个入口 /v1/systemone 专供 Jev 决策模型,只调度 model-jev。请求日志的「入口接口」一栏能看到每条请求从哪个入口进来。按你的工具支持的协议展开对应一节:
| 配置项 | 填写 |
|---|---|
| Base URL | http://127.0.0.1:23456(不带 /v1,工具会自己拼 /v1/messages) |
| 鉴权 | x-api-key: <token> 或 Authorization: Bearer <token>,对应 Claude Code 的 ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN |
| 模型名 | model-fable / model-opus / model-sonnet / model-haiku,或上方别名表里的任意写法(含 anthropic/ 前缀) |
output_config.effort、cache_control、图片、工具调用全部按 Anthropic 原生语义工作。x-claude-code-session-id 请求头、其次 metadata.user_id 识别会话。anthropic-beta / anthropic-version 等白名单头会原样转发给该上游,按订阅单独设置,默认关闭。| 配置项 | 填写 |
|---|---|
| Base URL | http://127.0.0.1:23456/v1 |
| API Key | cc-router 设置页里的 token,Codex 从 OPENAI_API_KEY 或 ~/.codex/auth.json 读取 |
| 模型名 | gpt-*-astra / gpt-*-sol / gpt-*-terra / gpt-*-luna 档位名(如 gpt-6-sol,可带 openai/ 前缀),分别落到 fable / opus / sonnet / haiku;也接受 model-* 写法 |
~/.codex/config.toml 片段(app 内「接入指南 → Codex」有完整步骤,之后用 codex -p cc-router 启动):
[model_providers.cc-router]
name = "cc-router"
base_url = "http://127.0.0.1:23456/v1"
wire_api = "responses"
env_key = "OPENAI_API_KEY"
[profiles.cc-router]
model_provider = "cc-router"
model = "model-sonnet"
instructions 与 developer 消息并入 system,reasoning.effort 映射为 thinking 预算,max_output_tokens 映射为 max_tokens(缺省 4096,并会自动抬高到覆盖 thinking 预算)。file_search / web_search / computer_use 这类 OpenAI 专有工具;parallel_tool_calls 会被忽略。prompt_cache_key、其次 session_id 请求头识别,Codex 都会自带。Open WebUI、Cherry Studio、Cline、LobeChat 等只支持 OpenAI Chat Completions 的工具,把「OpenAI 兼容」端点指向 cc-router 即可:
| 配置项 | 填写 |
|---|---|
| Base URL | http://127.0.0.1:23456/v1(有的工具要求不带 /v1,按工具提示调整) |
| API Key | cc-router 设置页里的 token(关闭鉴权时随便填一个非空值) |
| 模型名 | model-fable / model-opus / model-sonnet / model-haiku,或 gpt-6-astra / gpt-6-sol / gpt-6-terra / gpt-6-luna 等档位别名,从 GET /v1/models 可直接拉取 |
行为说明:
/v1/chat/completions。reasoning_content 字段返回(DeepSeek 惯例,主流客户端都能折叠显示);对话历史里客户端回传的 reasoning_content 会被丢弃,不影响后续对话。data: base64 与 http(s) 两种 image_url;工具调用双向支持;流式响应末尾总会带一帧 usage。functions / function_call 字段,传了直接返回 400,请改用 tools / tool_choice。n>1、logprobs、response_format 的 JSON Schema 强制均会被忽略(不报错)。user 字段、其次 x-session-id 请求头识别会话,两者都没有时按首条用户消息内容。finish_reason 恒为 tool_calls,客户端可放心据此判断是否执行工具。Jev(System One)是一类结构化决策模型:请求给出一段状态 state 和一组问题 questions,响应按问题逐个返回结构化答案 answers,不生成对话文本。cc-router 把多家上游的 Key 聚合在独立的虚拟模型 model-jev 下,协议原样透传、不做翻译。
| 配置项 | 填写 |
|---|---|
| 接口地址 | http://127.0.0.1:23456/v1/systemone(写完整路径) |
| 鉴权 | Authorization: Bearer <token>,x-api-key: <token> 也可以 |
| 模型名 | model-jev(可带 anthropic/ / openai/ 前缀),也可以直接写上游的真实模型名 |
命令行验证:
curl http://127.0.0.1:23456/v1/systemone \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <token>" \
-d '{
"model": "model-jev",
"state": "Hello World",
"questions": {
"says_hello": {
"type": "noul",
"instructions": "Does the state text contain a greeting?"
}
}
}'
model-jev 时,cc-router 按命中订阅配置的 Jev 模型改写;没配就用该接入点的示例模型(如 clef-flash、jev-latest),响应里的 model 仍回显 model-jev。写真实模型名时,订阅配了 Jev 模型就改写,没配就原样透传。model-jev 上、接入点为 System One 的订阅;对话类订阅不会被用到,System One 订阅也不会进入其他虚拟模型。三个对话入口收到 model-jev 会直接返回 400。x-session-id 请求头,不带就按轮询分配。出口按协议分三类,另有一类走 OAuth 登录的订阅账号,以及只服务 model-jev 的 System One 接入点。内置厂商预设和自定义端点走的是同一条路,区别只是内置预设已经替你填好地址、鉴权方式和模型列表。完整内置清单以 app 内「添加订阅」页为准,描述文件在 src-tauri/providers/,欢迎 PR 补充。
output_config.effort、cache_control、图片、工具调用全部按 Anthropic 原生语义工作。只要厂商提供原生 Anthropic 端点,就优先走这条路,翻译路径多少会丢内容reasoning_content(DeepSeek R1 等)会以 thinking 块的形式交给 Claude Codecache_control)会被丢弃,所以有原生 Anthropic 端点的厂商请配到上一类,不要配到这里{model} 占位符),或 Interactions 兼容端点(model 在请求 body 里,无需占位符)设置 → 网页界面 → 启用后,用浏览器打开 http://127.0.0.1:23456/ui/ 即可得到与桌面完全相同的管理界面。局域网其他设备访问需把代理监听地址切到 0.0.0.0,设置页会列出可用地址。登录使用代理访问令牌;「登录鉴权」开关可关闭(关闭后同网段设备无需登录即可修改配置,慎用)。
用 cc-router-tui 在终端里管理正在运行的 cc-router。设置 → 安全与访问 → 终端界面 → 打开「启用终端界面」后即可使用(只接受本机连接,桌面 app 需保持运行)。同一张卡片里可以复制完整的启动路径;点「添加到 PATH」后,在任何终端里直接输入 cc-router-tui 即可:macOS 在 /usr/local/bin 建一个符号链接(可能弹出系统授权框),Windows 把安装目录加入用户 PATH(已打开的终端需重开),AppImage 复制一份到 ~/.local/bin(副本不随 app 更新,更新后再点一次),deb 随系统安装、本来就在 PATH 上。
? 查看全部键位。界面语言跟随桌面 app 的语言设置(改了之后重开终端界面生效)没有 cc-router 时:AI Agent(Claude Code / OpenCode 等)一次只能接一家厂商,小额度订阅在关键时刻断流,得手动切配置——体验糟糕。
接上 cc-router 后:Agent → cc-router → 厂商 A + B + C,自动负载均衡、自动故障转移,三家订阅当一家用。
收益:
Claude Code 按任务难度分三档:opus 做规划、sonnet 写代码、haiku 跑工具调用。
cc-router 把这三档抽象成 model-opus / model-sonnet / model-haiku 三个虚拟槽位,每个槽位绑一组真实模型 + 调度模式:
model-opus → DeepSeek-V4-Pro + GLM-5.1(轮询)model-sonnet → MiniMax-M2.7 + MiMo-V2.5-Pro(轮询)model-haiku → GLM-4-FlashCC 请求来了就按映射转发,不用再频繁改 ~/.claude/settings.json。
举例:订阅 A = GLM-5 / MiniMax-2.7 / DeepSeek-Flash,订阅 B = DeepSeek-V4-Pro / MiniMax-2.7 / GLM-5。
model-opus 轮询,交叉使用大概率 1 + 1 ≥ 2依赖:Node.js ≥ 20(推荐 pnpm),Rust ≥ 1.90(建议直接用 rustup 最新 stable),Xcode CLT(macOS)。
pnpm install
pnpm tauri dev # 启动开发模式(同时运行前端 + Rust 后端 + 代理)
首次启动 app 会进入 onboarding:
~/.claude/settings.jsonpnpm tauri build
产出:src-tauri/target/release/bundle/ 下对应平台的安装包。
1. 必须用 MSVC toolchain,不能用 GNU
Tauri 在 Windows 上打包依赖 MSVC,CI 用的也是 x86_64-pc-windows-msvc。确认:
rustup show # active toolchain 应带 -msvc 后缀
rustc --version # 应 ≥ 1.90
2. 需要 Visual Studio Build Tools
MSVC toolchain 依赖 C++ 编译器和 Windows SDK,缺了会报 link.exe not found。装 Build Tools for Visual Studio 时勾选「使用 C++ 的桌面开发」工作负载,装完重开终端。
3. rustc --version 和 rustup show 对不上?查 PATH
若曾用 msi / scoop / Visual Studio 组件装过独立 Rust,它可能排在 rustup shim 之前,导致 rustup default stable 说什么都不生效:
Get-Command rustc, cargo -All | Select-Object Source
Source 应指向 %USERPROFILE%\.cargo\bin。否则把该目录提到 PATH 最前(rundll32 sysdm.cpl,EditEnvironmentVariables),或卸掉那份独立安装。
4. dev server 端口残留
Ctrl+C 常杀不干净 tauri dev 的进程树,再次启动会报 Port 1420 is already in use(strictPort: true 刻意不自动换端口,因为 devUrl 写死了 1420):
Get-NetTCPConnection -LocalPort 1420 -State Listen |
Select-Object -ExpandProperty OwningProcess -Unique |
ForEach-Object { Stop-Process -Id $_ -Force }
如果你使用Claude Code,我提供了一个SKILL,可以执行new-provider并附加provider的官方文档或接口地址等信息,能够自动创建provider的配置。
本项目以 MIT 许可证发布。
字体:小票主题使用的 9 款字体均为 SIL Open Font License 1.1,归属声明与许可证全文见 THIRD-PARTY-NOTICES.md。
图标:Provider 品牌 logo 来自 @lobehub/icons(MIT)。各品牌商标归原所有者所有。
| Linux | x64 | cc-router_linux-x64.deb | 全球下载 · 中国下载 |
| Linux | arm64 | cc-router_linux-arm64.AppImage | 全球下载 · 中国下载 |
| Linux | arm64 | cc-router_linux-arm64.deb | 全球下载 · 中国下载 |