AFFiNE: Base de conocimiento todo en uno, alternativa a Notion y Miro

Publicado por


AFFiNE
Open Source

AFFiNE: Base de conocimiento todo en uno, alternativa a Notion y Miro

Plataforma de código abierto, local-first, con lienzo edgeless, IA multimodal y colaboración en tiempo real

Vídeo tutorial en YouTube

Mira el vídeo completo sobre cómo instalar y usar AFFiNE: Base de conocimiento todo en uno, alternativa a Notion y Miro en el canal GENBYTE:

¿Qué es AFFiNE: Base de conocimiento todo en uno, alternativa a Notion y Miro?

AFFiNE es una base de conocimiento de última generación que unifica planificación, organización y creación en una sola plataforma. Diseñada como alternativa a Notion y Miro, combina documentos, pizarra infinita y bases de datos en un lienzo sin bordes donde cualquier bloque —texto enriquecido, notas adhesivas, páginas incrustadas, bases de datos multi-vista, páginas enlazadas, formas y diapositivas— puede colocarse libremente. Es de código abierto, prioriza la privacidad con arquitectura local-first, soporta sincronización y colaboración en tiempo real, y permite autoalojamiento completo. El proyecto está construido sobre Blocksuite (editor colaborativo), y-octo (implementación CRDT de alto rendimiento en Rust) y OctoBase (motor de datos local-first en Rust).

Fusión real de documento y pizarra: cualquier bloque vive en un lienzo edgeless con IA multimodal integrada y propiedad total de los datos.

Características principales

Lienzo edgeless unificado

Documentos y pizarra se fusionan sin fronteras: texto enriquecido, notas adhesivas, páginas web incrustadas, bases de datos multi-vista, páginas enlazadas, formas y diapositivas coexisten en el mismo espacio infinito.

IA multimodal integrada (AFFiNE AI)

Asistente nativo capaz de generar informes profesionales, convertir esquemas en presentaciones, resumir artículos en mapas mentales, organizar tareas y backlogs, y prototipar aplicaciones o páginas web desde una sola instrucción.

Local-first y colaboración en tiempo real

Los datos residen siempre en el disco del usuario; la nube es opcional. Gracias a CRDT (y-octo / Yjs) se logra sincronización y edición colaborativa en clientes web y de escritorio multiplataforma.

Autoalojamiento y extensibilidad

Libertad total para gestionar, autoalojar, hacer fork y construir una instancia propia. La comunidad de plugins y bloques de terceros está en desarrollo; la base técnica es Blocksuite.

Plantillas listas para usar

Catálogo oficial con plantillas populares: tablero de visión, one-pager, planificadores de lecciones, planificadores digitales, plantilla ADHD, registro de lectura, notas Cornell, análisis SWOT, itinerarios de viaje y más.

Multiplataforma nativo

Cliente web, aplicaciones de escritorio (Electron) y móviles (Capacitor) desde una única base de código TypeScript/Rust.

Requisitos del sistema

  • Node.js >=22.12.0 <23.0.0 (según package.json)
  • Yarn 4.18.0 (gestor de paquetes del monorepo)
  • Rust toolchain (definido en rust-toolchain.toml) para componentes nativos
  • Docker y Docker Compose para despliegue autoalojado (documentación oficial)
  • Sistema operativo compatible con Electron (Linux, macOS, Windows) para cliente de escritorio

Instalación con Docker Compose

Despliegue con Docker (recomendado para autoalojamiento)

El proyecto recomienda iniciar con Docker para obtener una versión completa y sin restricciones. La configuración detallada de docker-compose no está incluida en el repositorio principal; la guía oficial se encuentra en la documentación de autoalojamiento. Existe un archivo render.yaml en la raíz para despliegue en Render, y una imagen publicada en GitHub Container Registry (ghcr.io/toeverything/affine-self-hosted).

# Consultar la guía oficial para docker-compose.yml completo
# https://docs.affine.pro/self-host-affine
# Imagen oficial: ghcr.io/toeverything/affine-self-hosted:latest

Desarrollo local (monorepo)

Clonar el repositorio, instalar dependencias con Yarn y lanzar el entorno de desarrollo. Requiere Node.js 22.x y toolchain Rust.

git clone https://github.com/toeverything/AFFiNE.git
cd AFFiNE
yarn install
yarn dev

GitHub Codespaces

Desde la página principal del repositorio, botón "Code" → "Create codespace on master" para obtener un entorno preconfigurado con el código clonado, construido y listo para ejecutar.

# No requiere comandos locales; se realiza desde la interfaz web de GitHub

Acceder al proyecto

Demo en vivo (cloud oficial)

Acceso inmediato sin instalación en https://app.affine.pro

Autoalojado

Tras desplegar con Docker (ver guía oficial), la instancia queda accesible en el puerto y dominio configurados (por defecto puerto 3010 en la documentación de referencia).

Cliente de escritorio

Descargas oficiales para Linux, macOS y Windows en https://affine.pro/download

