TypeScript SDK for different in-browser AI model providers, built to make client-side AI integration simpler and more consistent across vendors.
196
stars
525
commits
TypeScript
primary language
Sep 8, 2026
updated
TypeScript libraries that provide access to in-browser AI model providers with seamless fallback to using server-side models.
For detailed documentation, browser requirements and advanced usage, refer to the official documentation site.
| Package | AI SDK v5 | AI SDK v6 | AI SDK v7 |
|---|---|---|---|
@browser-ai/core | ✓ 1.0.0 | ✓ 2.x | ✓ ≥ 3.0.0 |
@browser-ai/transformers-js | ✓ 1.0.0 | ✓ 2.x | ✓ ≥ 3.0.0 |
@browser-ai/web-llm | ✓ 1.0.0 | ✓ 2.x | ✓ ≥ 3.0.0 |
# For Chrome/Edge built-in browser AI models
npm i @browser-ai/core
# For open-source models via WebLLM
npm i @browser-ai/web-llm
# For 🤗 Transformers.js models
npm i @browser-ai/transformers-js
import { streamText } from "ai";
import { browserAI } from "@browser-ai/core";
const result = streamText({
model: browserAI(),
prompt: "Invent a new holiday and describe its traditions.",
});
for await (const chunk of result.textStream) {
console.log(chunk);
}
import { streamText } from "ai";
import { webLLM } from "@browser-ai/web-llm";
const result = streamText({
model: webLLM("Llama-3.2-3B-Instruct-q4f16_1-MLC"),
prompt: "Invent a new holiday and describe its traditions.",
});
for await (const chunk of result.textStream) {
console.log(chunk);
}
import { streamText } from "ai";
import { transformersJS } from "@browser-ai/transformers-js";
const result = streamText({
model: transformersJS("HuggingFaceTB/SmolLM2-360M-Instruct"),
prompt: "Invent a new holiday and describe its traditions.",
});
for await (const chunk of result.textStream) {
console.log(chunk);
}
This project is part of the Vercel OSS Program, and was previously sponsored by Chrome for Developers.
Contributions are more than welcome! However, please make sure to check out the contribution guidelines before contributing.
If you've ever built apps with local language models, you're likely familiar with the challenges: creating custom hooks, UI components and state management (lots of it), while also building complex integration layers to fall back to server-side models when compatibility is an issue.
Read more about this here.
2025 © Jakob Hoeg Mørk
TypeScript
100.0%
TypeScript SDK for different in-browser AI model providers, built to make client-side AI integration simpler and more consistent across vendors.
196
stars
525
commits
TypeScript
primary language
Sep 8, 2026
updated
TypeScript libraries that provide access to in-browser AI model providers with seamless fallback to using server-side models.
For detailed documentation, browser requirements and advanced usage, refer to the official documentation site.
| Package | AI SDK v5 | AI SDK v6 | AI SDK v7 |
|---|---|---|---|
@browser-ai/core | ✓ 1.0.0 | ✓ 2.x | ✓ ≥ 3.0.0 |
@browser-ai/transformers-js | ✓ 1.0.0 | ✓ 2.x | ✓ ≥ 3.0.0 |
@browser-ai/web-llm | ✓ 1.0.0 | ✓ 2.x | ✓ ≥ 3.0.0 |
# For Chrome/Edge built-in browser AI models
npm i @browser-ai/core
# For open-source models via WebLLM
npm i @browser-ai/web-llm
# For 🤗 Transformers.js models
npm i @browser-ai/transformers-js
import { streamText } from "ai";
import { browserAI } from "@browser-ai/core";
const result = streamText({
model: browserAI(),
prompt: "Invent a new holiday and describe its traditions.",
});
for await (const chunk of result.textStream) {
console.log(chunk);
}
import { streamText } from "ai";
import { webLLM } from "@browser-ai/web-llm";
const result = streamText({
model: webLLM("Llama-3.2-3B-Instruct-q4f16_1-MLC"),
prompt: "Invent a new holiday and describe its traditions.",
});
for await (const chunk of result.textStream) {
console.log(chunk);
}
import { streamText } from "ai";
import { transformersJS } from "@browser-ai/transformers-js";
const result = streamText({
model: transformersJS("HuggingFaceTB/SmolLM2-360M-Instruct"),
prompt: "Invent a new holiday and describe its traditions.",
});
for await (const chunk of result.textStream) {
console.log(chunk);
}
This project is part of the Vercel OSS Program, and was previously sponsored by Chrome for Developers.
Contributions are more than welcome! However, please make sure to check out the contribution guidelines before contributing.
If you've ever built apps with local language models, you're likely familiar with the challenges: creating custom hooks, UI components and state management (lots of it), while also building complex integration layers to fall back to server-side models when compatibility is an issue.
Read more about this here.
2025 © Jakob Hoeg Mørk
TypeScript
100.0%