项目详情

Weave Router

一个端点,所有模型,每次都选对的那个——<50ms

GitHub 地址 产品主页 Go 1.25+ ELv2 许可

更新于 2026-08-30 · 数据来源:GitHub API(采集于 2026-08-30)

← 返回汇总
项目速览

一句话定位

模型选型不该靠手感,该靠每一次请求的语义

Agent 系统的模型路由器:Anthropic / OpenAI / Gemini 三家 API 的 drop-in 代理,用盒上微型 embedder 对每个请求(per-action)打分,自动路由到「够用且最省」的模型。只改一个 endpoint,宣称省 40-70% 成本。适合重度使用 Claude Code / Codex / Cursor 等编码代理、又想控成本的个人与团队。

项目速览

核心数据

2.7k
Stars(4 个月)
<50ms
路由开销
40-70%
宣称成本节省
5+
工具客户端集成

2026-04-27 创建 · 今日(08-30)仍在推送 · 10 位贡献者 · fork 77 · open issues 113 · 出品方 Weave(workweave.ai,工程智能平台,客户含 Robinhood / PostHog / Reducto)

为什么存在

模型选型的三种玄学

全用旗舰

简单任务也烧 opus/gpt-5.6 级别的钱。Agent 一次任务几十个 API 调用,大头其实是工具结果消化、摘要压缩这类低难度步骤——全旗舰等于给蚂蚁发重卡。

手动分模型

在不同工具/项目里手工配不同模型,粒度粗、忘切换、换模型要重配。粒度永远追不上「每一步任务难度其实都不同」的现实。

LLM 当路由器

用提示词让一个 LLM 决定用哪个 LLM(vibes-based routing)——决策本身要花 token、有延迟、还不可复现。用模型选模型,钱没省多少。

Weave Router 的答案:盒上微型 embedder + 聚类打分器,不调 LLM、不写提示词,语义相似度直接映射到「能力需求档位」,每 50ms 内出一个可解释的决策。

核心概念

路由的最小粒度:Action

SESSION 会话(session_id) ROUND 一轮交互(U1 用户输入 → A1 代理输出) U1 · 用户 Turn 「帮我重构这个模块」 A1 · 代理 Turn(多个 Step 组成) A1_S1 · MainLoop 规划推理 → 用旗舰 A1_S2 · ToolResult 消化文件内容 → 用廉价 A1_S3 · ToolResult 命令输出 → 用廉价 A1_S4_SA1_S1 · 子代理 独立任务 → 独立路由
Turn 内的 Step = Action(一次上游 API 请求)——路由的最小单位 子代理各自携带 Step 记号,同样逐 action 路由

项目专门维护 docs/SEMANTICS.md 钉死术语:Session → Round → Turn → Step/Action,并坦承历史代码里 turntype 等旧命名待迁移——把「我们路由的到底是什么」写成规范文档,这在路由类项目里少见。

核心机制

自托管拓扑:灰盒子才出你的机器

客户端工具 Claude Code · Codex opencode · pi · Cursor 只改 base URL + rk_ key rk_ Bearer Router :8080 /v1/messages(Anthropic) /v1/chat/completions(OpenAI) /v1beta/models(Gemini) /v1/route(只看决策不转发) 三向 API 翻译 + per-action 路由 Cluster Scorer 进程内 ONNX 微型 embedder 源自 Avengers-Pro 论文(arXiv:2508.12631) HMM Sidecar :8093 可选 · 冻结 HMM 策略 make up-hmm 独立容器 Postgres 安装 · rk_ key · 加密 BYOK key · 用量 多副本需 Pub/Sub 失效广播 provider key(env / BYOK 加密) 上游提供商(灰=出机) Anthropic · OpenAI · Gemini OpenRouter(OSS 池) DeepSeek · Kimi · GLM · Qwen Llama · Mistral 任何 OpenAI 兼容端点(vLLM 等) OTLP 观测(灰=出机) Honeycomb / Datadog / Grafana 或自带 dashboard /ui spans + usage(可选,关了也能跑)
留在本机:路由 / 打分 / 密钥 / Postgres 决策核心(embedder + 聚类打分) 出机器:只有上游 API 与可选观测
核心机制

