[{"data":1,"prerenderedAt":336},["ShallowReactive",2],{"project-49911500":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":9,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":41,"post_text":43,"what":44,"said":80,"maker_in_thread":176,"shape":189,"grid":193,"attempts":298,"same_week":299,"maker_shows":190,"maker_hidden":327,"reader_version":328,"card":329},"49911500","Weave Router","Open-source model routing for coding agents at Astra-level performance","title","Show HN: Open-source model routing for coding agents at Astra-level performance",null,"adchurch",1790787504,2026,123,42,534,4366,13,"notable","dev_tools","model routing for coding agents","library",[23,24,25,26],"model router","coding agents","llm routing","claude code","curious",0.063,{"positive":30,"neutral":31,"mixed":32,"critical":30},3,17,0,23,{"performance":35,"idea":36,"execution":39,"pricing":40},{"positive":32,"critical":32},{"positive":37,"critical":38},1,2,{"positive":32,"critical":37},{"positive":32,"critical":32},[30,30,32,32,32,30,30,32,32,30,30,30,32,30,32,37,32,37,32,30,42,32,37,32,30,32,30,32,30,32,30,30,30,32,30,32,42,42,30,32],5,"A few months ago we started building a model router for coding agents because we thought we could outperform any single model with an ensemble approach. Recently we’ve achieved that milestone and I want to talk about how we did it.\n\nFirst of all, a quick explanation: the Weave Router (https:\u002F\u002Fgithub.com\u002Fweave-os\u002Frouter) plugs into any coding agent (e.g. Claude Code or Codex) and intelligently switches between LLMs. So, for example, Astra handles tricky debugging or complex system design tasks, and Deepseek v4 Flash handles simple frontend updates.\n\nWhat we’re announcing today is our new routin",{"problem":45,"audience":51,"pricing":56,"motivation":60,"time_to_build":9,"stack":64,"openness":77,"stage":78,"team_size":79},{"value":46,"source":47,"evidence":48},"Choosing which LLM to use per turn in coding agent sessions to balance performance and cost.","maker",[49],{"id":50},"post",{"value":52,"source":53,"evidence":54},"Developers using coding agents such as Claude Code or Codex.","inferred",[55],{"id":50},{"value":57,"source":47,"evidence":58},"Self-hosted open source version; hosted version also offered, pricing not stated.",[59],{"id":50},{"value":61,"source":47,"evidence":62},"Believed an ensemble of models could outperform any single model.",[63],{"id":50},[65,69,73],{"value":66,"source":47,"evidence":67},"Hidden Markov model for session state",[68],{"id":50},{"value":70,"source":47,"evidence":71},"Classifier over model buckets",[72],{"id":50},{"value":74,"source":47,"evidence":75},"Reinforcement learning for routing",[76],{"id":50},"open_source","launched","unknown",{"praise":81,"objections":90,"requests":104,"questions":123,"alternatives":149},[82],{"value":83,"source":84,"evidence":85},"Multi-model systems seen as better than single models for complex tasks.","commenter",[86],{"id":87,"by":88,"text":89},"49929701","devmor","I would like to see this (and any model router, frankly) benchmarked against two things, personally: 1) Claude Code's \"advisor mode\" (nominally, Sonnet 5.5 with a Fable advisor)…",[91,97],{"value":92,"source":84,"evidence":93},"Benchmarks from the maker are synthetic and not trusted by some commenters.",[94],{"id":95,"by":88,"text":96},"49935330","I’m not really sure, I can’t say I trust any kind of synthetic AI benchmarks. > Also I’m very interested in the unique failure cases you’re referring to! What have you noticed?…",{"value":98,"source":84,"evidence":99},"Frontier-labeled training data may limit exceeding frontier model performance.",[100],{"id":101,"by":102,"text":103},"49927371","svnt","If you are training on data labeled by frontier models, how do you expect to exceed the performance of frontier models, other than in the cost dimension by recognizing simpler…",[105,112,119],{"value":106,"source":84,"evidence":107},"Support for local or LAN hosted open-weight models.",[108],{"id":109,"by":110,"text":111},"49927366","gitowiec","Can it route to locally or LAN hosted Qwen or some other open weights model?",{"value":113,"source":84,"evidence":114},"Support for GitHub Copilot as a provider.",[115],{"id":116,"by":117,"text":118},"49928979","361994752","Sounds very interesting. Do you have plan to support gh copilot as model provider?",{"value":120,"source":84,"evidence":121},"Benchmarks against Claude Code advisor mode and Copilot HydraFusion.",[122],{"id":87,"by":88,"text":89},[124,131,142],{"value":125,"source":84,"evidence":126},"How does it compare to Cursor auto mode?",[127],{"id":128,"by":129,"text":130},"49925486","thefourthchime","Interesting work, and thanks for describing how your router works internally. It's definitely a fascinating subject. How would you say this compares to Cursor's auto mode?",{"value":132,"source":84,"evidence":133},"How are non-cache input tokens and provider variance handled?",[134,138],{"id":135,"by":136,"text":137},"49931398","capocasa","That sounds really quite interesting- one question pops up, this sounds like it could produce a lot of non-cache input tokens. How much impact does this have, and are you…",{"id":139,"by":140,"text":141},"49926948","ajspig1","How do you handle provider variance on OpenRouter for the opensource models? Or do you use your own hosted version to mitigate this? And for both opensource and closed source,…",{"value":143,"source":84,"evidence":144},"Is the trained model available as open weights?",[145],{"id":146,"by":147,"text":148},"49925019","redrove","Is the model you trained available as open weights?",[150,154,165,169],{"value":151,"source":84,"evidence":152},"Cursor auto mode",[153],{"id":128,"by":129,"text":130},{"value":155,"source":84,"evidence":156},"Copilot auto mode and HydraFusion",[157,161],{"id":158,"by":159,"text":160},"49925581","aschla","And similarly, Copilot’s Auto mode?",{"id":162,"by":163,"text":164},"49929680","ryanhecht","You might be interested in GitHub's native take on this concept, HydraFusion:…",{"value":166,"source":84,"evidence":167},"Claude Code advisor mode",[168],{"id":87,"by":88,"text":89},{"value":170,"source":84,"evidence":171},"Jev",[172],{"id":173,"by":174,"text":175},"49929524","dackdel","what about jev",{"comments":177,"answered":178,"key":179},15,11,[180,183,186],{"id":181,"text":182},"49927566","I haven't tried it as recently but last time I checked they only route once per session (or subagent). Imo this is basically impossible to do correctly. Consider the case where…",{"id":184,"text":185},"49926042","Absolutely! Conceptually very similar to Cursor's auto mode. The key distinctions are: - We plug into any harness (e.g. Claude Code, Codex, OpenCode, Pi) - We aren't incentivized…",{"id":187,"text":188},"49929429","My calculation exactly!",{"commenters":33,"max_depth":190,"maker_replies":177,"first_comment_mins":191,"lifespan_hours":192},4,1509,112,[194,198,201,204,208,210,212,213,215,216,217,220,223,225,226,229,231,233,235,237,240,242,244,247,249,251,255,257,261,263,265,267,269,270,271,273,278,280,284,289,290,293],[195,32,30,196,197,32],"49927168","project\u002Fneutral\u002Fperformance","YuechenLi",[199,32,30,196,200,32],"49928338","conception",[202,32,32,203,197,32],"49928754","commenter\u002Fneutral\u002Fnone",[205,32,32,206,207,32],"49935926","commenter\u002Fneutral\u002Fperformance","waximabbax",[209,32,32,206,200,32],"49946853",[128,37,30,211,129,32],"project\u002Fneutral\u002Fidea",[158,37,30,211,159,32],[181,37,32,214,10,37],"project\u002Fpositive\u002Fidea",[184,37,32,214,10,37],[135,38,30,196,136,32],[218,30,30,211,219,32],"49929307","creativeSlumber",[221,30,30,211,222,32],"49929411","rlprlprlp",[187,30,32,224,10,37],"maker\u002Fneutral\u002Fidea",[139,190,30,196,140,32],[227,190,32,228,10,37],"49927617","maker\u002Fneutral\u002Fperformance",[101,42,37,230,102,32],"project\u002Fcritical\u002Fidea",[232,42,32,211,10,37],"49927573",[234,42,37,230,102,32],"49928915",[236,42,32,211,10,37],"49930731",[109,238,30,239,110,32],6,"project\u002Fneutral\u002Fnone",[241,238,32,239,10,37],"49927622",[87,243,42,214,88,32],7,[245,243,32,246,10,37],"49930806","maker\u002Fneutral\u002Fnone",[95,243,37,248,88,32],"project\u002Fcritical\u002Fexecution",[250,243,32,203,10,37],"49937611",[252,253,30,239,254,32],"49926439",8,"rirze",[256,253,32,211,10,37],"49927589",[258,259,30,211,260,32],"49926019",9,"jamesforestwest",[262,259,32,211,10,37],"49927508",[116,264,30,239,117,32],10,[266,264,32,239,10,37],"49929431",[268,264,30,239,117,32],"49929494",[162,264,30,211,163,32],[146,178,30,239,147,32],[272,178,32,246,10,37],"49926056",[274,275,30,276,277,32],"49926363",12,"project\u002Fneutral\u002Fpricing","1minusp",[279,275,32,276,10,37],"49927509",[281,17,42,282,283,32],"49954240","maker\u002Fpositive\u002Fnone","tarekabouzeid",[285,286,42,287,288,32],"49962519",14,"project\u002Fpositive\u002Fnone","malikrashidk",[173,177,30,239,174,32],[291,177,32,292,10,37],"49930775","project\u002Fpositive\u002Fperformance",[294,295,32,296,297,32],"49926135",16,"other\u002Fneutral\u002Fnone","aminsamir45",[],[300,304,308,313,317,322],{"id":301,"name":302,"points":303,"category":19},"49833867","Whiteboard (YC W26)",424,{"id":305,"name":306,"points":307,"category":19},"49858513","Reladraw",415,{"id":309,"name":310,"points":311,"category":312},"49898778","Real-time Solar System (space.bl2.net)",408,"creative",{"id":314,"name":315,"points":316,"category":312},"49869574","Lofi Cities",320,{"id":318,"name":319,"points":320,"category":321},"49845172","Jev Plays Pokémon",282,"ai",{"id":323,"name":324,"points":325,"category":326},"49837006","Koi.rest",228,"consumer_social",false,"v2",{"id":330,"name":5,"line":6,"ai":327,"cat":19,"year":12,"points":13,"comments":14,"rec":27,"s":331,"top":17,"kw":332,"maker":10,"domain":333,"tier":18,"attempts":32,"strip":334,"url":-1,"mix":335,"praise":83,"objection":92,"sub":20},49911500,0.06,[23,24,25,26],"","3300033003330301010350103030303330305530",[30,31,32,30],1793991168262]