Saltar a contenido

Contexto del sistema

Vista del contenedor

flowchart LR
    User["Miembro del usuario o del equipo"] --> UI["Reaccionar y Vite frontend"]
    UI -->|HTTP /api and WebSocket| API["Motor FastAPI"]
    API --> Vault["Cúpula de marcado y activos"]
    API --> Local["SQLite local, índices, cachés, secretos"]
    API --> MCP["Servidores MCP y proveedores de IA"]
    API --> Comms["Correo, calendario, proveedores de contactos"]
    API --> Zotero["Traducción-servidor Zotero"]
    API --> Publish["Noción, Drupal y servicios sociales"]
    Desktop["Concha de escritorio de electrones"] --> UI
    Desktop --> API
    Office["Complementos de oficina y clipper web"] --> API

Límite de la frontera

La interfaz es una aplicación de una sola página React. App.jsx Posee las rutas de navegador de nivel superior, puerta de autenticación, shell global, carga de ruta perezosa, brindis, chat de agente, paleta de comandos, registrador de reuniones, recordatorios y aviso de actualización de escritorio. /api y el tráfico WebSocket al motor durante el desarrollo nativo.

Las páginas componen componentes reutilizables; los componentes llaman al motor a través de ayudantes compartidos o llamadas directas de búsqueda. No se confía en el interfaz para autorizar un espacio de trabajo, bóveda, usuario o operación destructiva. Los identificadores de cliente son señales de que el motor resuelve y valida.

Límite del motor

backend/server.py crea la aplicación FastAPI y registra routers de dominio. Los módulos de ruta traducen los contratos HTTP en llamadas de servicio. backend/services/; las entidades relacionales persistidas viven en backend/models/; La orquestación de AI vive en backend/agent/; vidas laborales programadas en backend/scheduler/ y habilidades de tiempo de ejecución.

La vida útil de la aplicación comienza infraestructura compartida, construye capacidades de agente, calienta índices seguros, inicia trabajadores IDLE de correo y luego cierra esos recursos. El inicio de integración opcional está aislado para que un proveedor no disponible no aborte el servidor completo.

Límites de almacenamiento

La bóveda y los datos locales tienen deliberadamente diferentes propiedades de durabilidad y sincronización:

  • Vault: contenido portátil del usuario; puede vivir en disco local o en un archivo respaldado por la nube proveedor.
  • Datos locales: SQLite, índices, cachés, secretos, registros, puntos de control y salidas; Nunca sincronizado con la nube.
  • Configuración: fusionado desde parámetros predeterminados de la aplicación, usuario o almacén, el entorno anula, y las tiendas de credenciales locales.

Ver datos y almacenamiento para la propiedad y la reconstrucción de las reglas.

Sistemas externos

Todos los servicios externos son dependencias opcionales de dominio. OAuth y credenciales se gestionan localmente. Los adaptadores normalizan el comportamiento específico del proveedor para Google, Microsoft, IMAP/SMTP, CalDAV, Notion, Drupal, proveedores de IA, redes sociales, proveedores de archivos y traducción Zotero.