Dinoer

Instalar

Lo que la instalación deja en su máquina, lo que conviene tener preparado antes de empezar, y las dos vías: el paquete .deb, o un clon de Git para quien vaya a modificar el código.

Lo que la instalación deja en su máquina

Este es el árbol que genera el paquete .deb. La vía del clon construye las partes /opt/dinoer/ y /var/log/dinoer/, guarda su configuración en /opt/dinoer/dinoer.conf y no tiene ni el directorio /etc/dinoer/ ni los comandos de /usr/bin: los programas se llaman por su ruta.

/opt/dinoer/
├── shot.py  rpa.py  campagne.py  journal.py
├── lib/
├── scenarios/
├── skills/
├── scripts/
├── docs/
├── dinoer.conf.d/
├── references/
├── requirements.txt
├── venv/
└── .cache/ms-playwright/
/etc/dinoer/
/usr/bin/  dinoer-shot  dinoer-rpa  dinoer-campaign
           dinoer-monter-secrets  dinoer-demonter-secrets  dinoer-monitor-verifier
/var/log/dinoer/
RutaQué es
shot.py, rpa.py, campagne.pylos tres programas que usted ejecuta: una secuencia de acciones, un archivo de escenario, una campaña de investigación
journal.pylee el registro de operaciones: qué se hizo sobre un objetivo dado, y cuándo
lib/los módulos que importan
scenarios/, skills/el esquema JSON de los escenarios y los ejemplos, y los escenarios que usted promueve
scripts/el montaje y desmontaje del directorio cifrado, y la comprobación de supervisión
docs/las guías, entre ellas GUIDE_LLM.md, cuyo número de versión pide el bloqueo
dinoer.conf.d/un ejemplo de perfil de operador
references/las referencias estructurales que escribe rpa.py, compartidas con el grupo dinoer
requirements.txtlas dependencias de Python, en versiones exactas
venv/el entorno de Python, creado durante la instalación
.cache/ms-playwright/Chromium, descargado durante la instalación
/etc/dinoer/dinoer-sample.conf, una plantilla. dinoer.conf nunca se crea por usted: copie la plantilla y modifíquela
/usr/bin/dinoer-*los seis comandos; la página de manual es man dinoer
/var/log/dinoer/el registro de operaciones y las pruebas archivadas de las páginas autenticadas

El paquete crea además el usuario y el grupo de sistema dinoer. Para usar Dinoer desde su propia cuenta, añádala a ese grupo y abra una nueva sesión: sudo usermod -aG dinoer $USER.

Qué tener preparado antes

Dónde funciona Debian 13 y Ubuntu 24.04. Debian 12 y Ubuntu 22.04 no pueden instalar el paquete: tres de sus dependencias llevan los nombres t64 que solo ofrecen estas versiones más recientes. Linux Mint 22 se basa en Ubuntu 24.04, pero no se ha probado como tal.

NecesitaCuándoDetalle
Acceso a la reddurante la instalaciónpip descarga las dependencias de Python y Playwright descarga Chromium; el paquete no incluye ninguna de las dos cosas
Bibliotecas del sistemasiempreapt instala lo que declara el paquete: Python 3 con venv y pip, FUSE y gocryptfs para el directorio cifrado, y las bibliotecas que necesita Chromium
Una instancia de SearXNGpara una campaña con un objetivo queryDinoer no incluye ninguna ni tiene una instancia pública por defecto. Sin instancia, campagne.py se detiene con un mensaje explícito. Defina DINOER_SEARXNG_URL, o la clave searxng_url del archivo de configuración: /opt/dinoer/dinoer.conf en la vía del clon, /etc/dinoer/dinoer.conf en la del paquete (leída ahí desde 1.0.1)
OpenCodepara que una campaña redacte su informeDinoer ejecuta opencode run como subproceso (~/.opencode/bin/opencode, o DINOER_OPENCODE_BIN) con el modelo indicado en DINOER_OPENCODE_MODEL. No hay modelo por defecto: elija uno en opencode models, alojado, o un modelo local de Ollama declarado en OpenCode. Sin la variable, el paso del informe lo indica y se detiene; una llamada fallida devuelve el error de OpenCode e indica si el modelo falta en la lista. Sin un OpenCode que funcione, la recopilación se hace igual y el corpus se conserva; solo falta el informe
Ollamaopcionalembeddings locales (nomic-embed-text en http://localhost:11434, modificables con DINOER_OLLAMA_URL y DINOER_EMBED_MODEL) para ordenar por significado las páginas recopiladas. Si no está disponible, las páginas conservan su orden de llegada
El directorio cifradopara los escenarios que inician sesiónEl directorio de credenciales

Fuentes: debian/control, debian/postinst, requirements.txt, lib/searxng.py, lib/modeles.py y lib/vector.py, versión 1.0.1, leídos el 27 de septiembre de 2026. La parte de las campañas se trata en Llevar a cabo una campaña de investigación.

Dos vías, excluyentes en una misma máquina

El paquete .deb es la vía normal para usar Dinoer: en Descargas encontrará el archivo, el comando de instalación y el significado del aviso de aislamiento de apt.

Clone el código fuente si va a modificar Dinoer:

git clone https://github.com/RonanDavalan/dinoer.git
cd dinoer
bash scripts/install.sh

El script crea el usuario y el grupo de sistema dinoer y un entorno de Python aislado, despliega el código en /opt/dinoer/, instala Playwright y Chromium en ese entorno y después hace una llamada de prueba (shot.py --a11y) sobre una URL real.

Por qué una máquina solo admite una vía. Las dos escriben en /opt/dinoer/ y crean el mismo usuario y el mismo grupo dinoer, y ninguna detecta a la otra: dpkg no sabe nada de lo que puso ahí install.sh. Desinstalar el paquete borra /opt/dinoer/venv y la caché de Chromium; purgarlo borra además el usuario y el grupo dinoer, que también usa una instalación por clon. La configuración se lee además en dos sitios: /etc/dinoer/dinoer.conf para el paquete, /opt/dinoer/dinoer.conf para el clon. Ambos son JSON simple, sin comentarios, que JSON no admite.

Después, antes que nada

Dinoer se niega a ejecutarse mientras quien lo maneja no haya leído la guía y no pueda citar su número de versión:

grep notice-version /opt/dinoer/docs/GUIDE_LLM.md

El número que muestra es el que se pasa a --guide-version.

Su primera ejecución →