[{"data":1,"prerenderedAt":542},["ShallowReactive",2],{"project-48688700":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":45,"post_text":46,"what":47,"said":79,"maker_in_thread":165,"shape":178,"grid":182,"attempts":498,"same_week":503,"maker_shows":230,"maker_hidden":534,"reader_version":535,"card":536},"48688700","Weave Router","Smart model routing directly in Claude, Codex and Cursor","title","Show HN: Smart model routing directly in Claude, Codex and Cursor","https:\u002F\u002Fgithub.com\u002Fworkweave\u002Frouter","github.com","adchurch",1782492011,2026,216,113,256,4366,6,"notable","dev_tools","model router for coding agents","other",[24,25,26,27,28],"model routing","coding agents","llm router","claude code","cost optimization","mixed",-0.333,{"positive":32,"neutral":33,"mixed":34,"critical":35},5,18,1,19,43,{"idea":38,"performance":40,"pricing":42,"privacy":44},{"positive":39,"critical":18},3,{"positive":41,"critical":18},0,{"positive":41,"critical":43},2,{"positive":34,"critical":34},[39,34,41,43,34,41,39,34,34,34,39,41,34,39,41,41,39,39,39,34,34,34,39,39,34,39,39,34,34,39,43,41,39,32,34,39,41,39,32,39],"We built a model router that plugs into coding agents (e.g. Claude Code, Codex, Cursor, etc.) and intelligently sends requests to the best model to serve them. Here's a quick demo of running it locally: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=isKhAyivtfM.\n\nAt Weave, we write ~all our code with AI, and it's been getting more expensive. This came to a head when Opus 4.7 was released and, thanks to its tokenizer changes, our costs shot up. We knew we didn't need Opus for everything but we didn't want to lose out on the intelligence for the cases where you really need it. So we decided to build a model ro",{"problem":48,"audience":54,"pricing":59,"motivation":63,"time_to_build":67,"stack":68,"openness":76,"stage":77,"team_size":78},{"value":49,"source":50,"evidence":51},"Coding agents get expensive when every request goes to a frontier model.","maker",[52],{"id":53},"post",{"value":55,"source":56,"evidence":57},"Developers and teams using coding agents like Claude Code, Codex and Cursor.","inferred",[58],{"id":53},{"value":60,"source":50,"evidence":61},"Source-available under Elastic License 2.0; hosted version also offered.",[62],{"id":53},{"value":64,"source":50,"evidence":65},"Reduce token costs after Opus 4.7 tokenizer changes raised their spend.",[66],{"id":53},null,[69],{"value":70,"source":50,"evidence":71},"Reinforcement-learned routing model",[72,73],{"id":53},{"id":74,"by":11,"text":75},"48699688","We trained a model to select which LLM to call at any given turn, based on lots of agent traces","open_source","launched","company",{"praise":80,"objections":88,"requests":125,"questions":137,"alternatives":156},[81],{"value":82,"source":83,"evidence":84},"Cache-aware routing addresses a key concern about proxies.","commenter",[85],{"id":86,"by":11,"text":87},"48689537","If you statelessly route each new request: yes it does end up being more expensive! So our routing is cache-aware. It will have a much higher threshold to switch from one model…",[89,104,111,118],{"value":90,"source":83,"evidence":91},"Routing across models breaks prompt caching and adds cache-miss cost.",[92,96,100],{"id":93,"by":94,"text":95},"48689053","stpedgwdgfhgdd","The thing I do not get with these routers is that you will have more cache misses (5min ttl). And if there is one thing i’ve learned; using the cache is crucial. How does this…",{"id":97,"by":98,"text":99},"48690511","GodelNumbering","This would not work in the way that shows any significant genuine benefit IMO. Caching and optimum routing of a single request are at odds with each other. Higher the distinct…",{"id":101,"by":102,"text":103},"48690211","jakozaur","It's rather hard to do at the proxy level with agentic coding, such as Claude Code or similar. These are long-chained sessions of tool use that heavily rely on prompt caching.…",{"value":105,"source":83,"evidence":106},"Proxy routing breaks the coding agent's own model-aware control loop.",[107],{"id":108,"by":109,"text":110},"48691040","nikcub","I'm glad there are more attempts at solving model routing, as costs (at API rates) has really become an issue. Some feedback: 1. Reiterate the cache issue from other comments…",{"value":112,"source":83,"evidence":113},"Routing through a proxy may violate subscription terms or get accounts banned.",[114],{"id":115,"by":116,"text":117},"48691845","notatoad","Is this talking to claude code, or to claude api (and paying api rates)? programatically routing requests through claude code sounds like a good way to get banned, just like the…",{"value":119,"source":83,"evidence":120},"Sending code and prompts through a third-party router raises privacy concerns.",[121],{"id":122,"by":123,"text":124},"48690191","bijowo1676","How come data privacy and confidentiality is not an issue with services like these? Do people voluntarily use these proxies\u002Frouters, knowing their prompts, outputs and code will…",[126,130],{"value":127,"source":83,"evidence":128},"Publish benchmarks such as Terminal-Bench or DeepSWE-Bench with cost and performance charts.",[129],{"id":108,"by":109,"text":110},{"value":131,"source":83,"evidence":132},"Show A\u002FB evidence for the claimed quality parity.",[133],{"id":134,"by":135,"text":136},"48690944","jmalicki","> with no noticeable differences in quality or velocity. Have you done any A\u002FB tests on this with evidence? (That's one thing I'd be very interested to see for claims like this -…",[138,145,152],{"value":139,"source":83,"evidence":140},"How does it compare with vLLM Semantic Router?",[141],{"id":142,"by":143,"text":144},"48691497","matt_d","Looks interesting! Out of curiosity, how does it compare with vLLM Semantic Router? For reference: https:\u002F\u002Fvllm-semantic-router.com\u002F…",{"value":146,"source":83,"evidence":147},"How does routing differ from Cursor's auto mode?",[148],{"id":149,"by":150,"text":151},"48689221","arendtio","What is the difference from Cursors 'auto' mode?",{"value":153,"source":83,"evidence":154},"How is the router kept current as new models release?",[155],{"id":108,"by":109,"text":110},[157,161],{"value":158,"source":83,"evidence":159},"vLLM Semantic Router",[160],{"id":142,"by":143,"text":144},{"value":162,"source":83,"evidence":163},"Cursor auto mode",[164],{"id":149,"by":150,"text":151},{"comments":166,"answered":167,"key":168},41,20,[169,172,175],{"id":170,"text":171},"48691347","Really appreciate the thoughtful feedback! 1. Agree it's important, fwiw the proxy model doesn't blow this up though - only incurs a 1 time cost when switching models and we're…",{"id":173,"text":174},"48689448","You're right and that's why we built the router to be cache aware! Once it starts using one model, the threshold to switch to another model will be higher because the additional…",{"id":176,"text":177},"48689650","I'd say that a typical main agent loop has 1-3 models (obviously very situationally dependent), but when you have subagents those can get routed independently since they have a…",{"commenters":179,"max_depth":32,"maker_replies":166,"first_comment_mins":180,"lifespan_hours":181},58,28,119,[183,185,187,189,191,195,197,200,202,206,209,210,212,216,218,220,223,226,229,232,235,239,240,242,244,248,250,253,255,259,263,266,268,271,273,277,282,286,288,292,294,297,299,303,306,308,311,313,318,319,321,323,325,329,333,335,337,339,341,343,345,347,350,352,355,357,361,363,366,368,372,374,379,381,384,388,392,394,397,401,403,407,409,413,415,417,421,426,428,432,434,436,438,440,442,447,449,453,456,458,460,464,466,470,472,474,478,481,483,487,489,491,495],[108,41,39,184,109,41],"project\u002Fmixed\u002Fidea",[170,41,41,186,11,34],"maker\u002Fneutral\u002Fnone",[93,34,34,188,94,41],"project\u002Fcritical\u002Fperformance",[173,34,41,190,11,34],"maker\u002Fneutral\u002Fperformance",[192,34,41,193,194,41],"48689624","commenter\u002Fneutral\u002Fnone","alansaber",[176,34,41,196,11,34],"project\u002Fneutral\u002Fperformance",[198,34,41,193,199,41],"48690082","echelon",[201,34,41,186,11,34],"48690167",[203,34,32,204,205,41],"48690306","maker\u002Fpositive\u002Fnone","mthoms",[207,34,34,188,208,41],"48697586","port11",[101,43,34,188,102,41],[211,43,41,190,11,34],"48690307",[213,39,34,214,215,41],"48689539","project\u002Fcritical\u002Fidea","g00k",[217,39,41,193,194,41],"48689628",[219,39,41,186,11,34],"48689629",[221,39,41,193,222,41],"48690488","devmor",[224,39,41,193,225,41],"48693513","ValentineC",[227,39,41,193,228,41],"48690967","stronglikedan",[142,230,39,231,143,41],4,"project\u002Fneutral\u002Fnone",[233,230,41,234,11,34],"48692260","maker\u002Fneutral\u002Fidea",[236,230,41,237,238,41],"48694085","other\u002Fneutral\u002Fnone","hmokiguess",[97,32,34,188,98,41],[241,32,41,190,11,34],"48690572",[243,32,34,214,98,41],"48690727",[245,32,41,246,247,41],"48691377","commenter\u002Fneutral\u002Fidea","gopher_space",[249,32,41,234,11,34],"48692347",[251,18,34,214,252,41],"48689994","peterbell_nyc",[254,18,41,193,247,41],"48692029",[256,257,41,237,258,41],"48700316",7,"implexa_founder",[260,261,39,231,262,41],"48695443",8,"elgertam",[264,261,41,193,265,41],"48695483","thombles",[267,261,41,193,262,41],"48703167",[269,261,41,193,270,41],"48695500","Jaxkr",[272,261,41,186,11,34],"48699661",[274,275,41,237,276,41],"48696873",9,"Lerc",[278,279,34,280,281,41],"48748422",10,"maker\u002Fcritical\u002Fnone","TaylorGood",[283,284,39,231,285,41],"48691114",11,"lubujackson",[287,284,41,186,11,34],"48692165",[289,290,41,237,291,41],"48689481",12,"spqw",[293,290,41,186,11,34],"48689684",[295,290,41,193,296,41],"48690107","SoftTalker",[298,290,41,186,11,34],"48690269",[300,301,41,237,302,41],"48692673",13,"nativeit",[304,301,41,237,305,41],"48692693","newaccountman2",[307,301,41,193,225,41],"48693581",[309,301,41,237,310,41],"48694821","dools",[312,301,41,204,11,34],"48699680",[314,315,39,316,317,41],"48696234",14,"project\u002Fneutral\u002Fidea","forgeshiptoday",[74,315,41,186,11,34],[134,320,39,186,135,41],15,[322,320,41,204,11,34],"48692193",[324,320,39,190,135,41],"48694057",[326,327,41,237,328,41],"48694286",16,"jawon",[330,331,34,214,332,41],"48691268",17,"asdev",[334,331,41,193,11,34],"48691278",[336,331,41,193,332,41],"48693228",[338,331,41,204,11,34],"48699634",[115,33,34,340,116,41],"project\u002Fcritical\u002Fnone",[342,33,41,186,11,34],"48692153",[344,33,34,340,225,41],"48693603",[346,33,41,186,11,34],"48699627",[348,35,39,196,349,41],"48691345","pradeep1177",[351,35,41,196,11,34],"48692285",[353,167,39,316,354,41],"48693257","jpease",[356,167,41,316,11,34],"48694579",[358,359,39,196,360,41],"48689778",21,"k9294",[362,359,41,196,11,34],"48689854",[364,365,34,214,194,41],"48689603",22,[367,365,41,316,11,34],"48689830",[369,370,34,280,371,41],"48689689",23,"slopinthebag",[373,370,41,186,11,34],"48690412",[375,376,39,377,378,41],"48709790",24,"project\u002Fneutral\u002Fpricing","virangjhaveri",[380,376,41,377,11,34],"48719245",[382,383,41,237,349,41],"48699123",25,[385,386,39,316,387,41],"48701336",26,"latchkey",[389,390,39,377,391,41],"48689641",27,"gautam_io",[393,390,41,377,11,34],"48689662",[395,180,41,237,396,41],"48691301","zcw100",[398,399,34,214,400,41],"48689702",29,"suyash",[402,399,41,231,11,34],"48689769",[404,405,34,188,406,41],"48690528",30,"reliablereason",[408,405,41,196,11,34],"48690590",[410,411,39,196,412,41],"48692355",31,"thandv",[414,411,41,231,11,34],"48692371",[416,411,39,316,412,41],"48700456",[418,419,39,196,420,41],"48703869",32,"Bnjoroge",[422,423,34,424,425,41],"48689148",33,"project\u002Fcritical\u002Fpricing","_pdp_",[427,423,41,377,11,34],"48689478",[429,430,41,237,431,41],"48690845",34,"treexs",[433,430,41,193,247,41],"48692158",[435,430,41,204,11,34],"48692205",[149,437,39,316,150,41],35,[439,437,41,237,11,34],"48689486",[441,437,41,193,150,41],"48695937",[443,444,32,445,446,41],"48691064",36,"project\u002Fpositive\u002Fidea","Reuben_Santoso",[448,444,41,204,11,34],"48691288",[450,451,34,424,452,41],"48689569",37,"emilio_srg2",[454,451,41,455,11,34],"48689600","project\u002Fpositive\u002Fpricing",[457,451,39,377,452,41],"48689754",[459,451,41,377,11,34],"48689788",[461,462,41,237,463,41],"48689471",38,"debarshri",[465,462,41,186,11,34],"48689575",[467,468,41,237,469,41],"48689868",39,"mkagenius",[471,468,41,186,11,34],"48690023",[473,468,32,445,469,41],"48690455",[475,476,39,196,477,41],"48695623",40,"yiyingzhang",[479,166,34,188,480,41],"48689366","ai_slop_hater",[86,166,41,482,11,34],"project\u002Fpositive\u002Fperformance",[484,485,32,445,486,41],"48689899",42,"iluvcommunism",[488,485,41,186,11,34],"48690028",[122,36,34,490,123,41],"project\u002Fcritical\u002Fprivacy",[492,36,32,493,494,41],"48690274","project\u002Fpositive\u002Fprivacy","victorbjorklund",[496,36,41,497,11,34],"48690393","project\u002Fneutral\u002Fprivacy",[499,502],{"id":500,"t":501,"points":230,"comments":41},"48650230",1782243514,{"id":4,"t":12,"points":14,"comments":15},[504,509,514,519,524,529],{"id":505,"name":506,"points":507,"category":508},"48673671","Hacker News Trends",822,"data",{"id":510,"name":511,"points":512,"category":513},"48708182","Zanagrams",400,"games",{"id":515,"name":516,"points":517,"category":518},"48752905","worker-owned",398,"web_saas",{"id":520,"name":521,"points":522,"category":523},"48675435","OpenKnowledge",381,"productivity",{"id":525,"name":526,"points":527,"category":528},"48703412","Decomp Academy",197,"learning_science",{"id":530,"name":531,"points":532,"category":533},"48667807","Cross Canon",166,"languages",false,"v2",{"id":537,"name":5,"line":6,"ai":534,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":538,"top":18,"kw":539,"maker":11,"domain":10,"tier":19,"attempts":43,"strip":540,"url":9,"mix":541,"praise":82,"objection":90,"sub":21},48688700,-0.33,[24,25,26,27,28],"3102103111301300333111331331132035130353",[32,33,34,35],1793991157937]