OpenEvidence Selection Opener is a lightweight Chrome extension for clinicians,
students, and evidence-based medicine readers. Select text on a whitelisted page,
click Ask OpenEvidence, and the extension opens the selection in OpenEvidence
right next to the current tab. With a validated Groq API key, it can also rewrite
selected recall-style text into editable foreground questions before sending them
to OpenEvidence.
Personal fork note (liangRXdev). This fork adds a Dotflows integration on top of the upstream htlin222/oe-extension: it lets you pick one of your OpenEvidence Dotflows in the side panel and have it officially activated on the answer you send. Everything else tracks upstream. See Dotflows (fork addition) below. Maintained for personal use.
- Selection toolbar anchored above highlighted text.
UpToDateandGooglebuttons to search the selection beside the current tab.- Right-click
Ask OpenEvidencecontext menu for pages and Chrome PDF selection fallback. - Opens OpenEvidence beside the current tab, optionally in the background.
- Local query history with a dedicated options tab, recording each text sent to OpenEvidence (plus the original selection, prompt, and transformed text for
PICO/custom rewrites). - Whitelist-based activation, including
file:///*support. - BYOK Groq integration stored in
chrome.storage.local. - Built-in
PICOrewrite flow for evidence-based medicine questions. - Custom prompt buttons with user-defined names and prompt instructions.
- Editable LLM output panel with
Copy,Ask OpenEvidence, andClose. - Light, dark, or system appearance modes.
- No runtime framework, no remote UI dependencies.
https://ankiuser.net/study
https://www.openevidence.com/*
http://uptodate.com/*
nejm.org/*
file:///*
Entries are URL prefixes. * can be used as a wildcard.
- Download the latest
oe-extension-vX.Y.Z.zipfrom Releases. - Unzip it.
- Open
chrome://extensions. - Enable Developer mode.
- Click
Load unpacked. - Select the unzipped extension folder.
The release also includes a .crx artifact generated by GitHub Actions.
git clone https://github.com/htlin222/oe-extension.git
cd oe-extension
npm test
npm run buildThen load dist/extension from chrome://extensions.
For local PDF files opened in Chrome:
- Open
chrome://extensions. - Open this extension's details.
- Enable
Allow access to file URLs.
Chrome's built-in PDF viewer may not expose selection events to content scripts.
When the floating toolbar does not appear, use the right-click context menu:
select text, right click, choose Ask OpenEvidence.
The PICO and custom prompt buttons appear only after a Groq API key is validated.
- Open extension options.
- Under
PICO rewrite, clickEdit. - Paste a Groq API key.
- Click
Save.
The key is stored locally with chrome.storage.local; it is not committed,
bundled, or sent anywhere except Groq API requests initiated by the extension.
Custom prompts let you create extra buttons beside Ask OpenEvidence and PICO.
Each custom prompt has:
- a button name, such as
Dx,Summarize, orGuideline; - a prompt that tells Groq how to transform the selected text.
The model output is displayed in an editable panel. You can copy it or ask OpenEvidence with the edited result.
This section describes a feature added in this personal fork; it is not part of upstream
htlin222/oe-extension.
Dotflows are OpenEvidence's reusable answer
workflows (a saved explanation_prompt applied to a question). This fork lets you
attach one of your own Dotflows to a question straight from the extension, so the
answer is generated with that Dotflow already active — no manual selection on the
OpenEvidence page.
How it works
- The side panel fetches your Dotflow list from
https://www.openevidence.com/api/dotflows/dot-flowsusing your existing logged-in session (credentials: "include"), and caches it locally for 30 minutes (chrome.storage.local, keyoeDotflowsCache). - Pick a Dotflow in the floating selector. The extension appends
oe_ext_dotflow_id=<id>to theopenevidence.com/askURL it opens. - A
document_start,MAIN-world content script (src/dotflow-inject.js) patchesfetchandXMLHttpRequeston that page. When OpenEvidence submits the question (POST /api/article), it injectsdotflow: { id }into the request body under the confirmedinputsschema, then restores the original network functions. - The injection is one-shot per page load and touches only the matching OpenEvidence submit request; all other traffic is untouched.
Notes / limitations
- Requires being logged in to OpenEvidence in the same browser profile.
- Relies on OpenEvidence's private
/api/dotflowsand/api/articleshapes, which may change without notice; if activation stops working, append&oe_ext_debug=1to the/askURL to log every POST endpoint seen and re-verify the schema. - Scoped to
https://www.openevidence.com/ask*viamanifest.jsoncontent scripts.
The extension opens selections with this URL shape:
https://www.openevidence.com/ask?query=<selected text>&configName=prod&attachments=%5B%5D&_rsc=1pln2
Release packaging runs on GitHub release creation/publication:
- runs the test suite;
- builds
dist/oe-extension-v<version>.zip; - packs
dist/oe-extension-v<version>.crx; - uploads both files as release artifacts.
For stable CRX IDs across releases, add a repository secret named
CRX_PRIVATE_KEY_BASE64 containing the base64-encoded Chrome extension private
key. Without that secret, CI still generates a .crx, but Chrome may assign a
new extension ID.
npm test
npm run buildThe project is intentionally plain Manifest V3 JavaScript, CSS, and HTML.
If you use this project, please cite it:
@software{lin2026oeextension,
author = {Lin, Hsieh-Ting},
title = {oe-extension: OpenEvidence selection helper for Chrome},
year = {2026},
url = {https://github.com/htlin222/oe-extension},
version = {0.1.2}
}This project is licensed under the MIT License.
