Dinoer

Installieren

Was die Installation auf Ihrem Computer hinterlässt, was Sie vorbereiten sollten, bevor sie beginnt, und die beiden Möglichkeiten: das .deb-Paket oder ein Git-Clone für alle, die den Code ändern möchten.

Was die Installation auf Ihrem Computer hinterlässt

Dies ist der Verzeichnisbaum, den das Paket .deb erzeugt. Der Clone-Kanal erstellt die Teile /opt/dinoer/ und /var/log/dinoer/, speichert seine Konfiguration in /opt/dinoer/dinoer.conf und hat weder /etc/dinoer/ noch die Befehle in /usr/bin – Sie rufen die Programme über ihren Pfad auf.

/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/
PfadWas es ist
shot.py, rpa.py, campagne.pydie drei Programme, die Sie ausführen: eine Aktionssequenz, eine Szenariodatei, eine Forschungskampagne
journal.pyliest das Operationsprotokoll: was an einem bestimmten Ziel getan wurde und wann
lib/die importierten Module
scenarios/, skills/das JSON-Schema und die Beispiele für Szenarien sowie die Szenarien, die Sie fördern
scripts/das Mounten und Unmounten des verschlüsselten Verzeichnisses sowie die Überprüfungsfunktion
docs/die Anleitungen, einschließlich GUIDE_LLM.md, deren Versionsnummer von der Sperre angefordert wird
dinoer.conf.d/ein Beispiel für ein Operatorprofil
references/die strukturellen Referenzen, die rpa.py schreibt, und die mit der Gruppe dinoer geteilt werden
requirements.txtdie Python-Abhängigkeiten, in exakten Versionen
venv/die Python-Umgebung, die während der Installation erstellt wurde
.cache/ms-playwright/Chromium, das während der Installation heruntergeladen wurde
/etc/dinoer/dinoer-sample.conf, eine Vorlage. dinoer.conf wird niemals für Sie erstellt: kopieren Sie das Beispiel und bearbeiten Sie es
/usr/bin/dinoer-*die sechs Befehle; die Manualseite ist man dinoer
/var/log/dinoer/das Operationsprotokoll und die archivierten Beweise für authentifizierte Seiten

Das Paket erstellt außerdem den Systembenutzer und die Gruppe dinoer. Fügen Sie Ihr eigenes Konto dieser Gruppe hinzu, um Dinoer auszuführen: sudo usermod -aG dinoer $USER.

Was man zuerst vorbereiten sollte

Auf welchen Systemen es läuft Debian und seine Derivate. Andere Systeme werden nicht unterstützt – nicht aus prinzipiellen Gründen, sondern weil sie tatsächlich noch nicht getestet wurden.

Sie benötigenWannDetails
Netzwerkzugriffwährend der Installation, immerpip lädt die Python-Abhängigkeiten herunter und Playwright lädt Chromium. Das Paket enthält keines davon.
Systembibliothekenimmerapt installiert, was das Paket deklariert: Python 3 mit venv und pip, FUSE und gocryptfs für das verschlüsselte Verzeichnis und die Bibliotheken, auf denen Chromium läuft.
Eine SearXNG-Instanzfür eine Forschungskampagne mit einem query ZielDinoer liefert keine mit und hat keine öffentliche Standardinstanz. Wenn keine konfiguriert ist, stoppt campagne.py mit einer expliziten Meldung. Setzen Sie DINOER_SEARXNG_URL, oder den Schlüssel searxng_url der Konfigurationsdatei: /opt/dinoer/dinoer.conf auf dem Clone-Kanal, /etc/dinoer/dinoer.conf auf dem Paket-Kanal (Paket-Kanal: ab 1.0.1).
OpenCodedamit eine Kampagne ihren Bericht schreiben kannDinoer führt opencode run als Subprozess aus (~/.opencode/bin/opencode, oder DINOER_OPENCODE_BIN), mit dem von DINOER_OPENCODE_MODEL genannten Modell. Es gibt kein Standardmodell: die Modelle, die OpenCode anbietet, ändern sich im Laufe der Zeit, und am 25. September 2026 (OpenCode 1.18.32) war das von Dinoer bisher standardmäßig verwendete Modell nicht mehr in der Liste enthalten und ein Aufruf gab einen Fehler zurück. Ohne die Variable meldet dies der Berichtsschritt und stoppt. Wählen Sie ein Modell aus opencode models; opencode models | grep deepseek schränkt die Liste auf eine Familie ein, und andere Familien sind einen Versuch wert. Tragen Sie es dann in DINOER_OPENCODE_MODEL ein. Ein fehlgeschlagener Aufruf meldet den eigenen Fehler von OpenCode und sagt, ob das Modell in der Liste fehlt. Ohne ein funktionierendes OpenCode läuft die Sammlung weiterhin und der Korpus wird beibehalten; nur der Bericht wird nicht geschrieben.
OllamaoptionalLokale Einbettungen (nomic-embed-text bei http://localhost:11434, änderbar mit DINOER_OLLAMA_URL und DINOER_EMBED_MODEL) für die semantische Rangfolge der gesammelten Seiten. Wenn Ollama nicht erreichbar ist, greift die Rangfolge auf die empfangene Reihenfolge zurück.
Das verschlüsselte Verzeichnisfür Szenarien, in denen eine Anmeldung erforderlich istDas Verzeichnis für Anmeldedaten

Quellen: debian/control, debian/postinst, requirements.txt, lib/searxng.py, lib/modeles.py und lib/vector.py, Version 1.0.1, gelesen am 25. September 2026. Der Kampagnenteil wird in Recherchekampagne behandelt.

Zwei Kanäle, die sich auf einer Maschine gegenseitig ausschließen

Das Paket .deb ist der normale Weg, wenn Sie Dinoer verwenden möchten – siehe Downloads für die Datei, den Installationsbefehl und was diese apt Sandbox-Hinweis bedeutet.

Klonen Sie den Quellcode, wenn Sie planen, Dinoer zu ändern:

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

Dies erstellt den Systembenutzer und die Gruppe dinoer, eine isolierte Python-Virtualisierungsumgebung, bereitstellt den Code auf /opt/dinoer/, installiert Playwright und Chromium innerhalb dieser Umgebung und führt einen Basistest gegen eine echte URL aus, bevor es sich als abgeschlossen erklärt.

Warum eine Maschine nur einen Kanal verträgt. Beide schreiben nach /opt/dinoer/ und legen denselben Benutzer und dieselbe Gruppe dinoer an, und keiner erkennt den anderen: dpkg weiß nichts von dem, was install.sh dort abgelegt hat. Das Entfernen des Pakets löscht /opt/dinoer/venv, den Chromium-Cache sowie den Benutzer und die Gruppe dinoer – auch diejenigen, die eine Clone-Installation verwendet hat. Auch die Konfiguration wird an zwei Stellen gelesen: /etc/dinoer/dinoer.conf für das Paket, /opt/dinoer/dinoer.conf für den Clone. Beide sind einfaches JSON, ohne Kommentare: JSON kennt keine.

Dann, bevor irgendetwas anderes:

Dinoer startet nicht, bis die Person, die es bedient, das Handbuch gelesen hat und die Versionsnummer angeben kann. Dies ist keine Formalität: Ein Agent, der das Handbuch nicht gelesen hat, improvisiert, und Improvisation in Bezug auf Zugangsdaten und Live-Anfragen ist genau das, was diese Sicherheitsmaßnahme verhindern soll.

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

Die Zahl, die es ausgibt, ist der Wert, den Sie als --guide-version übergeben.

Ihr erster Durchlauf →