Octop: un asistente autoalojado para usuarios, agentes y canales
Arquitectura de Octop: web, mensajería y cron en un flujo común
Sigue entradas, runtime y responsabilidades distintas de almacenamiento.
Qué aprenderás
- Recorrer las capas
- Entender propiedad e identidad
- Usar el transporte correcto
Antes de empezar
- Python y administración básica
- Entorno de prueba aislado
Una vista de solo lectura muestra fronteras no verificadas antes de habilitarlas.
Conclusiones clave
- Un registro sirve varios agentes.
- Propiedad por fila no es aislamiento del sistema.
- WebSocket y SSE tienen rutas distintas.
Recorrer las capas
Dashboard y CLI llegan a rutas FastAPI; gestores y procesadores componen bibliotecas harness. La base de control y los archivos persisten clases distintas de información.
El diseño inicial no exige una cola externa. Simplifica arranque, pero concentra coordinación y ciclo de vida en un servicio; no garantiza disponibilidad.
Entender propiedad e identidad
La arquitectura describe un registro global y comprobaciones de propietario por fila, con excepción administrativa. No equivale a un proceso aislado para cada usuario.
Antes de confiar en aislamiento multiusuario hacen falta pruebas de rutas. Aquí no se auditaron todos los permisos, adaptadores o privilegios administrativos.
Usar el transporte correcto
El chat del dashboard usa WebSocket según la arquitectura; una reanudación tras aprobación todavía usa SSE. No implementes todos los flujos sobre una suposición antigua de SSE.
React utiliza APIs, no abre la base directamente. Ante mensajes ausentes, distingue transporte, sesión, modelo y persistencia antes de cambiar ajustes.
Cómo elegir
| Criterio | Opción A | Opción B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
Pasos de implementación
- 1
Mapea entradas al procesador.
- 2
Separa propiedad y aislamiento.
- 3
Verifica transporte de cada ruta.
Ejemplo para copiar
web / IM / cron -> gateway y procesador -> agente
base de control: usuarios, proveedores, sesiones
espacios: contenido y archivosPreguntas frecuentes
¿Cada usuario tiene un proceso?
La arquitectura documenta un registro global en un proceso compartido.
¿Todo streaming es SSE?
Chat usa WebSocket; la reanudación de aprobación conserva SSE.
Fuentes
- Octop / docs/architecture.mdFuente verificada 2026-09-23