Post

🚀 Introducing aibind — AI SDK bindings for every JS framework ⚡ Reactive streaming 🌿 Branching chat history 🤖 Agents & tool calling 🔄 Model switching & racing 📝 Streaming markdown 💾 Durable streams SvelteKit · Next.js · Nuxt · SolidStart · TanStack · React Router

Why does this exist? Every time I built an AI feature, I was writing the same plumbing: - wire up the stream - parse chunks into state - handle errors mid-response - manage conversation history - figure out markdown rendering None of that is the actual product. aibind handles all of it.

Streaming in your framework should feel native. In Svelte: stream.text is a reactive $state In Vue: stream.text is a ref In React: it's just a hook Same API everywhere. No adapters, no wrappers, no fighting the runtime.

Chat history is deceptively hard. Edit a past message? That's a branch. Regenerate? Another branch. aibind ships a full message tree — edit anywhere, branch anywhere, navigate back and forward. Like git, but for conversations.

You don't want your most expensive model answering "what's 2+2". aibind lets you define named models and route automatically: routeModel: (prompt) => { if (prompt.length < 200) return "fast" if (/explain|analyze/.test(prompt)) return "reason" return "smart" }

0 reposts0 likes