
building the SOTA model router @rolemodeldev https://xitter.cf/t.co/N6odPItHYZ 🇸🇪 pm and indie dev in 🇨🇳 since 2010. Prev: @dji @oppo @oneplus
Shanghai
Joined March 2026
- Tweets7K
- Following929
- Followers631
- Likes3.5K
Pinned Tweet
role-model is here: a model router for Pi that works with (almost) any cloud model as well as local models.
Set up your pool of models, whether GPT 5.5 and DeepSeek V4, or Qwen 27B and Qwen 35B running locally, or combine and route between your local model for general chat and tool use and cloud models for more difficult tasks.
role-model is a router runtime and and a forward-looking routing protocol that can enable consumer applications like Pi to classify its requests with required capabilities, task-type and suitable roles for better matching between task, role, and model.
pi-role-model is a package for Pi that lets Pi manage and interact with role-model. role-model works perfectly with Pi even without the package - just configure your models in role-model, then configure role-model as your provider in Pi and choose routing alias.
Install the package for Pi:
’pi install npm:@try-works/pi-role-model’
Then let your agent install and configure the role-model runtime or point it to:
‘github.com/try-works/role-mo…’
role-model is in an early alpha release - let me know bugs, issues or usability questions. also, tell me if it just happens to work perfectly for you!
there's lots more to do and you can help by installing and running role-model, and by reposting this tweet!
thx
try.works retweeted
Steve Jobs on Touchscreen MacBook: “It doesn’t work, it’s ergonomically terrible”
hey @sama @thsottiaux when are you releasing the Inspector component in your UI SDK?
We've had our UX ready for 4 months. What are we supposed to do, sit on our hands until you remember you have plugins? We have 200k users per week for the plugin we built on your platform.
Can you do some work as HEAD OF CHATGPT instead of buying domains?
Something is broken at OpenAI. I'm responsible for a ChatGPT plugin that's also used by Dots and we have about 200k searches per week via this plugin.
We use their AI SDK to display the results and we have been waiting since July for components in the SDK to be released so that we can offer a richer experience in their apps. We have had the UX ready for months, but the entire SDK is stale and there's absolutely no updates - again, for 4 months.
What the heck is going on? UI SDK is a P0 for EVERY company that builds plugin for them.
Also, Intelligent UI is crazy bad!! It just creates random UI components next to our SDK components.
try.works retweeted
Replying to @thorstenball
I have a PhD in electrical engineering and understand computers all the way down to the atomic level. We have nowhere near saturated the performance and speed capabilities of our current technologies. Even if we never develop any new technology, we'll still have LLMs that are 1,000 times faster/cheaper within a few years. Once you add in the fact that we're still making new technological advancements and LLMs accelerate the rate of discovery of scientific advancements, I don't think we're going to be seeing a rug pull anytime soon.
Something is broken at OpenAI. I'm responsible for a ChatGPT plugin that's also used by Dots and we have about 200k searches per week via this plugin.
We use their AI SDK to display the results and we have been waiting since July for components in the SDK to be released so that we can offer a richer experience in their apps. We have had the UX ready for months, but the entire SDK is stale and there's absolutely no updates - again, for 4 months.
What the heck is going on? UI SDK is a P0 for EVERY company that builds plugin for them.
Also, Intelligent UI is crazy bad!! It just creates random UI components next to our SDK components.
try.works retweeted
Imagine a gym where everyone lifts according to birth year. That’s basically how we organize education.
The latest controversy from a Chinese lab is from @Zai_org
Previously, they uploaded their users codebases automatically in the background to their cloud server.
Before then, they have copied @trycua codebase and claim that the computer use feature was their own.
Now, according to a social media post from their previous intern, they have let a student intern for free for 2 years, and after graduation become a normal employee with a 6 month probation period. The day before converting to a full employee, they were told their performance was poor and dismissed.
try.works retweeted
这是智谱的企业价值观有问题,还是流程没设计好让恶意的操作得以执行?
不符合预期能让人干 2 年多,又毁人应届生资格。
不符合预期为什么能用人这么久?实习后还试用半年,还刚好在转正前解除劳动关系。
之前的代码库事件,已经使智谱在大家眼里的评价变差,现在 @jietang 唐教授能任凭这些行为继续影响智谱的企业形象吗
try.works retweeted
What I learned today:
- deepseek/deepseek-v4.1-flash-1017 works great in Claude Code for sub agents (just ask it to write an .claude/agents/ file as the sub agent tool doesn't take a tool arg)
- With Opus 5.5 doing orchestration everything just works wonderfully
- It's extremely cheap. I currently have 24 sub agents cooking (all with their own Vercel Sandbox to leave my laptop alone) and until now I have spent like $9 on deepseek which does 99% of the work 🤯
- Previously I averaged about $2K per day in list-price tokens (Sorry @mabrahamsen)
Even if you have a Max subscription, just imagine how much more you could do vercel.com/get/token-pass
try.works retweeted
Japanese Finnoboos are really committed to the fandom. They don't fuck around or take half measures
Makes sense where Tibos 28 days come from then. Trying to hold us over until the redirection of our compute to Dots is over. Can we get our plans for the past month refunded and quotas increased?
wait what? @OpenAI is making dots have limits after this month? i take back what i said
try.works retweeted
Software is having its Industrial Revolution and it’s changing what matters in software frameworks. Today’s frameworks were designed for the crafty carpenter, tomorrow’s are designed for mass manufacturing processes where rigor > conciseness.
Take foldkit vs react/solid, for example. You can argue that foldkit is more verbose or complicated for some use cases compared to the traditional alternatives, but everything doable in react/solid is also doable in foldkit. Everything doable in foldkit is not (or at least not easily or consistently) doable in react/solid because they lack the rigor of command+event state machines with story & scene testing. Getting that back isn’t easy and is a substantial loss for agentic coding.
Before AI, there was the valid argument of picking what humans like best. Humans kinda suck at programming because we are constrained by our skills, taste and (lack of) discipline, so frameworks that worked in this era catered to the lowest common denominator of mass market human developers. While I agree that react/solid are powerful in the hands of humans, that simply doesn’t matter anymore.
What’s best for humans does not necessarily translate to what’s best for agents. Some tasks may indeed be “a bit harder” with foldkit in human terms, but AI is capable of solving all of them in a few minutes, so who cares. Instead of bike-shedding philosophy and taste, just choose the more rigorous (and scalable) option. It costs you nothing and gains you everything.
Effect is another example of this. With AI, now everyone of all skill levels can use advanced programming techniques that are objectively safer and more scalable, but were out of reach for many human programmers. Or didn’t appeal to the stubborn tastes of a particular person.
With humans now out of the way of technology adoption - I think it’s obvious that the following techniques are going to become way more commonplace:
1. State Machines
2. Functional programming
3. Declarative infrastructure
4. Test Driven Development
5. Domain Driven Design
6. Actor Systems
7. Rigorous API schemas
8. Type Safety and Formal Verification
9. Disciplined Operations (monitoring, on-call)
Alchemy is designed to bring these techniques together into a seamless experience for building and deploying applications of massive scale. It is the “rails” and “parts” of the ai software assembly line.
try.works retweeted
Ik heb voor 8 Europese landen de officiële cijfers over zedendelicten naar herkomst naast elkaar gezet.
Steeds hetzelfde patroon: een veelvoud t.o.v. de autochtone bevolking, gecorrigeerd voor leeftijd en geslacht. Gesorteerd op het gemiddelde over alle landen.
Bovenaan:
Afghanistan ~4,0x
Midden-Oosten en Noord-Afrika ~3,8x
Irak ~3,5x
Syrië, Afrika bezuiden de Sahara, Marokko, Somalië ~3,2 tot 3,4x
Onderaan:
EU ~1,2x
Oost-Azië ~0,85x
Westerse landen ~0,7x
De patronen:
1. Herkomst bepaalt het beeld, niet het land
Over alle 70 datapunten verklaart de herkomstgroep 59% van de verschillen (R² = 0,59). Het land, en daarmee de meetmethode, verklaart maar 23%. Wie zegt “dat komt door de manier van meten” verklaart dus het kleinste deel, het grootste deel is herkomst!
2. Overal dezelfde volgorde
In elk land met data zitten dezelfde groepen bovenaan. Meestal 2 tot 7x het autochtone niveau, in Finland bij Irakezen 9,5x.
3. Het is geen “migranten”-effect
Oost-Aziaten zitten overal rond of onder de baseline, EU-burgers rond 1 tot 1,9x, westerse migranten in Nederland precies 1,0x. Herkomst maakt het verschil, niet migratie als zodanig.
4. Meetmethode bepaalt de hoogte, niet de richting
Landen die op nationaliteit tellen (VK, Duitsland, Finland) komen hoger uit dan landen die op herkomst tellen (Denemarken, Nederland, Noorwegen). Wie naturaliseert verdwijnt uit de groep, wat overblijft zijn vooral recente aankomers. Maar ook met de strengste methode blijft de oververtegenwoordiging staan.
5. Inkomen en opleiding verklaren het niet weg
Zweden corrigeert ook voor inkomen en opleiding. Centraal-Azië (vooral Afghanen) zakt dan van 9,4x naar 5,6x. Kleiner, niet weg.
6. Hoe ernstiger het delict, hoe groter het verschil
Denemarken, Midden-Oosten en Noord-Afrika: 2,5x bij alle zedendelicten, 4,9x bij verkrachting. Afrika bezuiden de Sahara: 2,5x tegen 7,0x.
7. Waarom ontbreken Frankrijk, Italië en anderen w.o België? Niet weggelaten. Ze publiceren de cijfers niet zo dat je de vergelijking kunt maken.
Frankrijk: etnische statistiek wettelijk sterk beperkt, alleen Frans tegenover buitenlands. Buitenlanders zijn 13,5% van de verdachten van zedendelicten, bij circa 7% van de bevolking.
Italië: alleen Italiaans tegenover buitenlands. 42% van de verkrachtingsverdachten is buitenlander, bij 8,7% van de bevolking.
Zwitserland: nationaliteit alleen voor alle misdrijven samen, niet per delict.
Oostenrijk: geen gepubliceerde tabel, alleen losse Kamervragen.
België en Ierland: geen nationaliteit van verdachten per delict.
Kanttekeningen:
dit zijn verdachten, aanklachten of veroordelingen, afhankelijk van het land. Aangiftebereidheid kan per groep verschillen. In absolute aantallen heeft de meerderheid van de daders een autochtone achtergrond. Het gaat om het risico per persoon. En R² beschrijft hoe consistent het patroon is, niet waarom het bestaat.
Conclusie:
acht landen met één duidelijk patroon. En dat patroon wordt voor het grootste deel verklaard door herkomst.
Consequentie:
Bij het verlenen van de gunst van een verblijfsvergunning kunnen land bepalen wie daar wel en wie daar niet in aanmerking voor komt.
Bronnen:
VK: The Economist (okt. 2026), op basis van MoJ/ONS via Migration Observatory
Duitsland: BKA, Polizeiliche Kriminalstatistik 2024 (T40, T62); Destatis
Spanje: INE, Estadística de Condenados 2024-2025; INE, Estadística Continua de Población
Finland: Tilastokeskus, StatFin 13yy en 11rg (2021-2025)
Zweden: Brå, rapport 2021:9, tabellbilaga 1 (2015-2018)
Denemarken: Danmarks Statistik, STRAFNA4, STRAF40, FOLK2 (2021-2025)
Nederland: CBS, 81947NED, 37325, 85656NED, 85510NED (2018-2025)
Noorwegen: SSB, siktelser og innvandringsbakgrunn (dec. 2024)
Frankrijk: SSMSI/INSEE. Italië: ISTAT. Zwitserland: BFS. Oostenrijk: BMI/Parlament.
Eigen berekening.
Britain was mining Norway’s waters and staging troops to seize its ports when Hitler landed first.
The goal was Swedish iron ore, which Germany hauled by rail to Narvik then shipped south under Norwegian neutrality.
Before that, Britain and France tried to push troops through both countries under the cover of helping Finland against the Soviets. Both refused, Finland made peace in March, and Churchill still drove Plan R4 forward with landings ready for Narvik, Trondheim, Bergen and Stavanger.
Germany’s Weserübung hit on April 9.
The British already loaded at Rosyth were ordered back ashore, and the race was over.
At Nuremberg, Admiral Erich Raeder blamed the invasion on British plans. But the tribunal dismissed it, claiming Germany only moved against a possible occupation sometime later, not an immediate one.


























