Documentación
Protección automática y versionado de tus archivos, sin depender de la nube.
Qué es unmessai
unmessai protege automáticamente tus archivos. Si tú (o un agente de IA) modifica o borra algo por error, puedes volver atrás en segundos. Todo ocurre en tu equipo, sin depender de la nube.
¿Por qué usar unmessai?
- Un agente de IA borra o reescribe media carpeta de golpe.
- Un script lanza un
rmequivocado. - Sobrescribes sin darte cuenta un archivo importante.
- Modificas un fichero y, horas después, descubres que la versión anterior era mejor.
Con unmessai lo restauras en segundos, sin depender de Git ni de copias de seguridad externas.
Detalles técnicos
Se distribuye en tres piezas: el CLI unmess, el daemon unmessd (vigila y versiona) y la app nativa unmess-app (bandeja del sistema y ventana propia, incluida en el paquete de Linux).
Cómo funciona
- Detecta los cambios en tus archivos automáticamente, sin que tengas que hacer nada.
- Guarda una versión nueva cuando el archivo deja de cambiar.
- Conserva el historial de cada fichero para que puedas volver atrás cuando lo necesites.
- Elimina versiones antiguas según la retención que configures, para no crecer sin límite.
Qué no se versiona
- El propio store de versiones.
- Carpetas habituales de sistema y dependencias: Descargas, Vídeos, Música,
node_modules,.git,__pycache__, etc. - Lo que coincida con tu
.gitignore, si tienes activadogitignore_aware. El resto de cambios en tus proyectos, aunque estén en un repositorio git, sí se versiona. - Cualquier ruta o nombre que excluyas tú en la configuración.
Detalles técnicos
- Vigila tu carpeta personal con la API nativa del sistema de archivos.
- Agrupa los cambios (debounce) para no versionar cada pulsación.
- Guarda cada versión en tu store local (
~/UnmessaiBackups), con un journal de actividad. - Poda por retención (nº de versiones, antigüedad). Puedes ajustarla en Configuración.
Instalación
Descarga el paquete para tu sistema desde la página principal o desde la terminal. Los comandos usan la última versión publicada, 0.4.5.
Linux (Debian / Ubuntu)
El .deb instala el CLI, el daemon y la app nativa (icono en la bandeja y ventana propia), y configura el autoarranque.
curl -LO https://github.com/luisobz/unmess-ai/releases/download/v0.4.5/unmessai_0.4.5_amd64.deb
sudo apt install ./unmessai_0.4.5_amd64.deb
unmess ui.macOS
Descarga el .tar.gz de tu chip (Apple Silicon o Intel), extráelo e instala los binarios:
curl -LO https://github.com/luisobz/unmess-ai/releases/download/v0.4.5/unmessai-v0.4.5-darwin-arm64.tar.gz # Intel: unmessai-v0.4.5-darwin-amd64.tar.gz
tar -xzf unmessai-v0.4.5-darwin-arm64.tar.gz
sudo install unmess unmessd /usr/local/bin/
unmessd en Ajustes del Sistema → Privacidad y Seguridad. Arranca el daemon con unmess service install y abre la interfaz con unmess ui --browser.Windows
Descarga y ejecuta el instalador unmessai-setup-v0.4.5.exe. Durante la instalación eliges qué carpeta vigilar y dónde guardar las versiones, y deja la app en la bandeja del sistema (con autoarranque al iniciar sesión).
node_modules, etc.).Instalación avanzada
Linux (otras distros · binarios)
Descarga el .tar.gz, extráelo y copia los binarios al PATH. La app con ventana solo se compila para el .deb; con el tarball usas el CLI y la interfaz web local.
curl -LO https://github.com/luisobz/unmess-ai/releases/download/v0.4.5/unmessai-v0.4.5-linux-amd64.tar.gz
tar -xzf unmessai-v0.4.5-linux-amd64.tar.gz
sudo install unmess unmessd /usr/local/bin/
Windows portable (sin instalador)
Descarga el .zip, descomprímelo (Windows 10/11 traen curl y tar) y ejecuta desde la carpeta windows-amd64\:
curl -LO https://github.com/luisobz/unmess-ai/releases/download/v0.4.5/unmessai-v0.4.5-windows-amd64.zip
tar -xf unmessai-v0.4.5-windows-amd64.zip
windows-amd64\unmess.exe service install
windows-amd64\unmess.exe ui --browser
Restaurar una versión
Restaurar nunca es destructivo: antes de sobrescribir, unmessai guarda una copia de seguridad del estado actual como una versión nueva.
Casos de uso habituales
- Un agente de IA borró o reescribió una carpeta entera → restauras cada fichero a como estaba.
- Un script sobrescribió un archivo de configuración → recuperas la versión anterior en segundos.
- Cambiaste un documento y prefieres la versión de ayer → la comparas (diff) y restauras si hace falta.
Desde la app
Elige el fichero, selecciona la versión, compárala (diff) si quieres y pulsa Restaurar versión.
Desde el CLI
unmess versions ruta/al/fichero.txt # lista versiones
unmess diff ruta/al/fichero.txt # cambios frente a la anterior
unmess restore ruta/al/fichero.txt # restaura la última versión
unmess restore ruta/al/fichero.txt --version v2026-07-12-11-44.txtCLI de referencia
Todos los comandos aceptan la opción global --config <ruta> para usar un config.toml alternativo, y unmess --help imprime el resumen de uso.
| Comando | Qué hace |
|---|---|
unmess status | Estado del daemon y del store (ficheros, versiones, tamaño, debounce). |
unmess ls [texto] | Lista los ficheros versionados. Flags: --modified, --deleted (excluyentes); texto filtra por subcadena de la ruta. |
unmess versions <ruta> | Versiones de un fichero, con fecha y tamaño. |
unmess diff <ruta> | Diferencias entre versiones. Flags: --from <v>, --to <v|current>. Por defecto compara la última con la anterior; --to current compara con el fichero en disco. |
unmess restore <ruta> | Restaura una versión (guardando copia de seguridad). Flags: --version <v>, --yes/-y (sin confirmación). |
unmess prune | Aplica la retención. Flag: --dry-run (simula sin borrar). |
unmess config | Muestra o edita la config: config, config path, config get <clave>, config set <clave> <valor>. |
unmess ui [ruta] | Abre la app nativa (o el fichero indicado). Flag: --browser fuerza la interfaz web. |
unmess service <acción> | Gestiona el daemon como servicio: install, uninstall, start, stop, status. |
Ejemplos
# Estado y espacio ocupado por el store
unmess status
# Solo ficheros borrados que aún puedes recuperar
unmess ls --deleted
# Historial de un fichero y comparación con el estado actual en disco
unmess versions notas.md
unmess diff notas.md --to current
# Restaurar una versión concreta sin confirmación
unmess restore notas.md --version v2026-07-12-11-44.txt --yes
# Simular la poda por retención antes de aplicarla
unmess prune --dry-run
# Usar una configuración alternativa
unmess --config /ruta/config.toml statusActualizaciones
Para actualizar, descarga la nueva versión desde la página de descargas o desde GitHub releases y reemplaza los binarios. Tu store (~/UnmessaiBackups) y tu config.toml se conservan intactos.
unmess service stop
# descarga y reemplaza los binarios (.tar.gz / .deb / .zip según tu plataforma)
unmess service start
unmess status # confirma que el daemon está activo
Servidores y headless
En un servidor sin escritorio no necesitas la app nativa: bastan el CLI (unmess) y el daemon (unmessd). El daemon vigila y versiona; el CLI consulta y restaura.
1. Instalar los binarios
curl -LO https://github.com/luisobz/unmess-ai/releases/download/v0.4.5/unmessai-v0.4.5-linux-amd64.tar.gz
tar -xzf unmessai-v0.4.5-linux-amd64.tar.gz
sudo install unmess unmessd /usr/local/bin/
2. Arrancar el daemon como servicio
unmess service install registra unmessd como servicio de usuario de systemd (~/.config/systemd/user/unmessai.service) y lo arranca:
unmess service install # instala y arranca
unmess service status # activo / inactivo
unmess service stop # detener
unmess service uninstall # quitar
sudo loginctl enable-linger $USER.3. Configurar qué se vigila
Ajusta las carpetas y la retención por CLI, sin abrir un editor (las listas van separadas por comas):
unmess config set included_paths "/srv/datos,/etc"
unmess config set debounce_seconds 10
unmess config set retention.max_versions 50
unmess config # ver la config efectiva
4. Consultar y restaurar
Usa los comandos habituales desde el propio servidor (unmess status, unmess ls, unmess versions, unmess restore). Si necesitas la interfaz web, unmess ui --browser imprime la URL local; en un servidor remoto ábrela por un túnel SSH (ssh -L 48111:127.0.0.1:48111 servidor). Nunca la expongas directamente a la red.
Configuración
La configuración vive en config.toml (en ~/.config/unmessai/ en Linux, %APPDATA%\unmessai\ en Windows). Puedes editarla desde Ajustes en la app o con unmess config set. Ajustes principales:
| Clave | Descripción |
|---|---|
debounce_seconds | Tiempo de agrupación antes de guardar una versión. |
included_paths / excluded_paths | Qué carpetas vigilar o excluir. |
exclude_names | Nombres a ignorar (.git, node_modules…). |
gitignore_aware | Respeta los .gitignore al decidir qué versionar. |
max_file_size_mb | Tamaño máximo por fichero para versionar. |
retention | Máximo de versiones/días y mínimo a conservar. |
ui.port | Puerto de la interfaz local en 127.0.0.1. |
Ejemplo de configuración
# ~/.config/unmessai/config.toml
debounce_seconds = 5
included_paths = ["/home/usuario/proyectos"]
excluded_paths = ["/home/usuario/descargas"]
exclude_names = [".git", "node_modules", "__pycache__"]
max_file_size_mb = 50
[retention]
max_versions = 20
max_days = 90
min_versions = 3
Consultar y modificar desde el CLI
unmess config # ver toda la configuración
unmess config get debounce_seconds # leer una clave
unmess config set debounce_seconds 10
unmess config set included_paths "/home/usuario/proyectos,/home/usuario/docs"
unmess config set retention.max_versions 30