Model or dataset
Nagi-ovo/voyager avatar
Nagi-ovo/voyager

Voyager: a Gemini, Claude and ChatGPT browser extension with a prompt manager that follows you to any site

Enhancement suite for Gemini, AI Studio, Claude & ChatGPT — plus a prompt manager for any websites, DeepSeek Harness included. / 面向 Gemini、AI Studio、Claude 与 ChatGPT 的增强套件;其中的提示词管理器可用于任意网站,如 DeepSeek Harness。

20,240 stars674 forksTypeScriptGPL-3.0

At a glance

What is it?
Voyager is a GPL-3.0 TypeScript browser extension that adds folders, prompt storage, export and reading tools to Gemini, AI Studio, Claude and ChatGPT, and injects its prompt manager into sites you add yourself. The design is opinionated and the licence is copyleft, which matters more than the feature list.
Who is it for?
Adopt Voyager if you keep long Gemini threads, want two-level folders and a prompt vault that also works on local apps, and accept a GPL-3.0 extension whose Safari build depends on a separate Xcode project. Skip it if you need a documented export or rollback path for your saved folders before you trust them to a browser extension, or if you cannot take copyleft terms in a redistributed product.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 2 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 28, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Voyager actually fixes about long Gemini and Claude threads

The problem Voyager targets is not model quality. It is that the web UIs for Gemini, AI Studio, Claude and ChatGPT treat a conversation as a single scrollable column with no structure above it. There is no folder tree, no saved prompt library, no way to jump between messages, and no bulk delete. If you run a dozen research threads in parallel, the sidebar becomes an undifferentiated list.

Voyager adds a two-level folder hierarchy with drag-and-drop on Gemini, plus an Account Isolation Mode and custom folder colors on that same platform. It adds a Prompt Vault that stores prompts and reuses them across Gemini, AI Studio and sites you add yourself. It adds batch delete, timeline navigation with starred messages, and chat export to JSON, Markdown or PDF with images included. The README frames the audience plainly: researchers juggling dozens of threads, developers saving code snippets, and people who want order. That is a fair description of who benefits. If you open one chat a day, the extension is overhead.

How the extension is put together: one core, a plugin engine, per-browser builds

The repository is a single TypeScript codebase compiled into several browser targets. At the top level there are separate Vite configs: vite.config.chrome.ts, vite.config.firefox.ts and vite.config.safari.ts, plus a custom-vite-plugins.ts shared file and a build-edge.js script. Each browser also has its own nodemon config (nodemon.chrome.json, nodemon.firefox.json, nodemon.safari.json) for development reloads. That layout tells you the project is maintained as one product with four packaging paths rather than four forks.

