[{"data":1,"prerenderedAt":228},["ShallowReactive",2],{"blog-smart-routes":3,"surround-smart-routes":188,"i-tabler:menu-2":193,"i-tabler:download":198,"i-tabler:chevron-down":200,"i-tabler:route":202,"i-tabler:key":204,"i-tabler:activity":206,"i-tabler:arrow-right":208,"i-tabler:mail":210,"i-tabler:brand-discord":212,"i-tabler:brand-x":214,"i-tabler:brand-youtube":216,"i-tabler:brand-linkedin":218,"i-tabler:brand-facebook":220,"i-tabler:brand-instagram":222,"i-tabler:brand-tiktok":224,"i-tabler:arrow-up-right":226},{"id":4,"title":5,"author":6,"body":7,"canonical":173,"date":174,"description":175,"extension":176,"image":14,"meta":177,"navigation":178,"ogImage":173,"path":179,"seo":180,"stem":181,"tags":182,"twitterCard":186,"__hash__":187},"blog/blog/smart-routes.md","Msty Nexus Smart Routes Put the Right Model Behind Every Request","Nancy Parajuli",{"type":8,"value":9,"toc":164},"minimark",[10,15,19,22,25,28,33,36,39,58,61,69,74,77,82,86,89,94,97,100,103,107,110,113,116,120,123,126,146,149,154,158,161],[11,12],"blog-image",{"alt":13,"src":14},"Msty Nexus Smart Routes artwork showing route packs, target models, fallback routing, and route decision visibility","/blog/smart-routes/preview-image-smart-route.webp",[16,17,18],"p",{},"Choosing the right model should not slow users down.",[16,20,21],{},"As model usage grows across more workflows, manual selection becomes harder to trust. Users need to know which model fits the request, when to switch, and what happens when the selected model is unavailable. That creates friction, inconsistent behavior, unnecessary spend, and avoidable routing risk.",[16,23,24],{},"We released Smart Routes to move that decision into Nexus, where routing can be managed request by request without making the user experience more complicated.",[16,26,27],{},"With Smart Routes, users choose a route from the same model selector they already use in Msty Studio or Claw, while Nexus handles model selection in the background. This way, you can keep working without having to think about what model to use for your prompts. Just let Nexus decide the best model for you based on the prompt you are sending.",[29,30,32],"h2",{"id":31},"from-model-guesswork-to-managed-routing","From Model Guesswork to Managed Routing",[16,34,35],{},"Model choice is manageable when there are only one or two options. It becomes inconsistent when each request has different requirements.",[16,37,38],{},"Without Smart Routes, users and clients have to decide:",[40,41,42,46,49,52,55],"ul",{},[43,44,45],"li",{},"which model fits the request",[43,47,48],{},"when to switch models",[43,50,51],{},"whether speed or deeper reasoning matters more",[43,53,54],{},"when a lower-cost model is enough",[43,56,57],{},"how to recover when the selected model is unavailable",[16,59,60],{},"We built Smart Routes to remove that model-selection burden from the user experience.",[16,62,63,64,68],{},"A Smart Route gives users one route to select, while Nexus uses a route pack to manage the target routes and fallback model. For clients and API workflows, the same route is available as a synthetic model value like ",[65,66,67],"code",{},"@route/research",".",[11,70],{"alt":71,"src":72,"caption":73},"Route Packs list showing one ready route pack with three routes.","/blog/smart-routes/route-packs-exposed.webp","Route packs appear in the Routes tab with readiness state and route count.",[16,75,76],{},"A route pack keeps the routing inputs in one place: route name, target model, fallback model, enabled state, and route descriptions.",[11,78],{"alt":79,"src":80,"caption":81},"Route Pack editor showing a fallback model and model value.","/blog/smart-routes/fallback-first-reliability.webp","Each route pack keeps a fallback model and a stable `@route/...` model value.",[29,83,85],{"id":84},"how-smart-routes-work","How Smart Routes Work",[16,87,88],{},"When a supported generation request uses a Smart Route, Nexus loads the matching route pack and reviews the request text against the route names and descriptions. The local router classifier chooses the route that best matches the request.",[11,90],{"alt":91,"src":92,"caption":93},"Route Pack editor showing a route name, target model, and description.","/blog/smart-routes/local-router-classifications.webp","Route descriptions give the local classifier the context it needs to choose a route.",[16,95,96],{},"Once a route is selected, Nexus maps it to a concrete model ID and rewrites the request before calling the provider. Users keep one stable route name, while the provider receives a standard request with the selected model.",[16,98,99],{},"Smart Routes use a small local router model prepared through Nexus-managed runtime jobs. The router model can run on MLX, llama.cpp, or Ollama.",[16,101,102],{},"Smart Routes can be created using OpenAI chat completions, OpenAI responses, and Anthropic messages. Embeddings, token counting, and compact sibling are not supported in Smart Routes at this time because routing depends on request text from generation calls.",[29,104,106],{"id":105},"fallbacks-and-gateway-control","Fallbacks and Gateway Control",[16,108,109],{},"We built Smart Routes to improve model selection when routing is available and keep requests moving when fallback is needed.",[16,111,112],{},"If classification is unavailable, slow, invalid, or selects a target that cannot be used, Nexus falls back to the configured fallback model. That protects requests from missing router models, classifier timeouts, invalid classifier output, unavailable route targets, and requests without routeable text.",[16,114,115],{},"Smart Routes also keep the routing boundary inside Nexus. Route metadata is allow-listed, provider credentials stay protected by the gateway, and providers receive the selected model request without the Smart Route configuration.",[29,117,119],{"id":118},"why-smart-routes-make-routing-easier-to-trust","Why Smart Routes Make Routing Easier to Trust",[16,121,122],{},"Smart Routes make routing easier to trust by moving model selection into Nexus, keeping fallback behavior explicit, and making route decisions easier to observe.",[16,124,125],{},"With Smart Routes, you get:",[40,127,128,131,134,137,140,143],{},[43,129,130],{},"one stable route name for users and clients",[43,132,133],{},"local route classification inside Nexus",[43,135,136],{},"standard model requests sent to providers",[43,138,139],{},"explicit fallback behavior when routing cannot select a usable target",[43,141,142],{},"safer routing boundaries for credentials and route metadata",[43,144,145],{},"route-level visibility without exposing sensitive content",[16,147,148],{},"Nexus records safe route decision metadata such as the route pack slug, selected route ID, resolved model ID, provider ID, fallback status, and fallback reason. It does not expose prompt text, classifier output, route descriptions, headers, or credentials.",[11,150],{"alt":151,"src":152,"caption":153},"Smart Route paths panel showing selected routes, fallback usage, request counts, and target models.","/blog/smart-routes/route-level-usage-visibility.webp","Smart Route paths show request counts, selected routes, fallback use, fallback reasons, and resolved target models without exposing prompt text.",[29,155,157],{"id":156},"a-simpler-way-to-route-every-request","A Simpler Way to Route Every Request",[16,159,160],{},"We built Smart Routes so users don't have to worry about which models to use for the job-to-be-done or to switch between models during their workflows.",[16,162,163],{},"With Smart Routes, Nexus makes model selection automatic, keeps fallback behavior explicit, protects the gateway boundary, and gives clearer visibility into route decisions.",{"title":165,"searchDepth":166,"depth":166,"links":167},"",2,[168,169,170,171,172],{"id":31,"depth":166,"text":32},{"id":84,"depth":166,"text":85},{"id":105,"depth":166,"text":106},{"id":118,"depth":166,"text":119},{"id":156,"depth":166,"text":157},null,"20260727","Smart Routes help Nexus choose the right model for each request with route packs, local classification, explicit fallbacks, and safer routing behavior.","md",{},true,"/blog/smart-routes",{"title":5,"description":175},"blog/smart-routes",[183,184,185],"msty-nexus","smart-routes","gateway-routing","summary_large_image","EP-0gX3QuFkqnCcnqjfUO8o2BeFM_8l2-ZH7EjU7ZZM",[173,189],{"title":190,"path":191,"stem":192,"children":-1},"Msty Nexus 0.3.0: Clearer Usage, Broader Routes, and Better Local Model Control","/blog/msty-nexus-0.3.0","blog/msty-nexus-0.3.0",{"left":194,"top":194,"width":195,"height":195,"rotate":194,"vFlip":196,"hFlip":196,"body":197},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 6h16M4 12h16M4 18h16\"/>",{"left":194,"top":194,"width":195,"height":195,"rotate":194,"vFlip":196,"hFlip":196,"body":199},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2M7 11l5 5l5-5m-5-7v12\"/>",{"left":194,"top":194,"width":195,"height":195,"rotate":194,"vFlip":196,"hFlip":196,"body":201},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 9l6 6l6-6\"/>",{"left":194,"top":194,"width":195,"height":195,"rotate":194,"vFlip":196,"hFlip":196,"body":203},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 19a2 2 0 1 0 4 0a2 2 0 0 0-4 0M19 7a2 2 0 1 0 0-4a2 2 0 0 0 0 4m-8 12h5.5a3.5 3.5 0 0 0 0-7h-8a3.5 3.5 0 0 1 0-7H13\"/>",{"left":194,"top":194,"width":195,"height":195,"rotate":194,"vFlip":196,"hFlip":196,"body":205},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1-4.069 0l-.301-.301l-6.558 6.558a2 2 0 0 1-1.239.578L5.172 21H4a1 1 0 0 1-.993-.883L3 20v-1.172a2 2 0 0 1 .467-1.284l.119-.13L4 17h2v-2h2v-2l2.144-2.144l-.301-.301a2.877 2.877 0 0 1 0-4.069l2.643-2.643a2.877 2.877 0 0 1 4.069 0M15 9h.01\"/>",{"left":194,"top":194,"width":195,"height":195,"rotate":194,"vFlip":196,"hFlip":196,"body":207},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 12h4l3 8l4-16l3 8h4\"/>",{"left":194,"top":194,"width":195,"height":195,"rotate":194,"vFlip":196,"hFlip":196,"body":209},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-6 6l6-6m-6-6l6 6\"/>",{"left":194,"top":194,"width":195,"height":195,"rotate":194,"vFlip":196,"hFlip":196,"body":211},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M3 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"/>\u003Cpath d=\"m3 7l9 6l9-6\"/>\u003C/g>",{"left":194,"top":194,"width":195,"height":195,"rotate":194,"vFlip":196,"hFlip":196,"body":213},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M8 12a1 1 0 1 0 2 0a1 1 0 0 0-2 0m6 0a1 1 0 1 0 2 0a1 1 0 0 0-2 0\"/>\u003Cpath d=\"M15.5 17c0 1 1.5 3 2 3c1.5 0 2.833-1.667 3.5-3c.667-1.667.5-5.833-1.5-11.5c-1.457-1.015-3-1.34-4.5-1.5l-.972 1.923a11.9 11.9 0 0 0-4.053 0L9 4c-1.5.16-3.043.485-4.5 1.5c-2 5.667-2.167 9.833-1.5 11.5c.667 1.333 2 3 3.5 3c.5 0 2-2 2-3\"/>\u003Cpath d=\"M7 16.5c3.5 1 6.5 1 10 0\"/>\u003C/g>",{"left":194,"top":194,"width":195,"height":195,"rotate":194,"vFlip":196,"hFlip":196,"body":215},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m4 4l11.733 16H20L8.267 4zm0 16l6.768-6.768m2.46-2.46L20 4\"/>",{"left":194,"top":194,"width":195,"height":195,"rotate":194,"vFlip":196,"hFlip":196,"body":217},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M2 8a4 4 0 0 1 4-4h12a4 4 0 0 1 4 4v8a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4z\"/>\u003Cpath d=\"m10 9l5 3l-5 3z\"/>\u003C/g>",{"left":194,"top":194,"width":195,"height":195,"rotate":194,"vFlip":196,"hFlip":196,"body":219},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M8 11v5m0-8v.01M12 16v-5m4 5v-3a2 2 0 1 0-4 0\"/>\u003Cpath d=\"M3 7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4z\"/>\u003C/g>",{"left":194,"top":194,"width":195,"height":195,"rotate":194,"vFlip":196,"hFlip":196,"body":221},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 10v4h3v7h4v-7h3l1-4h-4V8a1 1 0 0 1 1-1h3V3h-3a5 5 0 0 0-5 5v2z\"/>",{"left":194,"top":194,"width":195,"height":195,"rotate":194,"vFlip":196,"hFlip":196,"body":223},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M4 8a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v8a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4z\"/>\u003Cpath d=\"M9 12a3 3 0 1 0 6 0a3 3 0 0 0-6 0m7.5-4.5v.01\"/>\u003C/g>",{"left":194,"top":194,"width":195,"height":195,"rotate":194,"vFlip":196,"hFlip":196,"body":225},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M21 7.917v4.034A9.95 9.95 0 0 1 16 10v4.5a6.5 6.5 0 1 1-8-6.326V12.5a2.5 2.5 0 1 0 4 2V3h4.083A6.005 6.005 0 0 0 21 7.917\"/>",{"left":194,"top":194,"width":195,"height":195,"rotate":194,"vFlip":196,"hFlip":196,"body":227},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M17 7L7 17M8 7h9v9\"/>",1785181741209]