Context del sistema¶
Vista dels contenidors¶
flowchart LR
User["Usuari o membre de l'equip"] --> UI["Frontend React i Vite"]
UI -->|HTTP /api and WebSocket| API["Backend FastAPI"]
API --> Vault["Vault Markdown i recursos"]
API --> Local["SQLite, índexs, memòries cau i secrets exclusivament locals"]
API --> MCP["Servidors MCP i proveïdors d'IA"]
API --> Comms["Proveïdors de correu, calendari i contactes"]
API --> Zotero["Zotero translation-server"]
API --> Publish["Notion, Drupal i serveis socials"]
Desktop["Shell d'escriptori Electron"] --> UI
Desktop --> API
Office["Complements ofimàtics i capturador web"] --> API
Límit del frontend¶
El frontend és una aplicació React de pàgina única. app/App.tsx gestiona
l'autenticació i el shell global; app/routes.tsx compon les rutes, l'àmbit
del Vault, les redireccions i la càrrega diferida de pàgines, mentre Home es
carrega inicialment. app/bootstrap.tsx prepara l'encaminament i l'idioma;
app/AppProviders.tsx conserva l'ordre StrictMode → API → router → autenticació.
El trasllat situa l'entrada CSS i la crida a bootstrap a app/main.tsx,
amb els estils ordenats a app/styles/index.css. Vite fa de proxy de /api
i WebSocket durant el desenvolupament natiu.
Organització dels mòduls¶
El trasllat revisat assigna la composició, la navegació i la integració global
a app/; els dominis de producte a features/; la infraestructura, la UI,
els registres, l'encaminament i els adaptadors API reutilitzables a shared/;
i els contractes generats a generated/. Els contractes generats es regeneren,
mai no s'editen manualment. El proveïdor d'autenticació pertany a
features/auth/context/AuthProvider.tsx i el context reutilitzable a
shared/auth/auth-context.ts.
El manifest frontend/feature-public-entries.json recull camins públics
exactes revisats i els seus motius. Les entrades index de l'arrel de cada
feature continuen admeses; un mòdul veí no llistat continua sent privat.
Els consumidors accedeixen directament a l'entrada arrel o a una entrada
explícitament revisada, incloent-hi imports diferits separats, sense introduir
un agregador de càrrega immediata. El manifest descriu l'accés; no importa mòduls.
Les dependències poden anar d'app cap a les features i la infraestructura
compartida. Les features no depenen d'app; shared no depèn de features ni
d'app, tampoc en imports només de tipus. Traslladar la previsualització
Markdown/wikilink a la infraestructura compartida no resol el seu cicle intern.
El trasllat ha de conservar la càrrega diferida, els estils, les rutes i els
payloads; l'estructura per si sola no acredita una integració ni una release completes.
Els components criden el backend mitjançant adaptadors API tipats a shared/api/.
El backend continua autoritzant usuaris, workspaces, vaults i operacions destructives.
Límit del backend¶
backend/server.py crea l'aplicació FastAPI i registra els encaminadors de
domini. Els mòduls de rutes tradueixen els contractes HTTP en crides a serveis.
La lògica de negoci pertany a backend/services/; les entitats relacionals
persistents, a backend/models/; l'orquestració d'IA, a backend/agent/; i
les tasques programades, a backend/scheduler/ i a les habilitats d'execució.
El cicle de vida de l'aplicació inicia la infraestructura compartida, construeix les capacitats d'agent, prepara els índexs que es poden carregar amb seguretat, inicia els processos IDLE de correu i, al final, tanca aquests recursos. L'arrencada d'integracions opcionals s'aïlla perquè un proveïdor no disponible no interrompi tot el servidor.
Límits d'emmagatzematge¶
El vault i les dades locals tenen propietats de persistència i sincronització deliberadament diferents:
- Vault: contingut portable de l'usuari; pot residir en un disc local o en un proveïdor de fitxers amb emmagatzematge al núvol.
- Dades locals: SQLite, índexs, memòries cau, secrets, registres, punts de control i sortides; no se sincronitzen mai al núvol.
- Configuració: combinació de valors predeterminats de l'aplicació, paràmetres d'usuari o vault, valors d'entorn i magatzems locals de credencials.
Consulteu dades i emmagatzematge per conèixer les responsabilitats i les regles de reconstrucció.
Sistemes externs¶
Tots els serveis externs són dependències opcionals dels dominis. OAuth i les credencials es gestionen localment. Els adaptadors normalitzen el comportament específic de Google, Microsoft, IMAP/SMTP, CalDAV, Notion, Drupal, els proveïdors d'IA, les xarxes socials, els proveïdors de fitxers i la traducció de Zotero.