Go to file
golem 3d5ce6a9f4 doc: revise options spec after empirical verification
Two verification passes, driving real Firefox 153.0.1 under Xvfb rather than
reading docs, changed several load-bearing decisions.

Added back: the keyboard shortcut now acts on selected text. activeTab adds
no install-prompt line (confirmed by running Firefox's own
formatPermissionStrings: ["activeTab","storage","menus"] yields msgs: []),
and ext-commands.js grants activeTab before firing onCommand. Records the
three failure shapes of executeScript, one of which resolves silently to
[null] on parent-process about: pages, and that commands.getAll() reports a
suggested_key as registered even when Firefox has silently overridden it.

Rejected with evidence, in Appendix B: auto-submitting the prompt. The
scheme authenticated navigation provenance when auto-submit needs text
provenance, and a hostile page can smuggle ~16 KB of invisible instructions
into info.selectionText. webNavigation.transitionType is not a security
boundary either -- the marker is consumed on commit, so an uncommitted
urlbar navigation leaves it armed for the next navigation to inherit
(demonstrated at 10.47s), and its freshness guard is dead code. Prefill-only
keeps the human checkpoint that makes the context menu safe.

Also rejected: a bundled extension page as search_url (Firefox refuses to
install), and browser.omnibox -- which works and needs no permissions, but
moves the transmitter of search terms from Firefox to extension code, the
change that puts data_collection_permissions ["none"] at risk. Declined to
minimise AMO exposure.

New Risk 6 records the residual AMO question and that it should be asked
before submission, since a forced searchTerms declaration would add the
install line this design exists to avoid.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-30 07:51:43 -06:00
.gitea/workflows build: add Firefox development foundation 2026-07-29 16:13:35 -06:00
docs/superpowers/specs doc: revise options spec after empirical verification 2026-07-30 07:51:43 -06:00
icons build: removed old favicons 2024-06-10 02:27:22 -06:00
.gitignore build: add Firefox development foundation 2026-07-29 16:13:35 -06:00
AGENTS.md build: add Firefox development foundation 2026-07-29 16:13:35 -06:00
CHANGELOG.md doc: changelog 2024-06-10 04:25:07 -06:00
LICENSE.txt build: updated name to comply with OpenAI branding policy 2024-06-10 01:35:45 -06:00
manifest.json build: add Firefox development foundation 2026-07-29 16:13:35 -06:00
package-lock.json build: add Firefox development foundation 2026-07-29 16:13:35 -06:00
package.json build: add Firefox development foundation 2026-07-29 16:13:35 -06:00
README.md build: add Firefox development foundation 2026-07-29 16:13:35 -06:00
web-ext-config.mjs doc: add extension options panel design spec 2026-07-29 20:35:25 -06:00

Search with ChatGPT Powered by OpenAI Firefox Extension

This extension adds ChatGPT as a configurable Firefox search provider. Type gpt <query> in the address bar to open the query in a new ChatGPT session. It uses no API key, custom server, or intermediary handler.

This is an unofficial extension provided by Zavage Software Inc.

See LICENSE.txt for licensing terms.

Browser Support

Firefox Desktop is the current development and release target. Chrome, Brave, other Chromium browsers, and additional WebExtension platforms may be evaluated after the Firefox feature set is more substantial; they are not current targets.

Development

Install Node.js 22 or newer, Firefox, and the locked development dependencies:

npm ci

Available commands:

  • npm run dev launches the extension in a temporary Firefox profile and reloads it when files change.
  • npm run lint validates the extension and treats warnings as errors.
  • npm run build creates web-ext-artifacts/search-with-chatgpt-firefox-<version>.zip.
  • npm test runs the same lint and build checks used by Gitea Actions.

The generated ZIP is unsigned. Use npm run dev for local testing; signing and submission to Mozilla Add-ons remain a separate release step.

Before submitting a change, confirm that gpt <query> opens https://chatgpt.com?q=<query>, the provider remains non-default, and it can be configured in Firefox search settings.

Privacy Policy

This extension collects zero user data.