Architecture overview
A high-level map of the AverQel clients, API, workers, data services, and the boundaries between its main product areas.
Web and desktop clients
The browser and Electron clients provide the user interface. Electron loads the shared web experience and does not receive provider secrets.
API boundary
The FastAPI service authenticates requests, applies tenant and user authorization, orchestrates work, and exposes health endpoints.
Workers and optional services
Background workers process configured document, DeepSpace, connector, maintenance, and scheduled work. Local inference, browser rendering, sandbox execution, email, push, and realtime voice require the relevant service configuration.
State and storage
PostgreSQL stores durable application data, Redis supports configured queue and event paths, and private object storage holds files. Production uploads require the configured storage and malware-scanning services.
External providers
OAuth providers, model providers, SearXNG, and approved remote MCP servers are reached by the backend through bounded and policy checked integrations.
Evidence-first web research
Explicit research requests use a provider-independent pipeline: planned search variants, secure page reads, passage ranking, durable source records, source-quality labels, and claim citation instructions before chat synthesis.
How a request moves
- The browser or Electron client sends a tenant-authenticated request.
- The API checks authentication, tenant scope, ownership, and role permissions for that route.
- Documents Hub handles source-file operations; Query handles retrieval-first document questions.
- DeepSpace handles its own conversation, working Library, and permitted optional tool workflows.
- Configured providers and workers perform only the work allowed by the request and policy.
- The relevant response, event, or durable result returns through its product surface.
Runtime boundaries
Client
-> frontend
-> api
-> PostgreSQL and Redis
-> MinIO and ClamAV
-> configured model and retrieval providers
-> private object storage and malware scanner
-> optional sandbox, browser, email, push, or voice services
-> ingestion, DeepSpace, MCP, maintenance, and scheduler workersCompose files define deployable service layouts, not proof that an environment has started or configured every service. Voice, sandbox, research rendering, email, push, and local inference each have additional deployment requirements described in their product guides.
Safety boundaries
The backend is the authorization boundary for authenticated requests, tenant access, provider credentials, Qel Connect sharing, and tool calls. Some product areas process content server-side. Assigned Support Managers can read support tickets, assigned Feedback Managers can read submitted feedback, and tenant moderators can read Qel Connect report details. Do not infer a client-only or end-to-end encryption guarantee from tenant isolation or encrypted storage.