决策链路:embed → 聚类 → 档位

请求 action 到达→ ONNX embedder 编码→ 聚类匹配(训练自 Avengers-Pro)→ 能力需求档位→ 策略选模型→ 翻译 + 转发
核心机制

API 翻译层:三向互通的小心思

能力实现为什么重要
三协议原生Anthropic Messages / OpenAI Chat Completions / Gemini generateContent 互相翻译客户端说哪种方言都行,模型池不再被客户端锁定
Anthropic 透传未配 ANTHROPIC_API_KEY 时,转发客户端自己的 auth 头到 api.anthropic.comClaude Code 订阅登录态白嫖保留,router 不必经手你的 key
网关兼容ANTHROPIC/OPENAI_GATEWAY_* 指向企业自建网关企业内网 Claude(如 Snowflake Cortex)也能挂进池子
流式 + 工具 + 视觉翻译层全量保留编码代理重度依赖 tool call 流式,砍了就没法用

两把钥匙分清楚:sk-... 上游 provider key(.env.local,或 BYOK 加密入库);rk_... router key(客户端 Bearer)。BYOK 默认开启,key 静态加密,密钥不出本机。

快速上手

两条路:30 秒托管 / 一条命令自托管

# 路线 A:接官方托管(零部署)
$ npx @workweave/router
# 选 Claude Code / Codex / opencode / pi
# 自动拿 rk_ key、改配置文件,完事

$ npx @workweave/router --local
# 指向自托管 localhost:8080

托管版走 router.workweave.ai;off/on/status 随时切回直连,不删配置。

# 路线 B:整机自托管
$ echo "OPENROUTER_API_KEY=sk-or-v1-..." >> .env.local
$ make full-setup
# Postgres + router :8080 + dashboard /ui(密码 admin)
# rk_ key 打印在日志里

$ curl -sS localhost:8080/v1/messages \
  -H "Authorization: Bearer rk_..." \
  -d '{"model":"claude-sonnet-4-5",...}'
# Anthropic 方言进,路由后的模型答

Go 1.25+;多副本部署需 Pub/Sub 做缓存失效(compose 自带模拟器)。

工具集成

五个客户端,一个 router

工具接入方式专属能力
Claude Codenpx @workweave/router --claude / make install-cc/router-off /router-on /router-status /models 斜杠命令;OAuth 登录态保留
Codexpatch ~/.codex/config.toml provider 块原生 skills:$force-model / $unforce-model / $router-feedback;ChatGPT OAuth 保留,key 走 X-Weave-Router-Key 头
opencodemerge opencode.json provider 项Anthropic 方言原生互通,零改动
pi装 router 的 pi 扩展Loom 头部 + Wooly 吉祥物 + /fm /ufm 钉模型 + 上下文隔离子代理
CursorOverride OpenAI Base URL(beta)设置里贴 rk_ key 即可

卸载只动 managed 块,用户既有配置不碰——「安装器要有洁癖」这个细节做得体面。

可观测性

每个决策都可审计

适用场景

适合谁用

风险提示

需要警惕

在线体验

亲手玩转 per-action 路由决策

Playground 复刻路由决策的核心规则:选 action 类型(主循环 / 工具结果 / 子代理 / 摘要 / 小补丁)× 任务复杂度 × 策略,实时看模型选择、能力档位匹配、成本节省——包括「激进省钱把硬任务派给弱模型」的贴边风险现场。

打开 Playground

纯前端实现,零网络依赖 · 决策规则 45 组合真值表全验证(成本单调性 + 风险触发断言)

潜力评估

未来空间

「per-action 语义路由」把模型选型从配置文件问题变成数据问题,方向判断正确——模型池越分化(旗舰/廉价/OSS 三层价差 100 倍),路由器的省钱杠杆越大。但赛道拥挤(LiteLLM、OpenRouter 自带路由、各云厂商 gateway),且 ELv2 + 商业绑定限制了社区分叉动力。

痛点真实(agent 成本焦虑) 学术背书 + 可审计 ELv2 限商用 赛道拥挤 厂商利益关联

上一个
morphicons
下一个
screenshot-to-code
1 / 15