Weave Router 路由指令完全指南:directives.tsv 中 10 条命令逐条解释
2026/9/16 17:14:09 网站建设 项目流程

Weave Router 路由指令完全指南:directives.tsv 中 10 条命令逐条解释

【免费下载链接】routerModel router for agentic systems. Routes every prompt to the right model in <50ms. Cut costs 40-70% with just an endpoint change.项目地址: https://gitcode.com/GitHub_Trending/router101/router

Weave Router 是面向 Agent 系统的模型路由器(Model router for agentic systems):把 Claude Code、Codex 等客户端的端点指向它,每条 prompt 都能在 50ms 内被路由到最合适的模型,仅改一个端点即可削减 40–70% 成本。而 install/directives.tsv 就是它所有「路由指令」的唯一注册表——你每天输入的/force-model/router-off/models等 10 条指令,全部在这一个文件里一次声明,再被安装器自动分发到各个客户端。

这篇文章带你逐条读透这个指令字典:每条命令做什么、哪些客户端支持、背后是"发一句提示词"还是"改本地配置"。

一、先看懂注册表:directives.tsv 的 8 个字段

directives.tsv是一个竖线分隔的表格,每行一条指令。文件开头的注释(install/directives.tsv#L1-L3)说明了它的结构:

字段含义
canonical指令的规范名(正式写法)
aliases别名,逗号分隔(如fm
capabilityprompt(路由器直接解析的文本)或local-toggle(调本地安装器改配置)
claude/codex/opencode/pi/cursor该客户端是否安装此指令(yes/no)
adapter原生资产类型:command(即commands/<name>.md包装文件)或skill(即codex-skills/<name>/SKILL.md),可并列

💡 设计亮点:注册表是单一事实来源。所有安装路径、卸载器、状态栏刷新脚本和 npm 打包步骤都读这同一个文件,一条指令只声明一次,就能同步到达每个支持它的客户端。

二、指令总览:10 条路由指令一览表

这是 install/directives.tsv#L4-L13 的完整内容整理:

指令别名能力类型ClaudeCodexopencodepiCursor资产类型
force-modelfmprompt手动command + skill
unforce-modelufmprompt手动command + skill
router-feedbackrfprompt手动command + skill
router-offlocal-toggle手动command + skill
router-onlocal-toggle手动command + skill
router-statuslocal-toggle手动command + skill
router-sessionpromptcommand + skill
router-modelsmodelslocal-togglecommand + skill
disable-routinglocal-toggleskill
betaprompt手动command

三、逐条解释:每条路由指令到底做什么

1./force-model(别名/fm):把会话钉在指定模型上

这是最常用的"模型钉选"指令。语法是/force-model <model-id>,告诉 Weave Router:本会话内的请求都交给这个模型,跳过自动路由。

它属于prompt 型指令——指令本身是一段文本,随请求发给路由器,由路由器解析后给当前会话打上 pin。四个主力客户端都能用:

  • Claude Code:斜杠命令/force-model(install/commands/force-model.md)
  • Codex:因为/被内置命令保留,所以用$force-model技能(install/codex-skills/force-model/SKILL.md),技能会输出一行"前导空格"形式的指令文本交给路由器
  • opencode、pi 同理;pi 的/fm/ufm直接注册在扩展里(install/pi-router/src/force-model.ts)
  • Cursor:手动输入前导空格形式/force-model <model-id>

2./unforce-model(别名/ufm):解除钉选,回到自动路由

/force-model的逆操作。执行后清除当前会话的模型钉选,路由器恢复"每次请求独立决策"的默认模式。不需要任何参数。

3./router-feedback(别名/rf):给路由决策和模型表现提反馈

当路由器选错了模型,或者某个模型输出不理想时,用/router-feedback <反馈内容>提交一条带上下文的反馈。路由器会把它和当前会话、所用模型关联记录,用于改进路由策略。注意 pi 客户端不支持此指令(注册表中为no)。

4./router-off/router-on/router-status:路由开关三件套

这三条是local-toggle 型指令——它们不走路由器,而是调用本地安装器 CLI 修改客户端配置(如npx @weave-os/router off --claude,见 install/commands/router-off.md),把客户端从 Weave Router 切回"直连供应商",且不删除路由器配置,随时一键切回:

客户端off具体做了什么
Claude CodeANTHROPIC_BASE_URL和密钥头移出settings.json,回落到自己的 Anthropic 登录
Codex注释掉model_provider = "weave"一行,[model_providers.weave]配置块保留
opencode移除顶层weave/...模型,provider.weave保留
  • /router-on逐字节还原上面的改动;
  • /router-status报告当前是"走路由器"还是"直连"。

⚠️ 生效时机:Claude Code 只在启动时读取设置,需要完全退出重开;Codex 在下次启动codex时生效。

5./router-session:查看当前会话 ID

打印路由器用来关联本会话遥测、日志和反馈的会话 ID(Claude 侧取$CLAUDE_CODE_SESSION_ID,Codex 侧取$CODEX_SESSION_ID)。这个 ID 也是路由器 dashboard 里查转写记录的检索键。

小技巧:它现在由路由器直接应答——路由器本来就在每个请求的Session-Id头里收到并存储了这个 ID,无需再浪费一次模型回合去猜(设计背景见 install/README.md#L341-L347)。

6./router-models(别名/models):查看并开关可选模型

列出该安装允许路由器挑选的所有模型(按供应商分组,[x]可挑 /[ ]不可挑),并能按你的要求启用、禁用、排序。它与路由器 dashboard 设置页的复选框是同一份存储设置

常见用法:

  • /models:仅查看清单
  • "把 <模型id> 关掉":执行models disable <id>
  • "整供应商开关":models providers enable/disable ...
  • 设置偏好顺序:models prefer <id> <id> ...(顺序即优先级)

禁用某个模型立即生效——从路由器的下一次路由决策开始,无需重启。完整行为说明见 install/commands/router-models.md。

7.$disable-routing:Codex 专属的"切回默认供应商"

Codex 独有的技能(install/codex-skills/disable-routing/SKILL.md),等价于$router-off——它是更早出现的写法,保留为别名。两者都不会卸载路由器、不会动其他 Codex 配置。

8./beta:切换 HMM 实验路由(仅 Claude 与 pi)

/beta在当前会话内开关实验性的 HMM(隐马尔可夫模型)路由策略。Claude Code 侧是斜杠命令(install/commands/beta.md),pi 侧则把本地/beta作为一次规范用户回合转发给路由器(install/pi-router/src/beta.ts)。

四、两种能力类型:prompt 与 local-toggle 的本质区别

理解这个区别,就能看懂注册表里所有yes/no

promptlocal-toggle
指令的本质一段被路由器解析的文本调本地安装器修改配置文件的动作
谁来执行Weave Router 本体客户端本地的安装器 CLI
存在前提请求经过路由器即可安装器拥有该客户端的配置文件
例子/fm/rf/beta/router-session/router-off/router-on/models

这就是为什么local-toggle只出现在 Claude Code 和 Codex 两列——只有这两个客户端存在安装器负责写入的配置文件;opencode、pi 的开关走各自的机制,Cursor 的 base URL 开关则放在 Cursor 自己的设置界面里。

五、各客户端支持的指令对照表

安装器从注册表推导出的最终形态(摘自 install/README.md#L403-L431):

指令Claude CodeCodexopencodepiCursor
force-model/force-model$force-model/force-model/fm(原生)手动
unforce-model/unforce-model$unforce-model/unforce-model/ufm(原生)手动
router-feedback/router-feedback$router-feedback/router-feedback手动
router-session/router-session$router-session
router-off / on / status/router-off$router-off等(含$disable-routing
router-models/router-models$router-models

几个值得记住的规则:

  1. Codex 用$前缀/被 Codex 内置命令保留,每条技能内部发送"前导空格"形式的提示词。
  2. pi 走原生扩展/fm/ufm@weave-os/router扩展直接注册,不依赖安装文件。
  3. Cursor 永远是manual:安装器没有可写入的 Cursor 命令文件,指令需要你手动键入前导空格形式;on/off 则在Settings → Models → Override OpenAI Base URL里操作。

六、一条指令如何从文件到达你的终端

整个分发链条非常短,且被测试锁死,不允许"漂移":

  1. 声明:工程师在 install/directives.tsv 加一行,并配上对应资产文件(commands/<name>.md和/或codex-skills/<name>/SKILL.md)。
  2. 读取:各安装脚本通过 install/registry.sh 的公共函数解析注册表,按客户端列(yes/no)决定给谁装什么。
  3. 内嵌install.sh支持curl | sh独立分发,没有相邻文件可用,所以make embed-registry会把注册表数据内嵌进脚本(install/scripts/embed-registry.sh)。
  4. 校验:install/tests/registry_test.sh 断言内嵌副本与源文件完全一致;npm 打包(install/npm/scripts/copy-installer.js)也会检查"每个命令文件都必须在注册表里声明"。任何一处在注册表里有、资产文件里没有(或反之),测试与打包都会直接失败。

七、常见疑问

为什么 Cursor 一列全是"手动"?因为安装器不拥有任何 Cursor 可写入的命令/技能文件。Cursor 用户直接键入前导空格形式的指令文本(如/force-model gpt-5),on/off 则在 Cursor 自己的设置界面切换 base URL。

$disable-routing$router-off有什么区别?没有实质区别。disable-routing是 Codex 上更早出现的指令名,router-off推出后它作为别名保留,两者都执行同一个weave-router off --codex动作。

改完开关要重启客户端吗?

  • Claude Code:要——它在启动时读取一次设置,重开即生效;
  • Codex / opencode:下次启动codex/opencode时生效;
  • /router-models的模型禁用不需要重启,从下一次路由决策起就生效。

在哪里能找到每条指令的"说明书"?Claude 侧看 install/commands/ 目录下的同名.md文件,Codex 侧看 install/codex-skills/ 目录下的SKILL.md——它们的 frontmatterdescription字段就是你输入指令时看到的提示文案。


📌速记卡:钉模型用/fm,解钉用/ufm,提反馈用/rf,看模型清单用/models,开关闭合用/router-off+/router-on,查状态用/router-status。10 条指令,一个注册表,改一个端点,省 40–70% 成本——这就是 Weave Router 指令字典的全部。

【免费下载链接】routerModel router for agentic systems. Routes every prompt to the right model in <50ms. Cut costs 40-70% with just an endpoint change.项目地址: https://gitcode.com/GitHub_Trending/router101/router

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询