Casos de uso

  • Gestión de conocimiento personal y de equipo (wiki, notas, documentación)
  • Planificación visual con pizarra infinita: mapas mentales, diagramas, tableros Kanban
  • Bases de datos multi-vista (tabla, kanban, galería, lista) integradas en el lienzo
  • Creación de presentaciones y diapositivas directamente desde bloques de contenido
  • Escritura asistida por IA: informes, resúmenes, mapas mentales, prototipos de código
  • Planificación de proyectos, backlogs, seguimiento de tareas y sprints
  • Plantillas educativas: planificadores de lecciones, notas Cornell, registros de lectura
  • Organización personal: planificadores digitales, tableros de visión, gestión de hábitos

Configuración avanzada

Configuración de autoalojamiento

La documentación oficial (https://docs.affine.pro/self-host-affine) cubre variables de entorno, base de datos (PostgreSQL), almacenamiento de objetos (S3 compatible), configuración de correo, OAuth, reverse proxy (Nginx/Traefik) y actualizaciones. No se incluyen valores concretos en la investigación; consultar la guía oficial.

# Ejemplo genérico de variables documentadas oficialmente
# DATABASE_URL=postgresql://user:pass@db:5432/affine
# STORAGE_TYPE=s3
# S3_ENDPOINT=https://s3.example.com
# S3_BUCKET=affine
# S3_ACCESS_KEY=xxx
# S3_SECRET_KEY=xxx
# REDIS_URL=redis://redis:6379
# NEXTAUTH_SECRET=clave_secreta_larga
# NEXT_PUBLIC_APP_URL=https://affine.tu-dominio.com

Desarrollo y contribución al núcleo

Monorepo gestionado con Yarn workspaces. Scripts principales: dev (desarrollo), build (compilación), lint (oxlint + oxfmt), test (vitest), typecheck (tsc). Requiere firmar CLA antes de fusionar PRs. Guías en docs/CONTRIBUTING.md y docs/contributing/tutorial.md.

# Comandos habituales en la raíz del monorepo
yarn dev # Entorno de desarrollo
yarn build # Build de producción
yarn lint # Linting estricto
yarn test # Tests unitarios e integración
yarn typecheck # Comprobación de tipos TypeScript

Ecosistema Blocksuite

AFFiNE se construye sobre Blocksuite (editor colaborativo headless). Para crear bloques personalizados, plugins o integrar el editor en otros proyectos, consultar https://blocksuite.io y el paquete @affine/component en packages/frontend/component.

# Instalación del paquete de componentes de AFFiNE (ejemplo)
npm install @affine/component
# Uso básico en proyecto React
import { AffineEditor } from '@affine/component';

function App() {
return <AffineEditor />;
}

Gestión y mantenimiento

Actualización de instancia autoalojada

Actualizar la imagen Docker a la etiqueta latest o versión específica, ejecutar migraciones de base de datos si la versión lo requiere (documentado en changelog y guía de autoalojamiento), y reiniciar contenedores. Se recomienda revisar CHANGELOG.md y la página de Release Notes en el blog oficial antes de actualizar.

docker pull ghcr.io/toeverything/affine-self-hosted:latest
docker compose down
docker compose up -d
# Verificar logs: docker compose logs -f affine

Copia de seguridad

Respaldar base de datos PostgreSQL (pg_dump), bucket de almacenamiento de objetos (S3/minIO) y volúmenes de configuración. La frecuencia y procedimiento dependen de la infraestructura elegida; no hay script oficial incluido en el repositorio.

# Ejemplo genérico de backup de PostgreSQL
docker exec -t postgres pg_dump -U affine affine > backup_$(date +%F).sql
# Backup de bucket S3 (usando aws cli)
aws s3 sync s3://affine-bucket ./backup/storage –endpoint-url https://s3.example.com

Monitoreo y logs

La aplicación expone logs estructurados en stdout/stderr. Compatible con recolectores estándar (Loki, ELK, Datadog). Métricas de rendimiento y errores pueden integrarse vía OpenTelemetry (dependencia @opentelemetry/core presente en resoluciones).

# Ver logs en tiempo real
docker compose logs -f affine
# Filtrar errores
docker compose logs affine 2>&1 | grep -i error

Stack técnico

  • TypeScript (lenguaje principal del frontend y tooling)
  • Rust (componentes nativos: y-octo, OctoBase, napi-rs bindings)
  • React (UI web y desktop)
  • Electron (cliente de escritorio multiplataforma)
  • Vite (bundler y dev server)
  • Yjs / y-octo (CRDT para sincronización local-first)
  • Blocksuite (motor de editor colaborativo headless)
  • OctoBase (motor de datos embebido en Rust, local-first)
  • Jotai (gestión de estado atómica en React)
  • Vitest (testing unitario y de integración)
  • Oxlint + Oxfmt (linting y formateo rápido en Rust)
  • Capacitor (build móvil iOS/Android)
  • PostgreSQL (base de datos relacional para backend autoalojado)
  • Redis (caché y pub/sub en despliegue multi-instancia)
  • S3 / MinIO (almacenamiento de objetos para assets)

Referencias oficiales

Apoya el canal GENBYTE

Sígueme en mis redes sociales

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *