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/
| Pfad | Was es ist |
|---|---|
shot.py, rpa.py, campagne.py | die drei Programme, die Sie ausführen: eine Aktionssequenz, eine Szenariodatei, eine Forschungskampagne |
journal.py | liest 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.txt | die 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ötigen | Wann | Details |
|---|---|---|
| Netzwerkzugriff | während der Installation, immer | pip lädt die Python-Abhängigkeiten herunter und Playwright lädt Chromium. Das Paket enthält keines davon. |
| Systembibliotheken | immer | apt 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-Instanz | für eine Forschungskampagne mit einem query Ziel | Dinoer 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). |
| OpenCode | damit eine Kampagne ihren Bericht schreiben kann | Dinoer 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. |
| Ollama | optional | Lokale 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 Verzeichnis | für Szenarien, in denen eine Anmeldung erforderlich ist | Das 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.