by Tin Nguyen*β 1, Thang T. Truong*1, Runtao Zhou*2, Trung Bui, Chirag Agarwal2, Anh Totti Nguyen1
*Equal contribution Β Β β Project lead
1Auburn University Β Β 2University of Virginia
π Find Β π― Guide Β π‘οΈ Hide Β π¬ Answer Β πΌοΈ Image Β π PDF
Have a question about something buried on a long page? PageGuide reads the page and highlights the exact text that answers your question β no manual scrolling needed.
How to use:
- Open any webpage and click the PageGuide icon in your toolbar to open the side panel.
- Make sure the Page toggle is On (the default).
- Type your question in plain English, e.g. "What is the return policy?" or "Where is the contact email?"
- PageGuide highlights the relevant section on the page and shows you the answer in the panel.
Not sure how to complete a task on an unfamiliar site? PageGuide overlays live instructions directly on the page, highlighting the exact button or field to interact with at each step.
How to use:
- Navigate to the site where you want to complete a task.
- Open PageGuide from the toolbar.
- Ask a "how to" question, e.g. "How do I change my password?" or "How do I export this spreadsheet as a PDF?"
- PageGuide displays step-by-step instructions on the page. Each step highlights the exact element β click it, or let PageGuide auto-fill text fields and navigate for you.
- Confirm each step at your own pace; PageGuide waits for you and resumes on the next page if navigation is needed.
Cluttered with ads, cookie banners, or sidebars? Describe what you want gone and PageGuide removes it without refreshing the page.
How to use:
- Open any webpage with unwanted content.
- Open PageGuide from the toolbar.
- Type what you want to remove, e.g. "Hide all ads and the sidebar" or "Remove the cookie banner."
- PageGuide detects the matching elements and makes them disappear instantly.
Need a quick fact that has nothing to do with the current page? Switch PageGuide into general-knowledge mode and ask anything.
How to use:
- Open PageGuide from the toolbar.
- Toggle Page to Off in the side panel (this tells PageGuide to ignore the current page).
- Type any question, e.g. "What is the capital of France?" or "Explain what a p-value means."
- PageGuide answers from its AI knowledge base directly in the panel.
Have a screenshot or product image and want to find the matching item on the current page? Upload it and ask.
How to use:
- Navigate to the page you want to search visually.
- Open PageGuide from the toolbar.
- Click the π attachment icon in the chat bar, or paste an image directly with Ctrl/Cmd+V.
- Type your question alongside the image, e.g. "Find this product on the page" or "Where is this button?"
- PageGuide compares your image against the page and highlights the matching element.
Reading a long PDF in the browser? Ask questions and PageGuide finds the relevant passage without you having to read the whole document.
How to use:
-
Click the π PDF button in the toolbar.
-
Add your PDF in one of three ways:
- Drag and drop the PDF file.
- Click the upload button and select a file.
- Paste a PDF URL into the input field.
-
Ask a question about the document, such as:
- βWhat is the main finding?β
- βSummarize Section 3.β
-
PageGuide reads the PDF and answers your question with cited evidence.
-
Click the citation to jump to the highlighted passage directly in the PDF viewer.
Get PageGuide up and running in seconds. No configuration needed to start exploring!
Click the button below to install PageGuide directly to your browser:
The extension will automatically download and install. You'll see a confirmation notification in your browser.
Once installed, pin PageGuide to your toolbar for quick access:
How to pin:
- Look for the puzzle piece icon
in your browser's top-right corner - Click it to reveal all installed extensions
- Find PageGuide and click the pin icon next to it
- The PageGuide icon will now appear in your main toolbar for easy access
Click the PageGuide icon in your toolbar to open the side panel and begin:
You're ready to go! Try one of these:
- π Ask a question about the current page, e.g., "What is the return policy?"
- π― Get step-by-step instructions, e.g., "How do I export this as a PDF?"
- π‘οΈ Hide unwanted content, e.g., "Remove all ads and popups"
- πΌοΈ Upload an image to search visually
- π¬ Toggle Page: Off to ask general knowledge questions
Before you can start using PageGuide, configure your LLM provider:
- Open Settings: Click the βοΈ gear icon in the top-right corner of the side panel
- Choose a Provider: Select from:
- Google Gemini (free tier available)
- OpenAI (requires API key)
- OpenRouter (aggregates multiple models)
- Enter Your API Key: Paste your API key into the field
- Test Connection: Click Test & Save Connection to verify your setup
- Done! Your configuration is saved and ready to use
π Need an API key? Check the provider's website for setup instructions.
- Pin to quick access: Keep the extension icon pinned in your toolbar (see Step 2)
- Keyboard shortcut: You can set a custom keyboard shortcut in
chrome://extensions/shortcuts - Privacy: Your API key is stored only in your browser and never shared with us
- Download
- Download the latest zip file this repo (
masterbranch: https://github.com/tin-xai/pageguide).
- Install
- Open Chrome and go to
chrome://extensions/ - Enable Developer mode (toggle in top right)
- Click Load unpacked
- Select the
pageguidefolder from the downloaded and unpacked zip file - Click Extension icon
- Pin the extension icon to your toolbar
- Use the extension by clicking the icon in the toolbar
- Upgrading
- Download the latest zip file
- Unzip and replace the existing
pageguidefolder. - Reload the extension in
chrome://extensions/by clicking the reload button on the extension card.
Not Supported:
- Firefox, Safari.
- Click the extension icon to open the side panel
- Click the βοΈ Settings (gear icon) at the top right corner of the side panel
- Choose your LLM provider and enter your API key (support Gemini, OpenRouter, and OpenAI providers)
- Click Test & Save Connection to validate your key
- Optionally configure:
- Vision (Screenshot) β enable/disable visual analysis (default: on)
- Show Element Indices (SoM) β display numbered badges on page elements (default: off)
| What you want | What to type |
|---|---|
| Find info on page | What is the return policy? |
| Step-by-step task | How do I change my password? |
| Hide distractions | Hide all ads and sidebars |
| General knowledge | (toggle Page: Off) What is the capital of France? |
| Search by image | (upload image via π) Find this product on the page |
| Ask about a PDF | (open PDF) Summarize section 3 |
PageGuide was evaluated in a controlled within-subjects user study. All data and task stimuli are publicly available on HuggingFace.
| Property | Value |
|---|---|
| Design | Counterbalanced within-subjects |
| Participants | ~47 |
| Conditions | extension (PageGuide active) vs. control (no extension) |
| Task types | find Β· guide Β· hide |
| Metrics | Completion time, answer correctness, 7-point Likert survey |
Each participant completed all three task types in both conditions. Condition order was counterbalanced to control for learning effects.
Results summary
| Task | n | Control (s) | Extension (s) | Ξ (s) | p (Wilcoxon) |
|---|---|---|---|---|---|
| find | 86 | 81.1 | 70.8 | β10.3 | 0.094 |
| guide | 85 | 76.2 | 109.3 | +33.1 | < 0.001 β± |
| hide | 82 | 80.3 | 45.2 | β35.1 | < 0.001 β± |
β± Statistically significant at Ξ± = 0.05.
Post-study survey (7-point Likert, n β 47)
| Task | Difficulty without PageGuide | Ease with PageGuide | Accuracy with PageGuide |
|---|---|---|---|
| Find | 4.4 / 7 | 5.7 / 7 | 6.0 / 7 |
| Guide | 4.8 / 7 | 5.6 / 7 | 5.5 / 7 |
| Hide | 5.5 / 7 | 5.9 / 7 | β |
pageguide_userstudy
- Purpose: Raw interaction logs from the user study β completion times, chat transcripts, correctness labels, paired statistical results, and post-study survey responses.
- Used in: Section 5 (User Study / Evaluation)
- Download: π€ ttn0011/pageguide_userstudy
from datasets import load_dataset
tasks = load_dataset("ttn0011/pageguide_userstudy", data_files="tasks.csv", split="train").to_pandas()
paired = load_dataset("ttn0011/pageguide_userstudy", data_files="paired_times.csv", split="train").to_pandas()pageguide_find_data
- Purpose: Task stimuli for the Find condition β 10 real webpages (NASA, Wikipedia, Cleveland Clinic, WWF, Britannica, JMLR) each annotated with up to 2 factual questions, ground-truth answers, and supporting evidence spans.
- Used in: Section 5.1 (Find Task Setup)
- Download: π€ ttn0011/pageguide_find_data
find_tasks = load_dataset("ttn0011/pageguide_find_data", split="train").to_pandas()pageguide_guide_data
- Purpose: Task stimuli for the Guide condition β 7 procedural tasks across 6 platforms (Google Sheets, Google Docs, Google Slides, Coda, TradingView, Scratch), labelled Easy or Medium difficulty.
- Used in: Section 5.2 (Guide Task Setup)
- Download: π€ ttn0011/pageguide_guide_data
guide_tasks = load_dataset("ttn0011/pageguide_guide_data", split="train").to_pandas()pageguide_hide_data
- Purpose: Task stimuli for the Hide condition β 37 annotated webpage snapshots (Amazon, Netflix, TechCrunch, Allrecipes, Spotify, Yelp, and more) with
(user_goal, hide_query, difficulty, hidden_elements)annotations and ground-truth CSS selectors. HTML snapshots available on Google Drive. - Used in: Section 5.3 (Hide Task Setup)
- Download: π€ ttn0011/pageguide_hide_data
hide_tasks = load_dataset("ttn0011/pageguide_hide_data", split="train").to_pandas()Contributions are welcome! To get started:
- Fork the repository and create a feature branch (
git checkout -b feat/your-feature) - Make your changes β keep PRs small and focused on a single concern
- Ensure all tests pass:
npm run ci - Submit a pull request with a clear description of what and why
Please follow the rules in CLAUDE.md and open an issue first for larger changes so we can align on the approach.
We use Playwright to run end-to-end (E2E) tests, integrated with automated continuous integration (CI) via GitHub Actions. The CI pipeline runs whenever a commit is pushed to the main branch or a pull request targeting main is opened or updated, invoking npm run ci to execute the full test suite.
The E2E tests verify that the extension loads correctly, its UI pages render and respond to user actions, content scripts behave on real-world pages, and common edge cases do not cause failures.
To run the tests locally, use the following command:
npm run ciPageGuide is built on top of some great open-source tools and APIs:
- Playwright β end-to-end testing
- Chrome Extensions API (Manifest V3) β extension platform
- LLM providers: Google Gemini, OpenAI, OpenRouter
If PageGuide saves you time or makes your browsing better, consider giving it a star β it helps others discover the project.






