需把 agent harness 指向 Router 的推理端点,并使用 vllm-sr/auto 这类公开模型 ID;pip、uv 或 agent 驱动的安装方式需另查安装指南;README 未说明默认端口与后端依赖

semantic-router
vllm-projectApache-2.0活跃维护面向 LLM 推理的可编程语义路由层,按请求语义把流量分发到不同模型和算力,并内置护栏与 K8s 集成。
An open, programmable decision layer for models and compute.
curl -fsSL https://vllm-sr.ai/install.sh | bash -s -- --channel stableREADME 未说明
给 agent harness 一个统一 API,按策略为每次调用选择或组合多个模型
面向 LLM 推理的可编程语义路由层,按请求语义把流量分发到不同模型和算力,并内置护栏与 K8s 集成。
核心能力
- 用统一推理端点接入多个模型后端
- 按策略为每次调用选择或组合模型
- 在本地、私有与云端算力间路由
- 按质量、延迟、成本偏好设定策略
- 支持公开模型 ID vllm-sr/auto 调用
容易踩的坑
- v0.4.0Release v0.4.0最新正式版2026-09-27 · 2026-09-27 06:59 UTC
Announcement
982 commits · 130 contributors · 107 first-time contributors since Themis. This is a milestone built by a growing community across models, runtime, evaluation, and the experience of putting it all to work.
Read the full release blog 🎉
Python
pip install vllm-sr==0.4.0New Contributors
- @xiaoyu-xyz made their first contribution in https://github.com/vllm-project/semantic-router/pull/2061
- @wyf027 made their first contribution in https://github.com/vllm-project/semantic-router/pull/2187
- @omkar-334 made their first contribution in https://github.com/vllm-project/semantic-router/pull/2196
- @danehans made their first contribution in https://github.com/vllm-project/semantic-router/pull/2199
- @MilindRastogi24 made their first contribution in https://github.com/vllm-project/semantic-router/pull/2273
- @TwilightTechie made their first contribution in https://github.com/vllm-project/semantic-router/pull/2232
- @kunalpandey1 made their first contribution in https://github.com/vllm-project/semantic-router/pull/2309
- @Aastha204 made their first contribution in https://github.com/vllm-project/semantic-router/pull/2409
- @haritha3320 made their first contribution in https://github.com/vllm-project/semantic-router/pull/2416
- @Raghul-M made their first contribution in https://github.com/vllm-project/semantic-router/pull/2483
- @xiongzubiao made their first contribution in https://github.com/vllm-project/semantic-router/pull/2418
- @iroiro147 made their first contribution in https://github.com/vllm-project/semantic-router/pull/2510
- @lxingy3 made their first contribution in https://github.com/vllm-project/semantic-router/pull/2519
- @adaamko made their first contribution in https://github.com/vllm-project/semantic-router/pull/2560
- @orangeCatDeveloper made their first contribution in https://github.com/vllm-project/semantic-router/pull/2574
- @pollychen-lab made their first contribution in https://github.com/vllm-project/semantic-router/pull/2601
- @benhurstephen made their first contribution in https://github.com/vllm-project/semantic-router/pull/2563
- @EuclidStellar made their first contribution in https://github.com/vllm-project/semantic-router/pull/2609
- @arijitroy003 made their first contribution in https://github.com/vllm-project/semantic-router/pull/2651
- @aaditraj made their first contribution in https://github.com/vllm-project/semantic-router/pull/2618
- @raghavchitkara36 made their first contribution in https://github.com/vllm-project/semantic-router/pull/2698
- @duchangyong made their first contribution in https://github.com/vllm-project/semantic-router/pull/2736
- @pranavthakur0-0 made their first contribution in https://github.com/vllm-project/semantic-router/pull/2526
- @ankit373 made their first contribution in https://github.com/vllm-project/semantic-router/pull/2776
- @abhinav-m22 made their first contribution in https://github.com/vllm-project/semantic-router/pull/2746
- @olifarhaan made their first contribution in https://github.com/vllm-project/semantic-router/pull/2818
- @nandi19k made their first contribution in https://github.com/vllm-project/semantic-router/pull/2846
- @uuzzrm made their first contribution in https://github.com/vllm-project/semantic-router/pull/2874
- @chethanuk made their first contribution in https://github.com/vllm-project/semantic-router/pull/2870
- @fzlzjerry made their first contribution in https://github.com/vllm-project/semantic-router/pull/2872
- @AmirF194 made their first contribution in https://github.com/vllm-project/semantic-router/pull/2891
- @muchengl made their first contribution in https://github.com/vllm-project/semantic-router/pull/2906
- @csarushan1729 made their first contribution in https://github.com/vllm-project/semantic-router/pull/2945
- @aakankshabhende made their first contribution in https://github.com/vllm-project/semantic
- v0.3.0Release v0.3.02026-06-05 · 2026-06-05 12:08 UTC
查看更新说明
Release v0.3.0
Container Images (GHCR)
Always pin to a version tag in production — it is immutable.
docker pull ghcr.io/vllm-project/semantic-router/extproc:v0.3.0 docker pull ghcr.io/vllm-project/semantic-router/vllm-sr:v0.3.0 docker pull ghcr.io/vllm-project/semantic-router/anthropic-shim:v0.3.0 docker pull ghcr.io/vllm-project/semantic-router/dashboard:v0.3.0 docker pull ghcr.io/vllm-project/semantic-router/operator:v0.3.0 docker pull ghcr.io/vllm-project/semantic-router/operator-bundle:v0.3.0Image Tags pushed extprocv0.3.0·latestvllm-srv0.3.0·latestanthropic-shimv0.3.0·latestextproc-rocmv0.3.0·latestvllm-sr-rocmv0.3.0·latestllm-katanv0.3.0·latestdashboardv0.3.0·latestoperatorv0.3.0·latestoperator-bundlev0.3.0·latestHelm Chart
# Install a specific version helm install semantic-router \ oci://ghcr.io/vllm-project/charts/semantic-router \ --version 0.3.0 \ --namespace vllm-semantic-router-system --create-namespace # Upgrade to this version helm upgrade semantic-router \ oci://ghcr.io/vllm-project/charts/semantic-router \ --version 0.3.0 \ --namespace vllm-semantic-router-systemPython Package (PyPI)
pip install vllm-sr==0.3.0Rust Crate (crates.io)
[dependencies] candle-semantic-router = "0.3.0"
vllm-sr-sim ships on its own
vllm-sr-sim-v*tag and is currently at0.1.0.See the upgrade and rollback runbook for step-by-step upgrade and rollback instructions.
What's Changed
- security: sanitize error responses to prevent infrastructure leakage by @yossiovadia in https://github.com/vllm-project/semantic-router/pull/1451
- [Dashboard]Polish dashboard auth and setup flow by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/1494
- [Doc] Update paper: Add author, Kubernetes note by @srampal in https://github.com/vllm-project/semantic-router/pull/1493
- [Doc] tolerate README admonition list style by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/1495
- [Dashboard]: Fix OpenClaw room chat history management by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/1503
- fix(dashboard): stop setup wizard validation loop by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/1504
- project: add roadmap for v0.3 by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/1527
- Fix traditional Candle BERT classifier registration after initialization by @pugafran in https://github.com/vllm-project/semantic-router/pull/1496
- test(memory): align e2e tests with direct per-turn storage flow by @yehuditkerido in https://github.com/vllm-project/semantic-router/pull/1433
- [Misc] Fix memory E2E tests with black by @drivebyer in https://github.com/vllm-project/semantic-router/pull/1543
- [CLI][CI/Build] Support isolated local stacks and harness routing by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/1542
- website: refine homepage system-brain narrative by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/1545
- [Bugfix][Router] Wrong /v1-suffixed OpenAI base URLs for vector store search by @drivebyer in https://github.com/vllm-project/semantic-router/pull/1541
- feat(classification): add entropy-based multi-category domain matching and signal confidence scores by @noalimoy in https://github.com/vllm-project/semantic-router/pull/1497
- observability: add Prometheus metric and tracing for cache write skips by @mkoushni in https://github.com/vllm-project/semantic-router/pull/1529
- feat(domain-signal): add UseModernBERT factory branch for category classifier by @noalimoy in https://github
- v0.2.0Release v0.2.02026-03-10 · 2026-03-10 09:09 UTC
查看更新说明
Installation
curl -fsSL https://vllm-semantic-router.com/install.sh | bashWhat's Changed
See the full changelog below.
What's Changed
- [Bugfix] Fix getRecommendedModel to return real model names from config by @henschwartz in https://github.com/vllm-project/semantic-router/pull/933
- [CI] test(response-api): add E2E translation tests for Response API by @tao12345666333 in https://github.com/vllm-project/semantic-router/pull/881
- [Doc] Fix installation typo by @shernshiou in https://github.com/vllm-project/semantic-router/pull/965
- [CI] ci(e2e): add Response API K8s integration test workflow by @tao12345666333 in https://github.com/vllm-project/semantic-router/pull/882
- fix: initialize batched embedding modelfor qwen3 semantic cache by @liavweiss in https://github.com/vllm-project/semantic-router/pull/954
- fix(dashboard): resolve config update permission denied error by @henschwartz in https://github.com/vllm-project/semantic-router/pull/962
- docs: fix index dsiplay error by @yuluo-yx in https://github.com/vllm-project/semantic-router/pull/959
- [CI/Build][Dashboard] Fix OpenShift config map paths and dashboard build by @nerdalert in https://github.com/vllm-project/semantic-router/pull/951
- test(dashboard): add file persistence tests for config updates by @henschwartz in https://github.com/vllm-project/semantic-router/pull/963
- [Doc] website versions multilingual for release v0.1 by @samzong in https://github.com/vllm-project/semantic-router/pull/925
- feat(vllm-sr): add dashboard support to Python CLI by @yehuditkerido in https://github.com/vllm-project/semantic-router/pull/960
- fix(dashboard): return 404 instead of 500 when tools_db.json not found by @henschwartz in https://github.com/vllm-project/semantic-router/pull/972
- [Bugfix] Fix PII mapping path to match deployed model directory by @nerdalert in https://github.com/vllm-project/semantic-router/pull/970
- feat: re-enable EmbeddingGemma-300m support by @liavweiss in https://github.com/vllm-project/semantic-router/pull/816
- feat [llm-katan] Support running llm-katan on XPU Platform by @chaojun-zhang in https://github.com/vllm-project/semantic-router/pull/969
- [Misc] 🔧 chore(pre-commit): show file count instead of list by @samzong in https://github.com/vllm-project/semantic-router/pull/968
- [Misc] 🔧 chore(make): add deps.mk for func-e and unified external binary tool management by @samzong in https://github.com/vllm-project/semantic-router/pull/886
- Fix(CI): Resolve The E2E Testing by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/1013
- feat(dashboard): add Python CLI config format support by @yehuditkerido in https://github.com/vllm-project/semantic-router/pull/1019
- feat(cli): add Podman container runtime support by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/982
- [Misc]: remove legacy Kustomize manifests in favor of Helm chart by @abdallahsamabd in https://github.com/vllm-project/semantic-router/pull/978
- [Feat] implement Signal Parallelism in EvaluateAllSignals by @GOavi101 in https://github.com/vllm-project/semantic-router/pull/1023
- [Feat][CI/Build] Add OpenShift simulator backend for vSR by @nerdalert in https://github.com/vllm-project/semantic-router/pull/981
- [Feat] Add multi-model routing demo by @anushapant in https://github.com/vllm-project/semantic-router/pull/1025
- [Feat]: Enable CLI-based Helm deployment with smart defaults by @abdallahsamabd in https://github.com/vllm-project/semantic-router/pull/957
- Optimize: Speed-Up Signal Extraction by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/1027
- fix: set file descriptor limits to 65536 to resolve Envoy initialization failure by @liavweiss in https://github.com/vllm-project/semantic-router/pull/1026
- [Bugfix] Fix keyword matching i
- v0.1.0Release v0.1.02026-01-05 · 2026-01-05 05:59 UTC
查看更新说明
Release Blog: https://blog.vllm.ai/2026/01/05/vllm-sr-iris.html
What's Changed
- feat: support auto-enable reasoning mode based on intention by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/1
- fix: remove no needed todo and verify CI by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/2
- project: add bench and site owners by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/4
- project: add code of conduct by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/5
- chore: unify docker images by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/6
- fix: use the correct go test file name. by @yafengio in https://github.com/vllm-project/semantic-router/pull/7
- ci: disable notify action for now by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/10
- docs: semantic cache stale types and implementation by @gluonfield in https://github.com/vllm-project/semantic-router/pull/9
- chore: rm readthedocs as its deprecated by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/12
- Removed redundant / from code img by @tao12345666333 in https://github.com/vllm-project/semantic-router/pull/13
- chore: Update CONTRIBUTING.md by @cryo-zd in https://github.com/vllm-project/semantic-router/pull/17
- chore: add DCO requirement in CONTRIBUTING.md by @cryo-zd in https://github.com/vllm-project/semantic-router/pull/18
- fix(cache): cleanup expired cache entries during update operations by @QIN2DIM in https://github.com/vllm-project/semantic-router/pull/16
- chore(logging): unify the logging method by @ZeroZ-lab in https://github.com/vllm-project/semantic-router/pull/19
- fix:make reasoning effort configurable by @OneZero-Y in https://github.com/vllm-project/semantic-router/pull/21
- docs: add vsr star history diagram by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/26
- docs: add repo link in CONTRIBUTING.md by @cryo-zd in https://github.com/vllm-project/semantic-router/pull/27
- project: add acknowledgements to huggingface-candle by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/28
- chore: replace fmt.Printf with log.Printf for logging by @cryo-zd in https://github.com/vllm-project/semantic-router/pull/29
- doc: update workflow to create config.yaml by @rootfs in https://github.com/vllm-project/semantic-router/pull/30
- feat: implement batch classification API by @OneZero-Y in https://github.com/vllm-project/semantic-router/pull/24
- chore: 1) install rust if not present 2) expose bench params in env var by @rootfs in https://github.com/vllm-project/semantic-router/pull/54
- feat: Add comprehensive monitoring metrics for batch classification API by @OneZero-Y in https://github.com/vllm-project/semantic-router/pull/58
- docs: add pre-commit requirement code quality checks to contributing by @OneZero-Y in https://github.com/vllm-project/semantic-router/pull/60
- feat: reasoning model controller by @tao12345666333 in https://github.com/vllm-project/semantic-router/pull/56
- test: add unit tests for getModelFamilyAndTemplateParam by @tao12345666333 in https://github.com/vllm-project/semantic-router/pull/63
- docs: add reasoning model metrics by @tao12345666333 in https://github.com/vllm-project/semantic-router/pull/64
- feat: add test framework for classifier with dependency injection by @aeft in https://github.com/vllm-project/semantic-router/pull/57
- project: add vllm semantic router v0.1 roadmap by @Xunzhuo in https://github.com/vllm-project/semantic-router/pull/22
- test: add unit test around ttft pkg by @yuluo-yx in https://github.com/vllm-project/semantic-router/pull/68
- feat: code polish on classifier by @yuluo-yx in https://github.com/vllm-project/semantic-router/pull/67
- feat: robust model name filter for DeepSeek by @tao12
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
About
Intelligence beyond any one model.
Give your agent harness one API for many models. vLLM Semantic Router selects or combines models for each call, guided by your policy.
Your harness keeps the agent loop, tools, and task state. The Router chooses among configured backends across local, private, and cloud compute.
| Dimension | Fragmented today | With vLLM SR |
|---|---|---|
| Models | Different models excel at different tasks. | Select or combine models. |
| Compute | Hardware varies in speed and capacity. | Choose among configured backends. |
| Location | Edge, private, and cloud. | Keep calls within approved locations. |
| Preference | Priorities change by task. | Set quality, latency, and cost priorities. |
Getting Started
Install
curl -fsSL https://vllm-sr.ai/install.sh | bash -s -- --channel stable
For pip, uv, or agent-driven installation, see the Installation Guide.
Connect your agent harness
Point your harness at the Router's inference endpoint. Use a public model ID such as vllm-sr/auto.
Follow Connect an agent harness for setup and compatibility.
Online playground
Try the online playground at https://app.vllm-sr.ai/playground.
Credentials:
- Username:
[email protected] - Password:
vllm-sr-read
Latest News
- [2026/10/14] d3 ranks #1 on text and vision in the Jev Decision Index, with smaller sizes on the Pareto frontier.
- [2026/10/14] Decision 3.0, Decision 2.0, and Vela 2.0 reached Hugging Face Trending Collections.
- [2026/10/06] Vela 2.0: Towards Open Foundation Routing Models
- [2026/09/24] vLLM Semantic Router v0.4 Hermes: Many Models, One Improving System
- [2026/09/22] Introducing Decision 1.0: Open Decision Foundation Models
- [2026/09/18] Introducing Vela 1.0
- [2026/08/24] Find Your Focus: How to Join and Work Together
- [2026/08/05] LettuceDetect v2 in Semantic Router: Generative Hallucination Detection as a vLLM Endpoint
- [2026/07/21] Beyond a Single Model: Building Mixture-of-Models Systems with vLLM Semantic Router
- [2026/07/09] Adding Cursor-Style Auto Model Selection to OpenCode with vLLM Semantic Router
- [2026/06/29] Micro-Agent: Beat Frontier Models with Collaboration inside Model API
- [2026/06/16] Beyond One Model: Fusion in vLLM Semantic Router
- [2026/06/05] vLLM Semantic Router v0.3 Themis: From Signals to Stateful Production Routing
- [2026/03/24] Vision Paper Released: The Workload-Router-Pool Architecture for LLM Inference Optimization
- [2026/03/10] v0.2 Released: vLLM Semantic Router v0.2 Athena Release
- [2026/02/27] White Paper Released: Signal Driven Decision Routing for Mixture-of-Modality Models
- [2026/01/05] Iris v0.1 Released: vLLM Semantic Router v0.1 Iris: The First Major Release
- [2025/12/16] Collaboration: AMD × vLLM Semantic Router: Building the System Intelligence Together
- [2025/12/15] New Blog: Token-Level Truth: Real-Time Hallucination Detection for Production LLMs
- [2025/11/19] New Blog: Signal-Decision Driven Architecture: Reshaping Semantic Routing at Scale
- [2025/11/03] Paper Published: Category-Aware Semantic Caching for Heterogeneous LLM Workloads
- [2025/10/27] New Blog: Scaling Semantic Routing with Extensible LoRA
- [2025/10/12] Paper Accepted: When to Reason: Semantic Router for vLLM
- [2025/10/08] Collaboration: vLLM Semantic Router with vLLM Production Stack Team.
- [2025/09/01] Released the project: vLLM Semantic Router: Next Phase in LLM inference.
More announcements are available on the Blog and Publications pages.
Community
For questions, feedback, or to contribute, please join the #semantic-router channel in vLLM Slack.
Track contributors, workgroups, and weekly activity at community.vllm-sr.ai.
Community Meetings
We host two monthly community meetings across APAC and the Americas:
- APAC-friendly meeting — second Wednesday of the month: 9:00-10:00 AM Singapore time (UTC+8; the same local time in Beijing)
- Americas-friendly meeting — fourth Wednesday of the month: 8:00-9:00 PM Eastern Time (
America/New_York) / 5:00-6:00 PM Pacific Time
Contributing
If you want to contribute, start with CONTRIBUTING.md.
For repository-native development workflow and validation commands, use AGENTS.md as the entrypoint and tools/agent/docs/README.md as the canonical index.
Citation
If you find Semantic Router helpful in your research or projects, please consider citing it:
@misc{semanticrouter2025,
title={vLLM Semantic Router},
author={vLLM Semantic Router Team},
year={2025},
howpublished={\url{https://github.com/vllm-project/semantic-router}},
}
Ecosystem & partnerships
An open ecosystem spanning research, infrastructure, and enterprise adoption.