LocalAI/core/http/react-ui/e2e
Richard Palethorpe c60ed75258 feat(middleware): Model routing, PII filtering, Cloud model proxies
Add a routing middleware stack and a cloud-proxy backend.

* cloud-proxy: a Go gRPC backend that forwards OpenAI- and
  Anthropic-shaped chat requests to upstream providers, with an
  optional translate mode (OpenAI request -> Anthropic /v1/messages
  -> OpenAI response) and full tool-calling support.

* routing: admission control, content-aware model routing
  (embedding cache + classifier + rerank + Arch-Router score),
  PII detection/redaction (regex + NER) with streaming filter and
  OpenAI/Anthropic adapters, and a per-user/per-key billing recorder
  backed by GORM or in-memory storage.

* middleware: UsageMiddleware records usage via the billing recorder,
  plus admission, route-model, usage-stamp and trace middlewares.

* observability: BackendTrace ring buffer stores full request bodies
  (capped), MITM proxy emits structured trace events, and router
  classifier decisions surface at /api/router/decide.

* gallery: Arch-Router-1.5B (Q4_K_M and Q8_0).

* UI: cloud-proxy model-editor fields, classifier system-prompt and
  score-normalization config, and a Traces page rendering request
  bodies.

Assisted-by: claude-code:claude-opus-4-7 [Read] [Edit] [Bash]
Signed-off-by: Richard Palethorpe <io@richiejp.com>
2026-05-24 09:42:31 +01:00
..
audio-transform.spec.js feat: add LocalVQE backend and audio transformations UI (#9640) 2026-05-04 22:07:11 +02:00
backend-logs.spec.js feat(ui): Per model backend logs and various fixes (#9028) 2026-03-18 08:31:26 +01:00
chat-errors.spec.js feat(ui, openai): Structured errors and link to traces in error toast (#9068) 2026-03-20 15:06:07 +01:00
chat-polling-selection.spec.js fix(react-ui/chat): stop wiping selection on every /api/operations poll (#9904) (#9917) 2026-05-21 12:17:51 +02:00
import-form-ux-batch-a.spec.js feat(importer): expand importer flow to almost all backends (#9466) 2026-04-22 22:42:37 +02:00
import-form-ux-batch-b.spec.js feat(importer): expand importer flow to almost all backends (#9466) 2026-04-22 22:42:37 +02:00
import-form-ux-batch-d.spec.js fix(react-ui/e2e): scope backendTrigger to <main> so it skips LanguageSwitcher 2026-05-04 08:58:25 +00:00
import-form-ux-batch-e.spec.js fix(react-ui/e2e): scope backendTrigger to <main> so it skips LanguageSwitcher 2026-05-04 08:58:25 +00:00
import-form-ux-batch-f.spec.js feat(importer): expand importer flow to almost all backends (#9466) 2026-04-22 22:42:37 +02:00
manage-logs-link.spec.js test(react-ui): drive Manage page Backend logs link via the new kebab menu 2026-04-26 20:51:01 +00:00
media-history.spec.js feat(ui): Add media history to studio pages (e.g. past images) (#9151) 2026-03-30 00:49:55 +02:00
middleware-page.spec.js feat(middleware): Model routing, PII filtering, Cloud model proxies 2026-05-24 09:42:31 +01:00
model-config.spec.js feat(ui): Interactive model config editor with autocomplete (#9149) 2026-04-07 14:42:23 +02:00
models-gallery.spec.js feat(gallery): Speed up load times and clean gallery entries (#9211) 2026-05-06 14:51:38 +02:00
navigation.spec.js feat: add quota system (#9090) 2026-03-21 10:09:49 +01:00
nodes-per-node-backend-actions.spec.js feat(distributed): support multiple replicas of one model on the same node (#9583) 2026-04-27 21:20:05 +02:00
router-template.spec.js feat(middleware): Model routing, PII filtering, Cloud model proxies 2026-05-24 09:42:31 +01:00
settings-backend-logging.spec.js feat(ui, openai): Structured errors and link to traces in error toast (#9068) 2026-03-20 15:06:07 +01:00
traces-errors.spec.js feat(ui): Per model backend logs and various fixes (#9028) 2026-03-18 08:31:26 +01:00
traces.spec.js fix(traces): cap backend trace Data to keep admin UI responsive (#9960) 2026-05-23 14:50:40 +02:00
usage-dashboard.spec.js feat(middleware): Model routing, PII filtering, Cloud model proxies 2026-05-24 09:42:31 +01:00
users-tab-gating.spec.js feat(middleware): Model routing, PII filtering, Cloud model proxies 2026-05-24 09:42:31 +01:00