Infraestructura y datos

Distribución de funciones entre el navegador y el servidor local.

Elige el modo de uso

La web se ejecuta en el navegador. El servidor Python opcional añade herramientas del equipo; la interfaz sigue siendo la misma.

Qué necesitasSolo webCon servidor local
Chat, perfiles, historial, adjuntos y RAGSíSí
JavaScript y herramientas webSí; las de red requieren acceso a sus serviciosMismos requisitos
Modelos locales con WebLLMRequiere WebGPU compatible y memoria suficienteMismos requisitos
Archivos y comandos del equipoNoRequiere herramientas habilitadas y permisos
Servicios MCP y automatización de navegadorNoRequiere las dependencias de cada herramienta

Instalar y arrancar el servidor local → · Configurar herramientas y MCP →

Si el navegador lo permite, instala la web como PWA desde sus opciones. La caché no garantiza que todas las funciones estén disponibles sin conexión.

Entornos probados: Linux (x86_64 y ARM), Windows 10/11 (PowerShell y lanzador py -m zerochat) y Android (Termux con paquete python). En Termux no es posible usar Playwright actualmente, así que browser_action y Playwright MCP no están disponibles.
Compatibilidad de navegadores: ZeroChat no es compatible con Safari debido a restricciones de red privada local (Private Network Access) y almacenamiento web. En macOS debería funcionar con Firefox o con navegadores basados en Chromium, pero no se ha probado.

Dónde se guardan los datos

En el navegador

Las conversaciones, perfiles, adjuntos y RAG se guardan en el navegador. Pertenecen a la dirección web, navegador y perfil utilizados; no hay sincronización automática entre dispositivos. Exporta copias antes de limpiar los datos.

Las conversaciones no están cifradas como una bóveda. Consulta el cifrado de claves API y sus límites en Perfiles.

En el equipo, con el servidor local

~/zerochat/
├── config/      Token y configuración
├── services/    Definiciones, dependencias y credenciales MCP
└── .venv/       Dependencias de MCP Python

PyPI y el script descargado utilizan la misma carpeta. Borrarla elimina la configuración local y los servicios gestionados, incluidas sus credenciales. No elimina el ejecutable, el historial del navegador ni archivos modificados fuera de ella.

Conexiones y privacidad

La interfaz publicada está en GitHub Pages. El servidor local escucha por defecto en 127.0.0.1:6388 y abre un enlace autenticado. No compartas la URL de arranque mientras contenga el token; la interfaz lo retira y lo guarda en una cookie. Sin ese enlace (otro equipo, un túnel SSH o un proxy inverso), la conexión se configura en el panel de Conexión (el icono del enchufe, junto a la rueda de configuración de la barra lateral) y la página pide el usuario y la contraseña de la cuenta que ejecuta el servidor para obtener el token del día.

Los proveedores remotos reciben los mensajes, adjuntos y resultados de herramientas incluidos en sus peticiones. Las herramientas web no usan proxies ni intermediarios públicos. Los modelos y dependencias también necesitan descargas.

Las librerías de terceros (Orama para la búsqueda; mammoth y fflate para documentos ofimáticos) van incluidas en la propia web con versiones fijas, sin CDN. Las de documentos se descargan del mismo sitio la primera vez que se usan y quedan en caché para trabajar sin conexión. Sus licencias figuran en THIRD_PARTY_NOTICES.md.

WebLLM ejecuta la inferencia localmente; las herramientas de red siguen enviando datos. Guardar el historial localmente no hace privadas todas las operaciones. El panel de depuración permite revisar las peticiones; su contexto puede diferir del historial visible por límites de tokens o selección RAG.

Actualizaciones

Las actualizaciones de la web llegan desde GitHub Pages. Los parches de una misma serie, como 9.1.x, son compatibles con el backend 9.1 y no requieren reinstalarlo. Cuando hay una versión nueva de la web, ZeroChat ofrece Recargar ahora o Más tarde; recargar aplica la versión sin perder el historial guardado.

Una nueva serie major.minor puede requerir actualizar el backend. Sigue el aviso de la terminal para tu forma de instalación; el ejecutable no se actualiza automáticamente. Pulsa i cuando la terminal ofrezca información.

Desarrollo local

Dentro del repositorio, python3 zerochat.py sirve http://127.0.0.1:6388/zerochat.html. Su almacenamiento del navegador es distinto del de GitHub Pages. La interfaz carga js/ y css/; copiar solo el HTML no basta.

python3 zerochat.py --test comprueba las herramientas locales. Para la suite de pruebas del proyecto, consulta tests/README.md en el repositorio.

Revisiones de la versión 9.11.0

Revisiones realizadas siguiendo el procedimiento de docs/audits/AuditFull.md. Cada afirmación indica si la protege una prueba, y cada norma de AGENTS.md se contrasta con la prueba que la vigila, según la lección de la 9.0.0.