在日用编辑器中直接集成模型选择,自动根据任务复杂度路由,对日常工作流效率提升显著。
一个适配 Anthropic、OpenAI 和 Gemini 的即插即用代理,为每个请求选择最佳模型:使用一个小型本地嵌入器,而不是基于感觉的提示词。
由 Weave 构建:#1 工程智能平台,受 Robinhood、PostHog、Reducto 等数百家公司喜爱。
将 Claude Code、Codex、Cursor 或你自己的应用指向 localhost:8080。路由器:
🎯 按操作路由。源自 Avengers-Pro 的集群评分器从你启用的提供商中选择正确的模型,用于每个上游 API 请求。(见 docs/SEMANTICS.md 了解规范术语:路由器按操作路由,而非按回合。)
🔌 支持所有人的 API。Anthropic Messages、OpenAI Chat Completions、Gemini 原生。流式、工具、视觉,应有尽有。
🧠 也支持开源。DeepSeek、Kimi、GLM、Qwen、Llama、Mistral 通过 OpenRouter(或任何兼容 OpenAI 的端点)。
🔒 默认自带密钥。提供商密钥留在你的机器上,静止加密。
📊 可观测。开箱即用的 OTLP 追踪。在 Weave 仪表板中查看(http://localhost:8080/ui/dashboard),或导入 Honeycomb、Datadog、Grafana,随意选择。
用一条命令将 Claude Code、Codex 或 opencode 指向托管的 Weave Router。无需克隆、Docker 或 Postgres。
npx @workweave/router
就这样。安装器会询问你使用的工具(Claude Code、Codex 或 opencode),引导你配置范围(用户或项目级),获取路由器密钥,并连接到正确的配置文件。其他用法:
npx @workweave/router --claude # 跳过选择器,用于 Claude Code
npx @workweave/router --codex # 跳过选择器,用于 OpenAI Codex CLI
npx @workweave/router --opencode # 跳过选择器,用于 opencode
npx @workweave/router --scope project # 按仓库,提交到 settings.json(或 .codex/ / opencode.json)
npx @workweave/router --local # 自托管 localhost:8080
npx @workweave/router --base-url https://router.acme.internal
npx @workweave/router@0.1.0 # 固定版本
需要 Node ≥ 18(Claude Code 和 opencode 路径还需要 jq)。完整标志参考:install/npm/README.md。
如果你想在自己的机器上运行路由器(和仪表板):
# 1. 放入提供商密钥。OpenRouter 是推荐的基础。
echo "OPENROUTER_API_KEY=sk-or-v1-..." >> .env.local
# 2. 在 :8080 启动 Postgres + 路由器,并生成一个 rk_ 密钥。
make full-setup
路由器运行在 http://localhost:8080,仪表板在 http://localhost:8080/ui/(密码:admin),你的 rk_... 密钥会在日志中打印。
# 像 Anthropic 一样调用
curl -sS http://localhost:8080/v1/messages \
-H "Authorization: Bearer rk_..." \
-d '{"model":"claude-sonnet-4-5","max_tokens":256,
"messages":[{"role":"user","content":"hi"}]}'
# ...或像 OpenAI 一样
curl -sS http://localhost:8080/v1/chat/completions \
-H "Authorization: Bearer rk_..." \
-d '{"model":"gpt-4o-mini",
"messages":[{"role":"user","content":"hi"}]}'
# 不代理的情况下查看路由决策
curl -sS http://localhost:8080/v1/route -H "Authorization: Bearer rk_..." -d '...'
默认堆栈使用进程内集群评分器。要以伴随容器形式运行冻结 HMM 策略,请添加 Google API 密钥并使用选择加入目标:
echo 'GOOGLE_API_KEY=...' >> .env.local
make up-hmm
这不会改变默认策略。见 sidecars/hmm/README.md 了解工件验证、嵌入兼容性和显式 HMM 选择。
运行 make install-cc 将 Claude Code 连接到本地自托管路由器(它也在 make full-setup 结束时自动调用)。对于托管路由器,使用上面的 npx @workweave/router。
npx @workweave/router --codex 使用托管的 [model_providers.weave] 块修补 ~/.codex/config.toml(或使用 --scope project 时修补 <repo>/.codex/config.toml),并设置 model_provider = "weave"。Codex 的现有 OPENAI_API_KEY 流向 api.openai.com 进行基于计划的直通;路由器密钥在 X-Weave-Router-Key HTTP 标头中传递。重新安装和 --uninstall --codex 仅重写/删除托管块,保持 Codex 配置的其余部分不变。
npx @workweave/router --opencode 将 provider.weave 条目合并到 ~/.config/opencode/opencode.json(或使用 --scope project 时合并到 <repo>/opencode.json)。它使用 opencode 的内置 @ai-sdk/anthropic 提供商指向路由器的 /v1 端点——路由器原生支持 Anthropic Messages API,所以 opencode 无需修改即可工作。路由器密钥和标识标头与提供商配置一起传递;重新安装仅重写托管块,--uninstall --opencode 删除它。
Settings → Models → Override OpenAI Base URL → http://localhost:8080/v1,粘贴 rk_... 作为 API 密钥。
安装后,npx @workweave/router off --claude(或 --codex / --opencode)将该客户端直接路由到其提供商,无需丢弃路由器配置;on 翻转回来,status 报告当前方向。Claude Code 还获得 /router-off、/router-on 和 /router-status 斜杠命令。Cursor 通过上方相同的 Settings → Models 覆盖切换。见 install/README.md。
sk-or-... / sk-ant-... / sk-... = 你的上游提供商密钥。放在 .env.local。
rk_... = 你的路由器密钥。客户端将其作为 Bearer 令牌发送。
在 /health 上保持活跃性探针。当配置的策略侧车必须准备好才能接收流量时,将就绪性探针指向 /readyz。
📐 配置参考:每个环境变量、BYOK 加密、OTel 旋钮、集群路由。
🧭 语义和术语:会话、回合、轮次、操作和步骤的规范定义。
策略路由器工具:用于添加进程外策略模型的契约和发布清单。
🛠️ 贡献:分层规则、热重载开发、迁移、测试、完整工程循环。
🏗️ 架构:包布局、导入契约、添加端点 / 提供商 / 策略的方法。
Zhang, Y. et al. Beyond GPT-5: Making LLMs Cheaper and Better via Performance–Efficiency Optimized Routing (Avengers-Pro). arXiv:2508.12631, 2025. https://arxiv.org/abs/2508.12631 ↩
Zhang, Y. et al. Beyond GPT-5: Making LLMs Cheaper and Better via Performance–Efficiency Optimized Routing (Avengers-Pro). arXiv:2508.12631, 2025. https://arxiv.org/abs/2508.12631 ↩