配置、运行并排查 OpenRouter 硬件感知分类路由器(向导设置、本地模型、路由、仪表板)
Xrouter是一项面向实际任务的技能,主要用于Xrouter 是一个开源推论路由器,位于OpenClaw 和您的 LLM 提供者之间;它使用快速的,硬件意识的分类器将每个请求都引导到最符合成本效益的版本中。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
Xrouter 是一个开源推理路由组件,部署在 OpenClaw 与您的大语言模型(LLM)服务商之间。它采用快速、硬件感知的分类器,为每个请求选择既能胜任任务又最具成本效益的模型。
本项目采用 MIT 许可协议。详见 MIT License。
核心功能
POST /v1/chat/completions 提供 OpenAI 兼容的反向代理服务。/dashboard。工作流程
flowchart TD
A["客户端 / OpenClaw 请求"] --> B["路由器(OpenAI 兼容)"]
B --> C{"是否启用分类器?"}
C -->|否| F["路由至前沿服务商"]
C -->|是| D["分类器(0 / 1 / 2)"]
D --> E{"决策结果"}
E -->|0| G["路由至低成本服务商"]
E -->|1| M["路由至中等成本服务商"]
E -->|2| F
G --> H["服务商适配器(自动或显式指定)"]
M --> H
F --> H
H --> I["上游 API 调用"]
I --> J["流式响应 / 完整响应返回客户端"]
代码仓库结构
src/server.js:路由器主逻辑与流式代理实现。src/classifier.js:分类器调用及重试逻辑。src/config.js:配置加载与环境变量解析。src/cache.js:Redis 缓存 + 内存 LRU 回退实现。src/token_tracker.js:令牌用量追踪逻辑。scripts/check_hw.js:硬件检测脚本。scripts/configure_providers.js:交互式服务商配置向导。运行要求
快速上手
npm install npm run configure npm run dev
使用方法
本地示例配置(Ollama):
ollama pull llama3.1 ollama run llama3.1
运行配置向导:
npm run configure
启动路由器:
npm run dev
测试请求示例:
curl -i http://localhost:3000/v1/chat/completions
-H "Content-Type: application/json"
-d '{"model":"any","messages":[{"role":"user","content":"Fix this sentence: I has a apple."}]}'
关注以下响应头字段:
X-Xrouter-decision:值为 0、1 或 2。X-Xrouter-upstream:值为 cheap、medium 或 frontier。打开看板页面:
http://localhost:3000/dashboard原始用量数据 JSON 接口:
http://localhost:3000/usage服务商选择(终端向导)
执行命令:
npm run configure
该向导将:
upstreams.json 文件,并可选择性更新 .env 文件。快速启动模式
路由行为
0、1 或 2)即决定最终路由路径。兼容性
xrouter、openai_compatible、openai、anthropic、gemini、cohere、azure_openai、mistral、groq、together、perplexity),亦可设为 auto。auto 模式将基于基础 URL 或 API 密钥自动推断服务商适配器类型。openai_compatible 适配器。令牌用量看板
GET /usage:返回 cheap、medium 和 frontier 三类路由的累计令牌用量。GET /dashboard:可视化 UI,展示各路由令牌用量分布与总量。cheap 分类。环境变量概览
HOST:绑定主机地址,默认为 0.0.0.0。PORT:绑定端口,默认为 3000。ROUTER_API_KEY:启用认证,需携带 Authorization: Bearer 头部。LOG_LEVEL:日志级别(debug/info/warn/error)。LOG_TO_FILE:设为 true 时将日志写入文件。LOG_DIR:日志文件目录(默认 ./logs)。CLASSIFIER_ENABLED:设为 false 可禁用本地分类器。CLASSIFIER_BASE_URL:OpenAI 兼容的分类器端点地址。CLASSIFIER_MODEL:分类器模型名称。CLASSIFIER_SYSTEM_PROMPT:分类器系统提示词(单行字符串)。CLASSIFIER_TIMEOUT_MS:分类器调用超时时间(毫秒)。CLASSIFIER_FORCE_STREAM:强制以流式方式发起分类器请求。CLASSIFIER_WARMUP:服务启动时预热分类器。CLASSIFIER_WARMUP_DELAY_MS:预热请求前的延迟时间(毫秒)。CLASSIFIER_KEEP_ALIVE_MS:分类器预热期间的保活间隔(毫秒)。CLASSIFIER_LOADING_RETRY_MS:模型加载中时的重试间隔(毫秒)。CLASSIFIER_LOADING_MAX_RETRIES:模型加载中时的最大重试次数。CHEAP_BASE_URL:可选,若未设置则默认复用分类器基础 URL。CHEAP_API_KEY:低成本服务商 API 密钥。CHEAP_MODEL:可选,用于覆盖低成本路由的模型名称。CHEAP_PROVIDER:低成本路由的服务商类型(为空时默认为 auto)。CHEAP_HEADERS:可选,低成本服务商请求头(JSON 字符串化对象)。CHEAP_DEPLOYMENT:Azure 部署名称覆盖项(低成本路由)。CHEAP_API_VERSION:Azure API 版本覆盖项(低成本路由)。MEDIUM_BASE_URL:启用分类器时为必填项。MEDIUM_API_KEY:中等成本服务商 API 密钥。MEDIUM_MODEL:可选,用于覆盖中等成本路由的模型名称。MEDIUM_PROVIDER:中等成本路由的服务商类型(为空时默认为 auto)。MEDIUM_HEADERS:可选,中等成本服务商请求头(JSON 字符串化对象)。MEDIUM_DEPLOYMENT:Azure 部署名称覆盖项(中等成本路由)。MEDIUM_API_VERSION:Azure API 版本覆盖项(中等成本路由)。FRONTIER_BASE_URL:OpenAI 兼容的前沿服务商端点。FRONTIER_API_KEY:前沿服务商 API 密钥。FRONTIER_MODEL:可选,用于覆盖前沿路由的模型名称。FRONTIER_PROVIDER:前沿路由的服务商类型(为空时默认为 auto)。FRONTIER_HEADERS:可选,前沿服务商请求头(JSON 字符串化对象)。FRONTIER_DEPLOYMENT:Azure 部署名称覆盖项(前沿路由)。FRONTIER_API_VERSION:Azure API 版本覆盖项(前沿路由)。REDIS_URL:若设置该变量,则启用 Redis 缓存。本地模型安装与运行指南
Ollama(Mac 最佳支持,跨平台最易上手)
ollama pull llama3.1ollama run llama3.1http://localhost:11434CLASSIFIER_BASE_URL=http://localhost:11434
CLASSIFIER_MODEL=llama3.1vLLM(适用于 NVIDIA GPU)
vllm serve NousResearch/Meta-Llama-3-8B-Instruct --dtype auto --api-key token-abc123http://localhost:8000CLASSIFIER_BASE_URL=http://localhost:8000
CLASSIFIER_MODEL=NousResearch/Meta-Llama-3-8B-InstructTensorRT-LLM(NVIDIA 平台,极致性能)
trtllm-servehttp://: CLASSIFIER_BASE_URL=http://:
CLASSIFIER_MODEL=llama.cpp(CPU / AMD 平台备用方案)
llama-server -m model.gguf --port 8080http://localhost:8080CLASSIFIER_BASE_URL=http://localhost:8080
CLASSIFIER_MODEL=Docker
使用 Redis 构建并运行路由器:
docker compose -f deploy/docker-compose.yml up --build
硬件检测
执行命令:
npm run check-hw
输出推荐的推理引擎:
tensorrt-llmvllmmlxllama.cpp模型列表获取机制
/v1/models/v1/models/v1beta/models/v1/modelsscripts/cloud_model_catalog.json 文件。Star 历史
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章