Cuatro secciones, en el orden en que casi todo el mundo las necesita.
Instalar la app de Nextcloud
La app es la mitad del sistema que vive en Nextcloud: la lista de reuniones, los ajustes, los comandos de chat y los archivos. No graba nada por sí misma —de eso se encarga el conector—, y las dos partes se reconocen mediante una sola clave.
Antes de empezar
Nextcloud 30 o posterior, con Talk instalado.
Un High Performance Backend para Talk. No es opcional: el audio separado por hablante es lo que permite que la transcripción diga quién habló, y sin HPB no hay audio por hablante que captar.
Una cuenta en este servicio: la clave sale de ahí.
Acceso a la shell para ejecutar occ, o un administrador que lo tenga.
1. Instala la app
Descomprime la versión en el directorio apps/ de tu Nextcloud y actívala:
En la barra superior aparece Reuniones. Estará vacía hasta que se transcriba la primera llamada.
2. Dale una clave
En Ajustes de administración → Voxonta, pega la clave del servicio que encontrarás en tu cuenta. La app la comprueba al momento y te avisa si el servicio no responde.
La misma clave se usa en el conector, en el paso 3. Una sola clave sirve en los dos sentidos: el conector pregunta a la app qué llamadas están en curso, y la app pregunta al servicio qué ha generado una llamada terminada.
3. Conecta el servicio de captura
El conector funciona fuera de Nextcloud, en la misma máquina que tu High Performance Backend de Talk. Necesita tres cosas:
NEXTCLOUD_URL
Dónde está tu Nextcloud, p. ej. https://cloud.example.com
APP_SERVICE_TOKEN
La misma clave que pegaste en el paso 2
GATEWAY_TOKEN
Tu clave del servicio, desde tu cuenta
Cómo ejecutarlo tú mismo se explica en una sección aparte. Si alojamos nosotros el conector, este paso ya está hecho.
4. Haz una llamada de prueba
Inicia una llamada en cualquier conversación, di unas cuantas frases y cuelga. En un minuto o dos deberías ver la transcripción en Reuniones. El resumen y el análisis llegan más tarde: normalmente en menos de una hora, a veces más si la reunión fue larga.
Si no aparece nada, revisa en este orden:
El log del conector: ¿dice Call monitor started y ve la llamada?
Ajustes de administración → Voxonta: ¿el servicio figura como visto recientemente?
Si de verdad habló alguien. Una llamada en silencio produce una transcripción vacía, y eso es una respuesta correcta, no un fallo.
Comandos de chat
/no-record
Dejar de transcribir esta llamada
/record
Reanudar
Un administrador tiene que activar los comandos en la conversación, y eso no tiene nada que ver con quién entra en la sala. En la práctica funcionan en las conversaciones de grupo y públicas donde se activaron, y no en las llamadas uno a uno, donde normalmente no lo están. Si se envía hasta cinco minutos antes de una llamada, /no-record impide que la transcripción llegue a empezar.
Dónde acaban los archivos
Una cuenta de servicio escribe las transcripciones y los análisis en sus propias carpetas y luego los comparte con quienes estuvieron en la llamada. En una conversación de grupo, la app también publica los enlaces en el chat; en una conversación uno a uno no puede, así que la notificación es el propio archivo compartido.
Cómo funciona
Tres partes. Un conector en tu lado que escucha la llamada, un motor en el nuestro que convierte la voz en texto, y tu propio almacenamiento, donde termina el resultado.
Durante la llamada
El conector se une a tu reunión igual que lo haría el navegador de otro participante, salvo que ni habla ni aparece en la sala. En Nextcloud Talk se conecta a tu High Performance Backend como cliente interno y recibe un flujo de audio por persona. Esa es toda la razón de que una transcripción pueda decir quién dijo qué: las voces nunca se mezclan en una sola pista.
El audio se envía al motor mientras dura la llamada. Nadie pulsa «grabar» y después no queda ninguna grabación; consulta Tus datos.
Cuando termina la llamada
El motor termina de reconocer lo que aún queda en el búfer y genera la transcripción, separada por hablante y con marcas de tiempo.
La pasarela la guarda y se la pasa al analizador, que redacta el resumen, las decisiones, las preguntas abiertas y las tareas. Esto lleva desde unos minutos hasta un par de horas, según lo que durara la reunión.
La app de tu Nextcloud pregunta a la pasarela qué hay disponible, lo recoge, escribe los archivos en tu almacenamiento y los comparte con quienes estuvieron en la llamada.
Qué cruza la frontera
De tu lado al nuestro
El audio de la llamada mientras dura la reunión; los nombres de quienes están en la llamada, para que la transcripción pueda atribuir cada intervención; el nombre y el identificador de la conversación.
Del nuestro al tuyo
La transcripción, el resumen y los archivos de análisis; estadísticas de tiempo de palabra por llamada.
Nunca
Tus archivos, tus chats fuera de la llamada, tu lista de usuarios ni nada sobre conversaciones que no se transcribieron.
Atribución de hablantes
El audio de cada participante llega por su propio flujo, ya etiquetado por la plataforma de reuniones, así que la atribución es un dato registrado y no una suposición. Cuando una plataforma da menos —una pista compartida, un invitado sin nombre—, la intervención se marca como de un participante no identificado en lugar de atribuírsela a alguien que parezca plausible.
Las piezas, con nombre
Conector
Funciona en tu lado. Escucha la llamada, envía el audio y pregunta a la app qué llamadas están en curso. Código abierto.
App de Nextcloud
Funciona en tu Nextcloud. Ajustes, lista de reuniones, comandos de chat; recoge las reuniones terminadas y archiva los archivos. Código abierto.
Motor
Nuestro. Voz a texto, un búfer por hablante.
Pasarela
Nuestra. Guarda los resultados hasta que tu lado los recoge, mantiene separados a los clientes y mide el uso.
Analizador
Nuestro. Resumen, decisiones, tareas, retratos de los hablantes.
Tus datos
La versión corta: los resultados son tuyos y viven en tu almacenamiento. Nuestras copias son copias de trabajo y caducan según un plazo que podemos enseñarte.
Cuánto tiempo guardamos las cosas
Audio de la llamada
No se guarda. Se reconoce a medida que llega y nunca se escribe como grabación.
Transcripción, resumen, análisis: nuestra copia
7 días desde el final de la llamada; después se borra. Tiempo suficiente para que tu lado los recoja aunque haya estado sin conexión unos días.
Copia de trabajo del analizador
30 días; después se borra junto con todo lo que generó.
Perfiles de hablante
Se conservan mientras quede guardada al menos una reunión de esa persona. Cuando caduca la última, el perfil se va con ella.
En tu Nextcloud
Todo el tiempo que quieras. Esos archivos son tuyos: ni los borramos ni podemos hacerlo.
Sobre el audio
El reconocimiento no es instantáneo, así que la voz se mantiene en memoria en fragmentos cortos mientras se procesa. Si falta memoria, un fragmento puede pasar brevemente a disco, y se borra en cuanto se ha reconocido; los restos que queden también se eliminan al reiniciar. Lo que nunca ocurre es que se guarde una grabación: en nuestro lado no existe ningún archivo de tu reunión, ni tenemos forma de generarlo a posteriori.
Quién puede ver qué
Entre clientes: cada reunión pertenece a un espacio de trabajo, y una solicitud con la clave de un espacio de trabajo solo puede llegar a las reuniones de ese espacio.
Dentro de tu Nextcloud: los archivos se comparten con quienes estuvieron en la llamada, y los permisos del propio Nextcloud deciden el resto. No sabemos quiénes son tus usuarios; eso solo lo sabe tu Nextcloud.
Retratos de los hablantes: el archivo de análisis de cada persona se comparte con quienes estuvieron en esa reunión, igual que el resto.
Borrar antes de tiempo
Podemos eliminar una reunión de nuestro lado antes de que pasen sus siete días; la copia de tu Nextcloud no se ve afectada, porque borrar ahí es cosa tuya, no nuestra. Escribe a hello@voxonta.com indicando el espacio de trabajo y qué quieres eliminar. Todavía no hay un botón para hacerlo tú mismo, y fingir lo contrario sería peor que decirlo.
Lo que no hacemos
Entrenar modelos con tus reuniones.
Leer tus transcripciones, salvo cuando nos pides que revisemos algo concreto.
Vender o compartir nada con nadie. No hay integraciones publicitarias ni analítica dentro del producto.
Dónde se ejecuta
El reconocimiento de voz se ejecuta en nuestros propios servidores, con un modelo que alojamos nosotros. Tu audio no va a ninguna API de voz de terceros.
El análisis usa un modelo de lenguaje, al que se accede a través de OpenRouter. Lo que se envía para resumir es el texto de la reunión, nunca el audio. Hay dos cosas que limitan quién puede verlo:
Solo pueden recibirlo proveedores cuya política sea no conservar los datos de las solicitudes ni entrenar con ellos; el resto queda excluido en la propia solicitud, no confiando en que algún ajuste esté bien puesto.
Los proveedores que hemos descartado expresamente —por calidad o disponibilidad— tampoco reciben nada nunca.
Cuál de los proveedores restantes atiende cada solicitud se decide en cada caso, así que no podemos prometerte un nombre por adelantado. Lo que sí podemos prometerte es la regla que cumplen todos. Si tu equipo de seguridad necesita la lista actual y no solo la regla, pídenosla y te la enviamos; cambia a medida que entran y salen proveedores.
Ejecuta el conector tú mismo
La pieza que escucha tus llamadas es la que más sentido tiene mantener en tu propio hardware. Es de código abierto, funciona junto a tu High Performance Backend de Talk y solo abre conexiones salientes.
Qué es
Un pequeño servicio en Python. Pregunta a la app de Nextcloud qué llamadas están en curso, se une a ellas a través de tu High Performance Backend como cliente interno y envía el audio de cada participante al motor. No entra como participante visible, no habla y no aparece en la sala.
La misma máquina que tu High Performance Backend de Talk. Así el audio recorre el camino más corto y no hay que abrir ningún puerto adicional en ninguna parte.
Docker
Se distribuye como imagen; no se instala nada en el Python del servidor.
Acceso saliente
A tu Nextcloud y a nuestra pasarela en el 443. Nada entrante: ningún puerto que redirigir, ninguna regla que añadir.
Recursos
Modestos: mueve audio, no lo reconoce. El reconocimiento se hace en nuestro lado.
Ajustes
NEXTCLOUD_URL
Tu Nextcloud, p. ej. https://cloud.example.com
APP_SERVICE_TOKEN
La clave de los ajustes de administración de la app
GATEWAY_TARGET
gw.voxonta.com:443
GATEWAY_TOKEN
La clave de tu espacio de trabajo, desde tu cuenta
NC_APP_ID
Opcional. El id de la app, voxonta por defecto; solo hace falta si le cambiaste el nombre
Todo lo demás —qué conversaciones transcribir, cómo inicia sesión el conector en Nextcloud, cuánto tiempo conservar los resultados— viene de los ajustes de administración de la app, así que se configura en un solo sitio y no en dos.
Comprobar que funciona
Al arrancar debería indicar, en este orden, que ha cargado los ajustes desde tu Nextcloud, que está enviando a la pasarela y que el monitor de llamadas se ha iniciado. Si en cambio repite could not read live calls, la app no responde: URL incorrecta, clave incorrecta o la app no está activada.
Lo que sigue siendo nuestro
El reconocimiento de voz, la pasarela que guarda los resultados y el analizador no son de código abierto y funcionan en nuestra infraestructura. No vamos a fingir lo contrario: lo que hoy puedes alojar tú mismo es la ruta de captura y la parte de Nextcloud, que es la que toca tus llamadas y tus usuarios. El reconocimiento necesita hardware y un modelo que mantenemos nosotros; ejecutarlo por tu cuenta es algo que hay que hablar con nosotros, no algo que se descarga.
Todavía no está aquí
Fuentes distintas de Nextcloud Talk y la API para leer reuniones desde tus propias herramientas. Las dos existen de alguna forma; ninguna está documentada lo bastante bien como para publicarla, y una página que describe algo casi correctamente es peor que no tener página.