OneTab-style tab sessions — organized by project, with bookmarks and download context.
Local-first · Manifest V3 · No backend · No analytics
Install · Features · Layout · Development · Privacy
Tab Stack is a Chrome extension that collapses open tabs into saved project stacks, keeps a bookmark library you can browse like a mini file manager, and helps you reconnect downloads to the research session they came from. Everything stays on your device in chrome.storage.local.
Inspired by the workflow of tools like OneTab and is the sister extension to TubeStack which saves YouTube sessions as playlists (save → organize → restore later), but aimed at long-running projects and bookmark/session organization and reference. Users canm research, collect and organize sources (including linking downloads to sessions or individual projects saved in bookmarked folders), allowing them to sprawl through old sessions when wanting to resume projects / seesions weeks later.
- Shortcuts from your Chrome bookmarks bar or recent history
- Global search across all saved sessions and bookmark library entries
- Optional DuckDuckGo search and Open-Meteo weather
- Themes + custom background image
- Hide shortcuts from the pad only (they remain in the library)
- Playlist-style session list with priority, groups, and category taxonomy (L1 / L2 / L3)
- Session detail: list, details, or grid views for tabs
- Per-tab priority, tags, page metadata backups, Wayback links
- Optional live link check (optional
http(s)://*/*permission when prompted) - Download intelligence — correlate downloads to a session by domain and filename hints
- Restore tabs flat or restore with Chrome tab groups (from bookmark folder paths)
- Export / import full JSON backup
- TubeStack-style sidebar + main manager with Google-style folders
- Flat list and icon grid views
- Link a local folder per bookmark folder (Chrome folder picker) for filenames, sizes, extension badges, and image thumbnails
- Editable display name and working path label
- Syncs with the Imported Bookmarks session
- Popup — save current window, attach recent downloads, open home
- Context menu — save tab, save window & close, collect tabs left/right/except, open home
- Settings — erase data, re-import bookmarks, permissions, category groups, API key placeholders for future AI categorization
Add screenshots here after capture (recommended 1280×800 for store listings).
| Launchpad | Sessions | Bookmark manager |
|---|---|---|
| coming soon | coming soon | coming soon |
Coming soon. For now, load unpacked in Developer mode (below).
- Open Chrome and go to
chrome://extensions - Enable Developer mode (top right)
- Click Load unpacked
- Select this repository folder (the one containing
manifest.json) - Pin Tab Stack from the extensions menu
Reload the extension after pulling updates from git.
TabStack/
├── manifest.json # Manifest V3 entry
├── background/ # Service worker (context menus, URL checks)
├── popup/ # Toolbar popup — quick save
├── home/ # Main UI (Launchpad, Sessions, Bookmarks, Settings)
├── sidepanel/ # Side panel stub → opens home
├── dashboard/ # Redirect to home
├── shared/ # Storage, bookmarks, tabs, categories, search
├── icons/ # Extension icons (16–128)
├── assets/ # In-app branding (logo)
├── PRIVACY.md # Privacy policy
├── STORE_LISTING.md # Chrome Web Store draft copy
└── RELEASE_CHECKLIST.md # Manual QA before publish
| Permission | Why |
|---|---|
tabs |
Save and restore tab URLs |
storage / unlimitedStorage |
Local session and library data |
downloads |
Attach download metadata to sessions |
bookmarks |
Import and manage bookmark library |
history |
Optional “Recent sites” on Launchpad |
tabGroups |
Restore sessions with tab groups |
contextMenus |
Right-click collect actions |
sidePanel |
Side panel entry point |
http(s)://*/* (optional) |
Optional per-URL link check |
See PRIVACY.md for network use (weather, favicons, DuckDuckGo, Wayback).
No build step — edit HTML/CSS/JS directly, then reload the extension.
- Clone this repo
- Load unpacked at
chrome://extensions(see above) - Open Tab Stack home from the popup or
chrome-extension://<id>/home/home.html - For the service worker: Service worker link on the extension card → DevTools
Version is set in manifest.json (currently 0.3.0). Data schema migrations live in shared/migrate.js.
Use RELEASE_CHECKLIST.md before tagging a release.
- Chrome Web Store publish
- README / store screenshots
- AI categorization using user-supplied API keys (settings placeholders exist)
- Firefox port (separate manifest)
- Sync / share session packs (opt-in, still local-first)
Tab Stack is local-first. It does not run a Tab Stack backend or analytics. Full details: PRIVACY.md.
Issues and PRs welcome. Please avoid committing secrets (.env, API keys). Use export/import JSON for your own backups, not the repo.
