Skip to content

Implement offline RAG with emergency corpus and multilingual support - #2848

Merged
esokullu merged 29 commits into
webbrain-one:mainfrom
esokullu:main
Aug 18, 2026
Merged

Implement offline RAG with emergency corpus and multilingual support#2848
esokullu merged 29 commits into
webbrain-one:mainfrom
esokullu:main

Conversation

@esokullu

Copy link
Copy Markdown
Collaborator

No description provided.

esokullu and others added 29 commits August 18, 2026 04:35
…mergency-corpus

# Conflicts:
#	src/chrome/src/ui/sidepanel.js
#	src/firefox/src/ui/sidepanel.js
- Add docs/offline-rag.md with full feature and architecture docs
- Add docs/fr/offline-rag.md (French) and docs/zh-CN/offline-rag.md (Chinese)
- Add two new FAQ entries to build sources (emergency_box, offline_licensing)
- Add FAQ keys to all 22 locale JSON files (English placeholder)
- Rebuild all FAQ HTML pages across 22 languages
…routing

- Persist indexPath in staging to prevent SQLite SAH-pool leaks on interrupted installs
- Reset SQLite worker promise on initialization failure
- Bypass web lock contention during active downloads in recoverEmergencyCorpusLifecycle
- Expand emergency query detection to multilingual keywords (TR, ES, FR, DE, RU, PT, ZH, JA)
- Route non-emergency queries exclusively to Wikipedia in standalone chat RAG
- Fix dead branch in ragComponentNetworkBytes in Emergency Box UI
- Revalidate cached ONNX model files in semantic reranker worker against storage eviction
- Update trace export and viewer telemetry to label multi-source retrieval as offline RAG
- Add release notes for 32.1.1 and update dist zips
# Conflicts:
#	src/chrome/src/ui/sidepanel.js
#	src/firefox/src/ui/sidepanel.js
… protect files, and hide offline answer engine

- Auto-start download of Emergency text pack & hybrid search indexes and Multilingual semantic search model (E5 ONNX) when Apocalypse Mode is enabled
- Guard against deleting Wikipedia archives, emergency corpus, and emergency resources while Apocalypse Mode is enabled
- Hide Offline answer engine readiness section from emergency-box.html
- Revert style updates from 9147523 back to previous clean styling
- Add and sync translations across all 22 supported locales
- Update tests and build release extension zip bundles
… model cards in apocalypse-mode.html

- Add Emergency text pack & hybrid search indexes card and Multilingual semantic search model card under Wikipedia in Simple English in apocalypse-mode.html
- Wire progress tracking, actions (start, retry, stop/remove), and aggregate readiness checks
- Update dist zips for v32.2.0
…standalone chat when apocalypse button is clicked
…ate to shared download tracker in apocalypse-mode
…c model descriptions in apocalypse-mode.html
Add emergency download controller, offline semantic runtime, and
emergency download client for both Chrome and Firefox. Refactors
emergency-box UI, download tracker, and apocalypse-mode to integrate
the new download pipeline. Removes stale dist zips and bumps version.

Working but barely.
Strip multilingual ranks.nl stopwords from offline lookups so
"I have asthma…" searches Asthma, and include Emergency Box for
personal health questions.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep Apocalypse Mode as the install hub and put search status plus source filters next to the library that chat actually uses.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep Emergency Box as the PDF library and point corpus/semantic tracker arrows at the collapsed install surface.

Co-authored-by: Cursor <cursoragent@cursor.com>
…e misses

A retrieval miss used to end the run before the model was ever called, so
someone cut off from the network got a refusal instead of an answer. The gate
now becomes a caveat: the turn continues ungrounded and the reply is labelled
as the model's own recollection. Emergency and health questions answer too,
under a stronger warning.

The standalone evidence budget was 900 tokens against a 700-token per-passage
cap, so one long article intro consumed almost the whole allowance. Raising the
budget to 1800 with a 420-token cap per passage fits four or five passages from
four or five documents in a comparable footprint.

Archive excerpts now come from the densest window of query terms rather than the
first place any one term appeared, so an answer several sections into an article
is reachable. A query whose tokens are all stop words searches the raw text
instead of reporting a miss no index ever ran.

The caveat ships in English plus the 22 other interface locales, in a copy
module beside the agent since the service worker cannot use the DOM-scoped UI
dictionaries.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Nothing loads ort-wasm-simd-threaded.jsep.*. Every consumer pins wasmPaths to
the asyncify build, and ort.webgpu.mjs resolves its WASM filename from flags
fixed at ONNX Runtime build time, with the jsep and jspi branches compiled out.
The WebGPU execution provider lives inside the asyncify artifact rather than
beside it, which is why Firefox has always shipped without the jsep pair.

Removing it cuts 26.9 MB from the unpacked Chrome package and 6.3 MB from the
zip, about a third of each. The vendor README drops the file from its table and
loses the brace expansion in its copy command so the next runtime update does
not restore it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Picks up the unverified-answer fallback and the removal of the unreachable ONNX
jsep runtime. Chrome and Edge drop from 18.6 MB to 12.3 MB.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…orpus

feat: offline RAG with emergency corpus, retrieval, and reranking
@vercel

vercel Bot commented Aug 18, 2026

Copy link
Copy Markdown

@esokullu is attempting to deploy a commit to the esokullu's projects Team on Vercel.

A member of the Team first needs to authorize it.

@esokullu
esokullu merged commit 36ce6e8 into webbrain-one:main Aug 18, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant