{"id":51605141,"url":"https://github.com/mgifford/ai-browser-test","last_synced_at":"2026-07-12T01:30:44.307Z","repository":{"id":343796001,"uuid":"1179108547","full_name":"mgifford/ai-browser-test","owner":"mgifford","description":"Does your browser support AI? If so what features?","archived":false,"fork":false,"pushed_at":"2026-05-13T11:52:46.000Z","size":378,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-13T13:37:51.841Z","etag":null,"topics":["llm","web","web-ai"],"latest_commit_sha":null,"homepage":"https://mgifford.github.io/ai-browser-test/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mgifford.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-11T17:40:20.000Z","updated_at":"2026-05-13T11:52:48.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mgifford/ai-browser-test","commit_stats":null,"previous_names":["mgifford/ai-browser-test"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mgifford/ai-browser-test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgifford%2Fai-browser-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgifford%2Fai-browser-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgifford%2Fai-browser-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgifford%2Fai-browser-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mgifford","download_url":"https://codeload.github.com/mgifford/ai-browser-test/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgifford%2Fai-browser-test/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35379590,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-11T02:00:05.354Z","response_time":104,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["llm","web","web-ai"],"created_at":"2026-07-12T01:30:42.824Z","updated_at":"2026-07-12T01:30:44.293Z","avatar_url":"https://github.com/mgifford.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI Browser Capability Demo\n\nInteractive single-page app to demonstrate AI-enabled browsing in Chrome, Firefox, and Edge, including runtime probes for built-in AI behavior.\n\n## What this is\n\nThis repo contains a static, front-end-only demo that works locally and on GitHub Pages.\nIt is designed for live presentations where you need to:\n\n- Compare browser AI positioning and strengths\n- Show what built-in AI browser interfaces are actually exposed at runtime\n\n## Project files\n\n- `docs/index.html`: Main UI and demo logic (served by GitHub Pages)\n- `docs/prompt-simulator.html`: AI Prompt Simulator — locally-simulated output to set expectations before testing in a real AI-enabled browser\n- `docs/browser-ai-configuration.html`: Guide for enabling/testing AI abilities in browser beta/nightly channels\n- `docs/experiment-recipes.html`: Hands-on experimentation lab with copy-ready prompts and source blocks\n- `docs/data/prompt-simulator.yml`: Prompt library used by the simulator shuffle feature\n- `docs/data/quick-scenarios.yml`: Quick scenario cards shown in the simulator\n- `docs/data/sample-corpus.yml`: Long-form source corpus for benchmark testing\n- `docs/.nojekyll`: Ensures GitHub Pages serves files as-is\n- `LICENSE`: GNU Affero General Public License v3.0 (AGPL-3.0)\n- `ACCESSIBILITY.md`: Accessibility commitments and checklist\n- `SUSTAINABILITY.md`: Sustainability goals and practices\n- `DEFINITION_OF_DONE.md`: Completion criteria for report-quality deliverables\n- `AGENTS.md`: Agent workflow and repository conventions\n\n## Demo features\n\n- Browser profile switcher for Chrome, Firefox, and Edge\n- Automatic runtime detection that highlights the currently used browser in Demo Profile\n- Visible runtime channel chip that calls out prerelease channels (Beta/Canary/Nightly/Dev) for AI testing\n- Capability matrix for AI-related browser functionality\n- Runtime-first matrix ordering where the detected browser column is shown first\n- Active browser column reflects live in-page capability status where measurable\n- Clickable capability names with a Feature details panel and documentation links\n- Built-in AI API test panel with one-click detection for common interfaces:\n\t- Prompt API candidates\n\t- Summarizer API\n\t- Writer API\n\t- Rewriter API\n\t- Translator API\n\t- Language Detector API\n\t- On-device ML signals\n- Live runtime capability probe that checks API readiness state\n- One-click local API test runners for detected and ready interfaces\n- Language Detector Playground with randomized multilingual samples and custom whole-page text testing\n- Prompt Test Bench with local JavaScript quality analysis:\n\t- Evaluate Prompt Quality: shows input length, word count, paragraph count, sentence count, and mode fit\n\t- Run Twice Consistency Check: runs the evaluation twice and confirms identical deterministic results\n\t- Modes: Summarize, Rewrite for executive audience, Compare options\n- Built-in assistant probe for callable capabilities and local-vs-cloud observability limits\n- On-device model identity probe (best-effort, browser-dependent)\n- Responsive layout for desktop and mobile\n- CO2.js-powered sustainability footer on HTML pages with page-weight and estimated CO2e disclosure\n- AI Prompt Simulator (`prompt-simulator.html`) for setting expectations before testing in a real browser:\n\t- Browser profile selector (Chrome, Firefox, Edge) with expected voice and output style\n\t- Run AI Demo: locally-simulated output using JavaScript text analysis (no AI model required)\n\t- Shuffle Prompt Idea: random prompt from the YAML library with no consecutive duplicates\n\t- Load Benchmark Pack: loads long-form civic content for summarization testing\n\t- Quick Scenarios: 4 randomly selected scenario cards that load a prompt and auto-run\n\t- Reshuffle: refreshes the scenario cards from the YAML library\n\t- Graceful empty-input handling with a helpful nudge message\n\t- Clear \"Simulator — Not Real AI Output\" disclaimer throughout\n\n## Quick start\n\nNo build step is required.\n\nRuntime dependencies:\n\n- Google Fonts stylesheet\n- CO2.js loaded from jsDelivr ESM CDN\n\nIf external CDNs are blocked/offline, the app remains usable with reduced functionality for those features.\n\n1. Clone this repository.\n2. Open `docs/index.html` in a browser.\n\nOptional local server:\n\n```bash\ncd /workspaces/ai-browser-test\npython3 -m http.server 8000\n```\n\nThen visit `http://localhost:8000/docs/`.\n\n## Built-in browser AI tests\n\nTo compare popular browsers directly:\n\n1. Open the same hosted page in Chrome.\n2. Click **Run Built-in Tests** and review detected interfaces.\n3. Repeat in Firefox.\n4. Repeat in Edge.\n\nThe results are rendered directly on the page so you can show them live.\n\nThe page now includes a local AI lab that:\n\n1. Probes runtime readiness (not just global presence)\n2. Exposes per-API test buttons only when runnable\n3. Runs in-browser test calls for available built-in APIs\n4. Includes feature-level probes for built-in assistant behavior and on-device model identity\n\n## Feature details and limits\n\nThe Feature details panel in [docs/index.html](docs/index.html):\n\n1. Explains what each capability means in practice\n2. Links to vendor docs/support pages for feature specifics\n3. Exposes local probes where available\n\nImportant scope limits for browser-page probing:\n\n- Exact cloud provider routing is usually not exposed to normal webpage JavaScript\n- Model identity may be hidden even when local inference is available\n- Assistant surface internals (for example, full Copilot UI behavior) are not fully introspectable from page scope\n\nFor setup guidance before testing, use:\n\n- [docs/browser-ai-configuration.html](docs/browser-ai-configuration.html)\n\n## GitHub Pages deployment\n\nThis repository is ready for GitHub Pages as a static site served from the `docs/` folder.\n\n1. Push `main` to GitHub.\n2. In GitHub, go to **Settings \u003e Pages**.\n3. Under **Build and deployment**, choose:\n\t - **Source**: Deploy from a branch\n\t - **Branch**: `main`, folder `/docs`\n4. Save and wait for publishing.\n5. Open your Pages URL and run the demo in each browser.\n\nNo extra bundling, frameworks, or server-side code is required.\n\n## License\n\nThis project is licensed under the GNU Affero General Public License v3.0.\nSee `LICENSE` for full text.\n\n## Governance and policy docs\n\n- [ACCESSIBILITY.md](ACCESSIBILITY.md)\n- [SUSTAINABILITY.md](SUSTAINABILITY.md)\n- [DEFINITION_OF_DONE.md](DEFINITION_OF_DONE.md)\n- [AGENTS.md](AGENTS.md)\n- [STYLES.md](STYLES.md)\n\n## AI disclosure\n\nThis section discloses every AI tool used in this project — how it was used to build the project, whether AI runs during normal use, and which browser-based AI is invoked by the demo itself.\n\n### AI used to build this project\n\n| AI tool | Role |\n|---|---|\n| **GitHub Copilot** | Used as a coding assistant throughout development — generating code, writing and editing documentation, and implementing new features via Copilot-driven pull requests. |\n\n### AI invoked when running the demo\n\nThe demo application itself probes and optionally invokes browser-built-in AI APIs when a user clicks test or run buttons. No AI runs automatically in the background; all invocations require an explicit user action.\n\n| Browser / AI | When invoked |\n|---|---|\n| **Chrome Gemini Nano** (Prompt API, Summarizer API, Writer API, Rewriter API, Translator API, Language Detector API) | When a user clicks **Run Built-in Tests** or an individual API test button in Chrome with the relevant origin trial or flag enabled. |\n| **Firefox AI** | When a user runs the built-in test panel in Firefox with AI features enabled in browser settings. |\n| **Microsoft Edge Copilot** | When a user runs the built-in test panel in Edge; Copilot surface introspection is limited to what the browser exposes to page-scope JavaScript. |\n\n### Browser-based AI: scope and limits\n\n- All browser AI calls are made from page-scope JavaScript; cloud routing and model identity are not always exposed.\n- The demo cannot access browser AI surfaces that are restricted to browser-internal or extension scope.\n- Model identity probes are best-effort and browser-dependent; results may vary by version, channel, geography, account, and experiment flags.\n\n## Research notes\n\n- [BROWSER_AI_SPECIFICS.md](BROWSER_AI_SPECIFICS.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgifford%2Fai-browser-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgifford%2Fai-browser-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgifford%2Fai-browser-test/lists"}