Feature code is split by host. The README labels a Core group for Gemini and AI Studio (folders, prompt vault, cloud sync, batch delete, formula copy, visual effects), a Gemini-exclusive group (timeline, export, Mermaid rendering, a Markdown bold-syntax fix for Gemini's injected HTML, image refinement, Deep Research extraction, quote reply, prevent auto scroll, input collapse, default model, hide recents), and a Claude and ChatGPT group that the README says is powered by the Voyager Plugin Engine: Claude timeline, a Claude usage bar, formula copy, comfortable reading width, and a CJK render fix on Claude.

The Prompt Vault is the piece that escapes the host-specific model. You add any site in the extension popup, and the prompt manager runs there. The README shows it inside DeepSeek Harness on localhost:3080. That is the architectural bet: the prompt store is site-agnostic, and the host-specific features are plugins on top.

Installing Voyager and saving your first prompt

The README points to the documentation site at voyager.nagi.fun for guides, and the badge block lists Chrome Web Store, Edge Add-ons and Firefox Add-ons listings, so the normal install path is your browser's extension store rather than a source build. If you want to run the code yourself, the repository declares [email protected] as its package manager, so install Bun first and then the dependencies.

bash
bun install
bun run dev:chrome

dev:chrome runs nodemon with nodemon.chrome.json, which watches the source and rebuilds the Chrome extension. There is a companion script that opens a browser for you:

bash
bun run dev:chrome-open

For a production bundle, the package.json defines one script per target. The Chrome build is the default:

bash
bun run build:chrome
bun run build:firefox
bun run build:safari

build:safari chains the Vite Safari config with a verification step (node scripts/verify-safari-resources.mjs), and there is a separate build:edge script. A combined build:all runs chrome, firefox and safari in sequence, while build:browsers adds edge on top. Tests run through vitest:

bash
bun run test

Once the extension is loaded, the first real use is the Prompt Vault. The README says to open the extension popup to reach the settings, and that visual effects are switched there between Off, Snow, Sakura and Rain. The same popup is where you add a custom website so the prompt manager appears on it. The README's example is DeepSeek Harness on localhost:3080. Note that the README does not document a rollback or restore procedure for folders and prompts, so decide how much you trust a browser extension with that data before you migrate years of history into it.

Limits: host coupling, thin documentation, and a Safari build that is not just Vite

The Gemini-exclusive list is long, and that is the honest shape of the project. Timeline navigation, chat export, Mermaid rendering, the Markdown fix, image refinement, Deep Research extraction and the power tools are all listed as Gemini-only. Claude and ChatGPT get a shorter set through the plugin engine. If your work lives in Claude, you are getting a timeline, a usage bar, width control and a CJK fix, not the full suite. The README does not promise parity, and you should not read the marketing line about Gemini, Claude and ChatGPT being "finally, complete" as feature parity.

The second limit is documentation depth in the repository itself. The README is a feature index with links out to the docs site. It does not explain data storage format for folders, where the prompt vault persists, what happens when two browsers sync through Google Drive at once, or how to recover if a sync overwrites local state. Cloud Sync is listed as syncing folders and prompts through Google Drive, or iCloud on Safari, and that is the whole description in the README.

The third is the Safari path. The package.json contains a clean:build script that clears .build while deliberately keeping .build/sparkle-source-packages, and the Safari build has a resource verification step. That suggests an Xcode-based packaging flow rather than a plain web-extension bundle. Building for Safari is not the same afternoon as building for Chrome.

Voyager compared with Gemini's built-in conversation management and with a local chat client

The obvious alternative is doing nothing and using Gemini's own sidebar. The difference in approach is where the data lives. Gemini's native sidebar is server-side and controlled by Google. Voyager's folders and prompts are extension-side, and the README makes one concrete claim about that: during an incident on February 18th when the Google Gemini App made some users' historical conversations inaccessible, Voyager users could still see their saved conversations in their folders. That is the case for the extension over the built-in UI, and it is also the case against it: you now have a second copy of your organization that only exists in one browser profile unless you enable Cloud Sync.

A second alternative is a local chat client that talks to a model API directly. Those give you a real database, real search and real export, because they own the whole stack. Voyager cannot do that. It is a content script bolted onto someone else's DOM, which is why the feature list includes things like a Markdown bold-syntax fix and a prevent-auto-scroll toggle. Those exist because the host page changes and breaks rendering. A local client has no such problem, but it also cannot give you the Gemini web app's model access, Deep Research sessions or image generation. Pick based on whether you need the hosted product or the data ownership.

Licence, maintenance and what an upgrade costs you

Voyager is GPL-3.0, stated in package.json and shipped as a LICENSE file at the repository root, with a THIRD_PARTY_NOTICES.md alongside it. For personal use in a browser this is unremarkable. If you fork it, ship a modified build to other people, or bundle it into a product, copyleft obligations attach to the distributed work. That is a constraint to check with whoever handles licensing on your side, not a footnote.

The project is not archived, and the last push was on 2026-09-10. The most recent release listed is v1.8.3 on 2026-09-07, following v1.8.2 on 2026-08-30 and v1.8.1 on 2026-08-26. Three releases inside two weeks tells you the cadence is fast, and fast cadences on a content-script extension are a double-edged thing: fixes for host-page breakage arrive quickly, and so do changes to stored data shapes. The repository has a regressions:check script (node scripts/validate-regression-notes.mjs) and an i18n:check script, which suggests the maintainer tracks regressions deliberately. The README does not document a migration path between versions for saved folders or prompts, so before upgrading, check the release notes for that specific version rather than assuming your data carries over.

Editorial conclusion

Adopt Voyager if you keep long Gemini threads, want two-level folders and a prompt vault that also works on local apps, and accept a GPL-3.0 extension whose Safari build depends on a separate Xcode project. Skip it if you need a documented export or rollback path for your saved folders before you trust them to a browser extension, or if you cannot take copyleft terms in a redistributed product. Verify first: whether your browser's store listing matches version 1.8.3, whether Cloud Sync via Google Drive (or iCloud on Safari) is available in your region, and what the repository's own build scripts produce for your target browser.

Frequently asked questions

How do I install Voyager?

The README links to Chrome Web Store, Edge Add-ons and Firefox Add-ons listings, so the usual route is your browser's extension store. To build from source you need [email protected], then run bun install and bun run build:chrome or another per-browser build script.

How do I use Voyager?

Install the extension for your browser, then open the extension popup to reach settings such as Visual Effects and to add a custom website. The Prompt Vault stores prompts and reuses them across Gemini, AI Studio and any site you add, and on Gemini you get folders, timeline navigation and chat export.

Does Voyager work on ChatGPT and Claude, or only Gemini?

It works on both, but with a smaller feature set. The README lists a Claude timeline, a Claude usage bar, formula copy, comfortable reading width on Claude and ChatGPT, and a CJK render fix on Claude, all powered by the Voyager Plugin Engine. Features such as chat export, Mermaid rendering and the power tools are labelled Gemini exclusive.

Can Voyager's prompt manager run on a site that is not Gemini, Claude or ChatGPT?

Yes. The README says you add any site in the extension popup and the prompt manager follows you there, local apps included, and shows it running inside DeepSeek Harness on localhost:3080.

What licence does Voyager use?

GPL-3.0, declared in package.json and included as a LICENSE file at the repository root, with THIRD_PARTY_NOTICES.md for bundled components. That matters if you redistribute a modified build rather than using it privately in your own browser.

Official sources

  1. License: GPL-3.0
  2. Nagi-ovo/voyager on GitHub
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/nagi-ovo-voyager.svg)](https://hysenlabs.com/projects/nagi-ovo-voyager)