v0.2.0
First published release. Version 0.1.0 was declared but never released, so this covers the extension as a whole.
What it does
A frontend plugin that answers visitor questions from the content of the page they are reading. Chrome's built-in Prompt API runs the model on the visitor's device. The extension defines no chat endpoint, database table, cookie, local storage or telemetry — there is no server component to operate.
Answers are grounded in a configurable region of the current page, default main. The default system prompt tells the model to answer only from that source, to say so when an answer is absent, and to treat instructions found in page content as untrusted data.
In this release
- Two prompt layers. Administrators own the system prompt in TypoScript; editors may append a supplemental instruction per plugin without replacing it.
- Answers in the language of the question, falling back to the page language from
<html lang>. The Prompt API'sexpectedOutputscapability alone does not constrain the response, so the requirement is stated in the instruction. - Model output rendered with DOM APIs only, covering a restricted Markdown subset: emphasis, inline and fenced code, lists, headings, block quotes and thematic breaks. No markup string is assembled and no HTML is parsed. Links are limited to validated HTTP(S) URLs, in bare or Markdown syntax.
- Fallback modes
noneandcontentElementfor browsers without an on-device model. Hidden, deleted and cyclic references produce no output; access restrictions and time-based publishing continue to apply. - Context-budget handling: the page source is reduced to fit the configured usage target, and a new question is refused once that target is reached.
- Keyboard-complete lifecycle with controls that stay focusable rather than disabled, and a polite live region that announces the finished answer once instead of streaming partial output to assistive technology.
- German translations for the frontend and the backend labels.
Requirements
TYPO3 12.4, 13.4 or 14.3 on PHP 8.2 through 8.5. TYPO3 12.4 is a compatibility target and requires a maintained security-patched distribution.
The assistant itself needs Chrome 148 or newer, roughly 22 GB free storage before the model downloads, and a one-time model download started by an explicit user action. Visitors who do not meet this receive the configured fallback, which is a supported path rather than an error state.
Status
This is a proof of concept, marked beta. Its context scope is the current page and nothing else.
Live demo: https://netresearch.github.io/t3x-nr-browser-ai/
Installation
composer require netresearch/nr-browser-ai
vendor/bin/typo3 extension:setupPublication status
- TER: extensions.typo3.org/extension/nr_browser_ai
- Packagist: packagist.org/packages/netresearch/nr-browser-ai
Security
All release artifacts are signed with Sigstore keyless signing.
Verify signatures
cosign verify-blob \
--bundle nr_browser_ai-0.2.0.zip.sigstore.json \
--certificate-identity-regexp "https://github.com/netresearch/.*" \
--certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
nr_browser_ai-0.2.0.zipVerify checksums
sha256sum -c checksums.txtSoftware Bill of Materials (SBOM)
SBOMs are provided in both SPDX and CycloneDX formats for supply chain transparency.