DEV Community

Cover image for Get rid of Tab-Hell
Anshuman
Anshuman

Posted on

Get rid of Tab-Hell

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady.

What I Built

During my undergraduate years, I accumulated more than 1,000 browser tabs. Research papers, GitHub repositories, documentation, tutorials, and articles I was absolutely going to read later.

Then browser crashes wiped out most of the collection.

Naturally, I started collecting tabs again.

The problem was familiar: opening a page was easy. Deciding where to put it, finding it again, and turning a pile of tabs into something useful required an afternoon I kept postponing.

I wanted to ask my existing AI agent:

Group my research tabs by project. Keep the papers separate from tutorials.

And, when I changed my mind:

Get rid of certain topics. Download a group for later. Revert everything.

That became Fast-Tabber, an open-source Chrome toolkit that gives Codex, OpenCode, Claude Code, and other MCP-compatible agents browser-management tools.

It handles both open tabs and bookmarks:

  • Group, move, reorder, and activate tabs using Chrome's native operations.
  • Search titles, URLs, and cached page text.
  • Create and organize bookmark folders, rename entries, and find duplicate URLs.
  • Save and reopen tab collections, or save selected tabs as bookmarks.
  • Export open tabs, specific groups, bookmark folders, or selected links as TXT or CSV.
  • Inspect selected pages through text, links, accessibility information, and screenshots.
  • Undo supported changes.

Grouping keeps the tabs open. Closing tabs or deleting bookmarks requires confirmation. Bookmark operations have their own explicit scope, so a request to tidy tabs does not become permission to reorganize someone's saved links.

Everything starts in the agent you already use. The Chrome extension also has a small export popup for downloading links directly.

Demo

The repository README includes the latest launch walkthrough, covering grouping, a targeted move and undo, content search, bookmarks, and CSV export.

Code

GitHub logo solusops / Fast-Tabber

Open Source MCP Toolkit that lets AI agents control, search, and organize your browser tabs and bookmarks through natural-language instructions.

Fast-Tabber

fast-tabber-launch.mp4

Manage Chrome tabs and bookmarks through the AI agent you already use.

Group tabs by project, find a page from its content, save a collection, organize bookmarks, or export selected links. Fast-Tabber connects Chrome to Codex, OpenCode, Claude Code, and other MCP-compatible agents.

Installation

1. Add the Chrome extension

  1. Download the fast-tabber-extension ZIP from the latest release.
  2. Extract it into a folder you will keep on your computer.
  3. Open chrome://extensions in Chrome and turn on Developer mode.
  4. Click Load unpacked and select the extracted folder containing manifest.json.
  5. Pin Fast-Tabber to your toolbar for quick access to exports and bookmark permissions.

Keep the extracted folder in place while the extension is installed.

2. Connect your agent

On Windows, install Node.js 22 or later and run:

npx -y fast-tabber-toolkit@latest setup
Enter fullscreen mode Exit fullscreen mode

Choose Codex, OpenCode, or Claude Code when prompted. For…

Fast-Tabber is MIT-licensed. Installation starts with loading the Chrome extension, then connecting your agent:

npx -y fast-tabber-toolkit@latest setup
Enter fullscreen mode Exit fullscreen mode

The installer supports Windows and lets you choose Codex, OpenCode, Claude Code, or another MCP client. The README covers extension installation and pairing.

How I Built It

The difficult part was giving an agent useful access to a large browser collection without filling its context with every page.

The architecture has four parts:

  1. existing agent interprets the request and decides what belongs where.
  2. MCP server provides search, local selections, and bulk operations.
  3. Chrome extension executes native tab and bookmark actions.
  4. SQLite stores metadata, cached page text, saved collections, and undo history.

I experimented with local embedding models and a separate generative model inside the toolkit. Eventually, I removed those dependencies. The connected agent already supplied reasoning; putting another model behind the browser tools provided no meaningful improvement.

The current toolkit has no mandatory model runtime, embedding pipeline. The agent searches, inspects relevant resources, chooses categories, and sends exact assignments to the browser tools.

Read a page once, reuse its text

Fast-Tabber captures a bounded representation of the first page, including meaningful headings and page text, and caches it locally. It does not follow links or crawl an entire website.

Search uses SQLite FTS5 with BM25 ranking across titles, URLs, and indexed content. This helps when the detail I remember is inside a page rather than its title. It is keyword-based retrieval; the connected agent supplies the interpretation.

Cached content can be reused across searches and reopened URLs. A refresh is available when I want a new copy. Individual extraction failures are reported separately, so one inaccessible page does not have to stop the rest of an indexing job.

Keep large selections local

If a search finds hundreds of resources, the agent should not need hundreds of IDs just to move them.

Fast-Tabber can keep that selection locally and return a count with a few matches. The agent can combine selections, intersect them, exclude results, and apply one bulk operation to the resulting collection.

Full listings remain available through pagination or export. Routine organization can work with compact results instead of dumping the browser into chat.

Check the browser, not just the request

The toolkit verifies browser mutations against Chrome's resulting state. Supported changes are recorded for undo, allowing the agent to restore an earlier organization.

Long indexing jobs also expose status and progress. That matters because some MCP clients display progress notifications while others need the agent to check job status.

Why Does Open Innovation Matter?

My browser collection contains years of interests, projects, and unfinished research. I want control over both the data and the software handling it.

OpenCode provides an open-source agent harness for this workflow. MCP makes the browser tools reusable across agents, while the extension and local cache remain the same. The model can be chosen at the agent layer instead of being built into Fast-Tabber.

That also makes the toolkit easier to inspect and change. You can easily review what page information is collected, adapt a browser operation, or add support for another agent without rebuilding a separate chat application.
Bulk indexing and storage stay on the user's computer. An agent using a local model can keep inference on-device, depending on its other integrations.

The Lazy Payoff

I used to postpone browser cleanup because it meant reviewing pages individually, copying URLs, creating folders, moving tabs, and trying not to lose anything useful.

Fast-Tabber lets me work on the collection through a conversation. I can ask for an initial organization, inspect a group, move a few pages, save the useful set, and export its links.

The useful part is being able to keep refining it:

Keep the tutorials together, but move the documentations into a separate group.

The browser is allowed to stay messy while I work. When I am ready to tidy it, I can delegate the repetitive steps to my agent and keep the decisions that matter.

For someone who once lost a huge collection of tabs, being able to search, save, export, and reorganize that work is a much better habit than hoping the next browser session survives.

Built by @solusops.

I used AI coding agents to build and iterate on Fast-Tabber, and AI assistance to edit this write-up.

Top comments (0)