Why Linda

The case for an in-page agent.

You can hand a user a chatbot in a sidebar, or you can hand them a real agent on the page itself. The difference is the difference between an assistant and a colleague.

What a chatbot widget can't do

Chatbot widgets are stateless UIs over chat-completion APIs. They're great for Q&A. They fall over when the user wants the AI to do anything that touches your app:

  • Read the form the user is looking at, in real time.
  • Fill its fields one at a time as the user types.
  • Switch persona mid-flow when the conversation pivots.
  • Pull in a CSV the user just dropped without uploading it.
  • Talk to your CRM through MCP without rewriting your backend.

These aren't UI problems. They're agent problems — they need a loop that can plan, call tools, and operate on a workspace.

The architectural bet

Modern LLMs are trained on filesystem-shaped workflows. They're remarkable at ls, cat, grep, and editing files. So we gave the model the live page as a filesystem.

That's the whole bet. /page/dom.html is the DOM snapshot. /page/form/fields/email.json is an input — read it to see what the user typed, write it to fill it. /user/files/<id>/parsed/text.md is the resume the user dropped. /host/crm/accounts.json is your CRM, mounted via MCP. /skills/installed/kyc-id-check/SKILL.md is a capability the model can opt into.

Everything else falls out of that. Hooks are the moments you care about in the loop. Skills are bundles the model loads on demand. Multi-agent is multiple loops handing off via the same VFS. MCP is a way to mount other people's filesystems.

Who picks Linda over the alternatives

You are…You probably want…
Building an in-page copilot for your SaaS Linda — its VFS reads your live DOM without state-plumbing.
Replacing a long signup form Linda — drop a script tag, it fills the inputs.
Adding a sidebar Q&A bot to docs Probably CopilotKit, or Linda's chat with a config that just answers.
Automating browsers from a server Stagehand. Linda is user-in-the-loop on their browser; Stagehand is headless on yours.
Building a hosted form-builder SaaS Typeform. Linda is an SDK, not a hosted product.
Streaming LLM responses in a Next.js app Vercel AI SDK for plumbing + Linda for the agent loop. They're complementary.

What we said no to

Linda is opinionated. Here's what we deliberately don't ship:

  • No hosted service. We're not a SaaS. There's no Neul Labs endpoint between you and your LLM provider.
  • No server-side file processing. Browsers can parse PDFs, DOCXs, images, audio — we lean into that and skip the server entirely.
  • No vendor lock. Five providers, plus any OpenAI-compatible endpoint. Swap with one config line.
  • No CLA. MIT, no relicensing risk.
  • No "smart" magic. The system prompt is readable. The tool loop is six tools. The VFS layout is documented. You can debug it.

Convinced?

The fastest test is the 10-second script-tag demo.