Documentación

Documentación

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:

tar -xzf voxonta-3.0.0.tar.gz -C /path/to/nextcloud/apps/
sudo -u www-data php occ app:enable voxonta

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_URLDónde está tu Nextcloud, p. ej. https://cloud.example.com
APP_SERVICE_TOKENLa misma clave que pegaste en el paso 2
GATEWAY_TOKENTu 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:

  1. El log del conector: ¿dice Call monitor started y ve la llamada?
  2. Ajustes de administración → Voxonta: ¿el servicio figura como visto recientemente?
  3. 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-recordDejar de transcribir esta llamada
/recordReanudar

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

  1. 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.
  2. 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.
  3. 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 nuestroEl 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 tuyoLa transcripción, el resumen y los archivos de análisis; estadísticas de tiempo de palabra por llamada.
NuncaTus 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

ConectorFunciona 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 NextcloudFunciona en tu Nextcloud. Ajustes, lista de reuniones, comandos de chat; recoge las reuniones terminadas y archiva los archivos. Código abierto.
MotorNuestro. Voz a texto, un búfer por hablante.
PasarelaNuestra. Guarda los resultados hasta que tu lado los recoge, mantiene separados a los clientes y mide el uso.
AnalizadorNuestro. 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 llamadaNo se guarda. Se reconoce a medida que llega y nunca se escribe como grabación.
Transcripción, resumen, análisis: nuestra copia7 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 analizador30 días; después se borra junto con todo lo que generó.
Perfiles de hablanteSe conservan mientras quede guardada al menos una reunión de esa persona. Cuando caduca la última, el perfil se va con ella.
En tu NextcloudTodo 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.

Qué necesita

DóndeLa 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.
DockerSe distribuye como imagen; no se instala nada en el Python del servidor.
Acceso salienteA tu Nextcloud y a nuestra pasarela en el 443. Nada entrante: ningún puerto que redirigir, ninguna regla que añadir.
RecursosModestos: mueve audio, no lo reconoce. El reconocimiento se hace en nuestro lado.

Ajustes

NEXTCLOUD_URLTu Nextcloud, p. ej. https://cloud.example.com
APP_SERVICE_TOKENLa clave de los ajustes de administración de la app
GATEWAY_TARGETgw.voxonta.com:443
GATEWAY_TOKENLa clave de tu espacio de trabajo, desde tu cuenta
NC_APP_IDOpcional. 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.

¿Falta algo o hay algún error? hello@voxonta.com

Te enseñamos cómo funciona

Escríbenos y preparamos una demo.