feat(web): On-device ML runtime — transformers.js + ModelManager (#172) #181

Merged
admin-mrrm merged 3 commits from 172-web-ml-runtime into main 2026-05-03 09:33:32 +02:00
Owner

Was wurde umgesetzt

  • @xenova/transformers als Dependency eingebunden
  • MailModelManager (src/services/model-manager.ts):
    • Dynamischer Import von @xenova/transformers — wird nicht beim App-Start geladen
    • Lazy-Download von Qwen2.5-0.5B-Instruct beim ersten suggest()-Aufruf
    • Modell wird automatisch in IndexedDB gecacht (transformers.js intern)
    • Fortschritts-Events: idle → downloading (0–100%) → loading → ready
    • suggest(mailSnippet, existingTags) läuft vollständig im Browser, kein Server-Call
    • Singleton-Export mailModelManager
  • useMailModel-Hook (src/hooks/use-mail-model.ts) für React-Komponenten
  • Vite-Config: @xenova/transformers von Pre-Bundling ausgenommen (WASM/Worker-Kompatibilität)

Closes #172

## Was wurde umgesetzt - `@xenova/transformers` als Dependency eingebunden - `MailModelManager` (`src/services/model-manager.ts`): - Dynamischer Import von `@xenova/transformers` — wird **nicht** beim App-Start geladen - Lazy-Download von `Qwen2.5-0.5B-Instruct` beim ersten `suggest()`-Aufruf - Modell wird automatisch in IndexedDB gecacht (transformers.js intern) - Fortschritts-Events: `idle → downloading (0–100%) → loading → ready` - `suggest(mailSnippet, existingTags)` läuft vollständig im Browser, kein Server-Call - Singleton-Export `mailModelManager` - `useMailModel`-Hook (`src/hooks/use-mail-model.ts`) für React-Komponenten - Vite-Config: `@xenova/transformers` von Pre-Bundling ausgenommen (WASM/Worker-Kompatibilität) Closes #172
feat(web): On-device ML runtime — transformers.js + ModelManager (#172)
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
c4291c2896
Lazy-Initialisierung von Qwen2.5-0.5B-Instruct via @xenova/transformers
(WASM/WebGPU). Modell wird beim ersten suggest()-Aufruf heruntergeladen
und automatisch im Browser-Cache (IndexedDB) gehalten. Progress-Events
für Download-Fortschrittsanzeige. Vite konfiguriert um Pre-Bundling von
transformers.js zu vermeiden (WASM-Kompatibilität).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix(ci): @xenova/transformers korrekt in Lockfile + sharp aus Build ausschließen
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
b7f42678b3
pnpm install --no-frozen-lockfile mit neverBuiltDependencies: [sharp]
regeneriert, da sharp auf Termux (android-arm64v8) keine Prebuild-Binaries
hat und den Lockfile-Aufbau verhindert hatte.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Merge branch 'main' into 172-web-ml-runtime
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
99cb6aeb36
admin-mrrm deleted branch 172-web-ml-runtime 2026-05-03 09:33:32 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
admin-mrrm/mrrmlabapp!181
No description provided.