browsaBrowser Side-Panel AI

browsa / browser side-panel AI

Stay on the page.Ask beside it.

Long article? Dense paper? Fast-moving video? Bring the page into a conversation with your own AI. Get the explanation without the copy-paste — or leaving what you’re reading.

Chrome / Edge · Source install available
Free extension. Bring your own model or agent.

MIT open source ↗ Your choice of model Local settings

Illustrative interface · Switch scenes to see how browsa works with the page.

demo

browsa in 60 seconds

Real screen capture: attach a page and ask, follow up on a selected phrase, explain a selection in place, a clickable video timeline — with diagrams and a 3D protein structure rendering inside the reply, and an agent's tool calls ending in an approval card.

Designed to work silent: captions throughout, fully understandable on mute.

how it works

Three steps to talk to a webpage

No window-switching, no copy-pasting. browsa sits quietly beside the page you're reading — like a margin note.

01

Open the side panel Ctrl+Shift+H

Press the shortcut or click the toolbar icon on any page. The browsa panel appears on the right.

02

Attach the page 📎

Click 📎 and the page content flows into the conversation — articles, subtitles, PDFs. Selected text can be asked about directly.

03

Stream replies any backend

Replies stream in word by word, with Markdown, math and charts. Connect your own OpenAI-compatible API, the Hermes / opencode agents — your subscription-logged-in Codex / Claude Code via agent-bridge, or pi with its own configured models. The UI follows your browser language — English / 中文 switchable.

Installed? Quick start walks you through the first question; the full guide covers reading, video, rendering, sessions, backends and settings.

features

More than a chat box

browsa puts "reading" and "asking" in the same place: long articles, videos, PDFs — the AI is right there.

attach

Attach the page

Bring the current page into the conversation with one click — modes pick themselves:

  • Auto cascade: Readability body → DOM tree → full text
  • 📷 Screenshot mode, for multimodal models
  • PDF parsed locally: WASM rebuilds tables / headings / layout, figures auto-cropped
  • GitHub file pages pull raw source directly, skipping page cleanup
select

Selection Q&A

Select any text on any page and ask directly:

  • Floating toolbar: Ask · Explain · Translate · Summarize
  • Explain / Translate answer inline — streaming, in place, no panel
  • Ask / Summarize: the selection rides into the panel — no 📎 needed first
render

Rich rendering

Replies are more than plain text — formulas and diagrams render in your browser:

  • Markdown GFM + 40+ language syntax highlighting
  • LaTeX math (KaTeX, Web Worker accelerated)
  • Mermaid diagrams, ECharts, Markmap mind maps
  • A Mermaid block that won't parse? Ask your configured AI to fix and re-render it
video

Video notes

A complete workflow for video — structured subtitles from YouTube and Bilibili:

  • Replies carry clickable [mm:ss] timestamps that seek the video
  • Subtitle-less Bilibili videos can still be summarized — automatic ASR transcription
  • Long transcripts auto-compressed into points, timestamps preserved
provider

Any backend

No vendor lock-in — connect your own models:

  • Hermes Agent: tool execution, approval for risky actions, progress display
  • OpenCode Agent: direct line to the opencode CLI agent — same full tool & approval flow
  • Agent Bridge: bridges local CLI agents — subscription-logged-in Codex / Claude Code (the model side runs on your subscription), or pi with whatever model you configure it with; one card connects several agents at once
  • Any OpenAI-compatible API: OpenAI, Ollama, LiteLLM…
  • Add multiple models per card — switch via “Alias · model” in the sidebar
  • Ping to verify connectivity and capabilities
privacy

Privacy first

No browsa account. Your choice of model service:

  • API keys are stored locally and used to authenticate with your configured provider
  • URLs in page context are masked locally before sending — tokens, passwords and signatures stripped
  • PDFs are parsed on-device; extracted text and images can be attached to model requests
  • Content goes only to the backend you configure
input

Fast input

Say more without typing more:

  • Quick actions: Summarize / Key Points / Explain / Outline
  • Slash commands + ↑/↓ input history; drafts survive closing the panel
  • Keep typing while a reply streams — messages queue and send in order
session

Sessions

Long conversations stay organized:

  • Save / restore named sessions, export Markdown
  • Full-text in-conversation search (Ctrl+F)
  • "Detail-thread" any text in a reply without touching the main history

supported sites

It reads your webpages

For these sites browsa reads the structured data the page already loaded — subtitles, comments, article source, quotes — instead of guessing.

YouTubesubtitles/chapters Bilibilisubtitles/ASR/stats Xiaohongshunotes/comments Juejinarticle source Zhihuarticles/answers X / Twittertweets/replies Redditposts/comments Xueqiuquotes/posts Xiaoyuzhoupodcasts Dedaoarticles GeekTimearticles

Observes, never hijacks: extraction works by watching the browser's own requests — no re-authentication, and nothing is uploaded to third parties. Every other webpage works too, just not as deeply.

your keys, your agent

Your keys. Your models. Your agent.

browsa sells no subscription, asks for no account, takes no markup. It simply moves your own model endpoints into the side panel — cloud, local, or self-hosted.

  • No account, no telemetry. Install and go — nothing ever flows through us.
  • API keys stay local, sent only to the endpoints you configure.
  • Ollama / LM Studio local models — fully offline works too.
  • Real agents: tool execution, live progress, approval before risky actions.

Not sure which to choose? Read the model and agent setup guide →

install

Start with your next read.

Choose one installation method, then connect your model or agent. The browsa extension is free.

Alternative · Manual updates

Load from GitHub

Download and unzip a release. Enable Developer mode in your browser’s extension manager, choose Load unpacked, and select the folder containing manifest.json.

Download a release ↗

Installed? Make the connection.

Configure a model API or local agent in Settings and Ping to verify. Open an article, attach it with 📎, and ask your first question.

Follow the setup guide →