Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/skorokithakis/stavrobot
Allgemeine DienstprogrammeContainer-SicherheitScripting & AutomatisierungPrivatsphäreDienstprogramme & FrameworksLernen & BildungKI-Sicherheit
GitHubskorokithakis/stavrobot

stavrobot

Ein KI-gestützter persönlicher Assistent mit Schwerpunkt auf Sicherheit.

Repository anzeigen
184143vor 9h 19mVon Kitploit geprüft
Webseite

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Stavrobot

Stavrobot ist ein persönlicher KI-Assistent, der nach dem Prinzip „so viel Zugriff, wie ein KI-Assistent benötigt, und nicht mehr“ aufgebaut ist.

Er bietet alle nützlichen Funktionen eines KI-Assistenten, konzentriert sich jedoch auf Sandboxing, Isolierung und minimale Berechtigungen. Er ist leichtgewichtig und wird mit nur einem docker compose up bereitgestellt.

Funktionen

  • Sicher. Alles läuft in einem Container, Ihr Host-Betriebssystem ist für die KI vollständig unsichtbar. Die KI sieht keine Geheimnisse, es sei denn, Sie möchten das.
  • Leicht. Es wird nicht ein Container pro Komponente ausgeführt. Alle Plugins laufen in einem einzigen Container, getrennt durch Unix-Berechtigungen.
  • Verwenden Sie jedes Modell, das Sie möchten. Lokal, OpenRouter, Anthropic/OpenAI. Was auch immer Pi unterstützt, der Bot kann es nutzen.
  • Signal/Telegram/WhatsApp/E-Mail-Integration. Zwei-Wege-Kommunikation mit Formatierung, Anhängen usw.
  • Dreistufiges Wissen. Merkt sich alles, ohne den Kontext zu sprengen. Ruft Daten intelligent und transparent aus seinem Gedächtnis ab.
  • Geringer Tokenverbrauch. Diverse Optimierungen wurden vorgenommen, um den Tokenverbrauch gering zu halten. Intern wird sogar TOON verwendet.
  • Plugins. Installieren Sie Plugins und erweitern Sie Stavrobots Fähigkeiten, indem Sie einfach eine Git-Repo-URL angeben. Plugins sind voneinander isoliert – jedes wird als dedizierter Systembenutzer ohne Zugriff auf die Dateien oder Konfiguration anderer Plugins ausgeführt.
  • Sub-Agenten. Der Haupt-Agent kann Sub-Agenten mit eigenem Gesprächskontext, System-Prompt und eingeschränktem Tool-Zugriff erstellen. Nützlich, um mit externen Personen zu kommunizieren, um Aufgaben zu erledigen oder Dinge zu arrangieren, während ein Puffer zwischen der externen Person und dem Haupt-Agenten besteht.
  • Selbstprogrammierung. Der Agent kann sich selbst programmieren und erweitern.
  • Sandboxed Python-Ausführung. Beliebiges Python mit pip-Abhängigkeiten über uv, isoliert von der Host-Umgebung.
  • Zeitplanung. Der Agent kann eigene wiederkehrende oder einmalige Aufgaben planen.
  • Schnellstart

    KI-gestützte Installation: Sagen Sie Ihrer Code-KI (Claude Code, Cursor, Windsurf usw.), sie solle https://stavrobot.stavros.io/INSTALL.md abrufen und befolgen – sie führt Sie interaktiv durch die gesamte Einrichtung.

    Manuelle Installation:

    1. Schreiben Sie @BotFather auf Telegram, um einen Bot zu erstellen, und kopieren Sie den Token. Schreiben Sie @userinfobot, um Ihre Telegram-Benutzer-ID zu erhalten (diese wird als Chat-ID verwendet).

    2. Kopieren Sie env.example nach .env und ändern Sie POSTGRES_PASSWORD in etwas Sicheres und TZ in Ihre Zeitzone.

    3. Kopieren Sie config.example.toml nach data/main/config.toml und füllen Sie die erforderlichen Felder aus: apiKey, password, publicHostname, [owner].name, [owner].telegram (Ihre Chat-ID) und [telegram].botToken. Alles andere in der Datei ist optional.

    4. docker compose up --build

    Das war's. Schreiben Sie Ihrem Bot auf Telegram, und er wird antworten. Die detaillierten Einrichtungsabschnitte für Signal, WhatsApp, E-Mail und andere Optionen finden Sie weiter unten.

    Einrichtung

    Konfiguration

    1. Kopieren Sie config.example.toml nach data/main/config.toml.
    2. Füllen Sie API-Schlüssel und Einstellungen aus. Die Beispieldatei enthält Kommentare, die jeden Abschnitt erklären.
    3. Mindestens müssen authFile (oder apiKey) und publicHostname gesetzt werden. Alles andere ist optional.
    4. Kopieren Sie env.example nach .env und setzen Sie Ihre Zeitzone (TZ). Postgres-Anmeldedaten und andere Umgebungseinstellungen können dort ebenfalls überschrieben werden. Setzen Sie POSTGRES_PASSWORD immer auf etwas Sicheres – der Standardwert ist ein schwacher Platzhalter und sollte nicht in der Produktion verwendet werden.

    Benutzerdefinierte und OpenAI-kompatible Endpunkte

    Stavrobot kann auf jeden OpenAI-kompatiblen Endpunkt (Ollama, LiteLLM, vLLM usw.) oder einen benutzerdefinierten Anthropic-kompatiblen Proxy ausgerichtet werden, indem baseUrl in config.toml gesetzt wird. Siehe config.example.toml für die erforderlichen Felder und Beispielkonfigurationen.

    Authentifizierung

    Die App unterstützt zwei Authentifizierungsmodi: API-Schlüssel oder OAuth.

    • API-Schlüssel: Setzen Sie apiKey in config.toml. Kein Login oder Logout erforderlich.
    • OAuth: Setzen Sie authFile in config.toml (ein Pfad, in dem Anmeldeinformationen gespeichert werden). Die Login-Seite funktioniert mit jedem OAuth-Anbieter, der von Pi unterstützt wird.
      • Login: Besuchen Sie <your-hostname>/login in einem Browser. Folgen Sie den Anweisungen auf der Seite, und die Anmeldeinformationen werden in der Auth-Datei gespeichert. Wenn die Authentifizierung während des Bot-Betriebs abläuft, sendet er Ihnen über Ihre Messaging-Plattform eine Nachricht mit der Login-URL.
      • Logout: Löschen Sie die Datei unter dem authFile-Pfad. Der Bot erkennt fehlende Anmeldeinformationen bei der nächsten Nachricht und fordert Sie auf, sich erneut anzumelden.

    Claude Code Einrichtung

    Der coder-Container ist optional (wird nur für die Selbstprogrammierungsfunktion benötigt). Er verwendet Claude Code mit Abonnement-Auth (OAuth), getrennt vom API-Schlüssel der Haupt-App.

    Docker Compose-Profile werden kommagetrennt, sodass Sie sie kombinieren können (z. B. COMPOSE_PROFILES=signal,coder).

    1. Setzen Sie COMPOSE_PROFILES in Ihrer .env-Datei so, dass es coder enthält (z. B. COMPOSE_PROFILES=coder oder COMPOSE_PROFILES=signal,coder, wenn Sie auch Signal verwenden).
    2. Starten Sie die Container: docker compose --profile coder up --build
    3. Melden Sie sich an: docker compose exec -u coder coder claude (es wird zur Anmeldung aufgefordert, falls noch nicht geschehen).
    4. Folgen Sie dem browserbasierten OAuth-Ablauf.
    5. Setzen Sie [coder].model in Ihrer Konfiguration auf einen Claude Code-Modell-Alias (sonnet, opus oder haiku).

    Signal Einrichtung

    Signal erfordert eine separate Telefonnummer – nicht Ihre persönliche. Eine Prepaid-SIM oder VoIP-Nummer funktioniert.

    1. Entfernen Sie die Kommentierung von COMPOSE_PROFILES=signal in Ihrer .env-Datei, um den signal-bridge-Container zu aktivieren.
    2. Bauen Sie die Container: docker compose --profile signal build
    3. Registrieren Sie Signal auf dem Container (wählen Sie eine aus):
      • Mit einem bestehenden Signal-Konto verknüpfen: docker compose --profile signal run --rm --entrypoint bash signal-bridge -c 'signal-cli link -n "Stavrobot" | tee >(xargs -L 1 qrencode -t utf8)' – scannen Sie den QR-Code mit Ihrem Telefon (Signal > Einstellungen > Verknüpfte Geräte).
      • Eine neue Nummer registrieren: docker compose --profile signal run --rm --entrypoint bash signal-bridge -c 'signal-cli -u +YOUR_NUMBER register', dann verifizieren mit docker compose --profile signal run --rm --entrypoint bash signal-bridge -c 'signal-cli -u +YOUR_NUMBER verify CODE'.
    4. Setzen Sie [signal].account in Ihrer Konfiguration.
    5. Starten Sie die Container: docker compose up --build
    6. Fügen Sie nach dem ersten Start erlaubte Nummern über die /settings-Weboberflache hinzu.
    7. Wichtig: signal-cli löst Telefonnummern für Kontakte, die es noch nicht angeschrieben hat, nicht auf. Der Bot muss jedem Kontakt die erste Nachricht per Telefonnummer senden, bevor er eingehende Nachrichten von ihnen empfangen und identifizieren kann. Um dies für den Besitzer auszulösen, führen Sie folgenden Befehl aus:
      root@kitploit:~
      docker compose exec app node -e "fetch('http://localhost:3001/chat',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({message:'Send the message \"Hello from Stavrobot\" to my Signal number.'})}).then(r=>r.text()).then(console.log)"
      
    8. Weitere Details finden Sie im signal-cli Schnellstart.

    Telegram Einrichtung

    1. Schreiben Sie @BotFather auf Telegram, erstellen Sie einen neuen Bot und kopieren Sie den Token.
    2. Schreiben Sie @userinfobot auf Telegram, um Ihre Benutzer-ID zu erhalten (diese wird als Chat-ID verwendet).
    3. Setzen Sie [telegram].botToken in Ihrer Konfiguration.
    4. Setzen Sie die Chat-ID (nicht Ihre Mobiltelefonnummer) in [owner].telegram in Ihrer Konfiguration.
    5. Fügen Sie nach dem ersten Start erlaubte Chat-IDs über die /settings-Weboberflache hinzu.
    6. Der Webhook wird automatisch registriert, wenn die App startet.

    WhatsApp Einrichtung

    WhatsApp erfordert eine separate Telefonnummer, da Sie sich sonst selbst schreiben würden, was nicht wirklich funktioniert.

    WhatsApp verwendet Baileys, eine inoffizielle WhatsApp-Web-Bibliothek, die sich als Begleitgerät verbindet (wie WhatsApp Web). Es ist keine separate Telefonnummer erforderlich – sie verknüpft sich mit Ihrem bestehenden WhatsApp-Konto.

    Risiko: Baileys verwendet eine inoffizielle API. WhatsApp kann Konten sperren, die es verwenden. Nutzung auf eigene Gefahr.

    1. Fügen Sie einen [whatsapp]-Abschnitt zu Ihrer config.toml hinzu (siehe config.example.toml für das Format).
    2. Starten Sie die Container: docker compose up --build
    3. Ein QR-Code erscheint in den App-Protokollen (docker compose logs -f app).
    4. Öffnen Sie WhatsApp auf Ihrem Telefon, gehen Sie zu Verknüpfte Geräte und scannen Sie den QR-Code.
    5. Die Sitzung bleibt über Neustarts hinweg in ./data/whatsapp erhalten.
    6. Fügen Sie erlaubte Telefonnummern über die /settings-Weboberflache hinzu.

    E-Mail Einrichtung

    E-Mail verwendet einen Cloudflare E-Mail-Worker für den eingehenden Versand und SMTP für den ausgehenden. Siehe config.example.toml für den vollständigen Worker-Code und detaillierte Einrichtungsanweisungen.

    1. Fügen Sie einen [email]-Abschnitt zu Ihrer config.toml mit SMTP-Anmeldedaten und einem zufälligen webhookSecret hinzu.
    2. Stellen Sie den Cloudflare E-Mail-Worker bereit (Code in config.example.toml) und setzen Sie die Umgebungsvariablen WEBHOOK_URL und WEBHOOK_SECRET im Worker.
    3. Fügen Sie in Cloudflare E-Mail-Routing eine Regel hinzu, um eingehende E-Mails an den Worker weiterzuleiten.
    4. Fügen Sie erlaubte Absenderadressen über die /settings-Weboberflache hinzu.

    Ausführen

    root@kitploit:~
    docker compose up --build
    

    Die API ist verfügbar unter http://localhost:10567/chat.

    Hinweis: Docker Compose macht die App nur unter localhost:10567 verfügbar. Um sie extern erreichbar zu machen (erforderlich für Telegram/Signal-Webhooks und die publicHostname-Einstellung), richten Sie einen Reverse-Proxy (z. B. Nginx, Caddy) ein, der auf localhost:10567 zeigt. Sie können den Port auch direkt freigeben, dies wird jedoch nicht empfohlen, da der Datenverkehr dann unverschlüsselt ist.

    Ohne Docker

    Erfordert Node.js >= 20 und eine laufende PostgreSQL-Instanz.

    root@kitploit:~
    npm install && npm run build && npm start
    

    Hinweis: Python-Ausführung und Signal-Integration funktionieren nur innerhalb der Docker-Container.

    Wissenssystem

    Stavrobot verfügt über ein dreistufiges Wissenssystem: Erinnerungen, einen Notizblock und die Datenbank. Es wird diese weitgehend selbstständig verwalten, aber es ist wichtig, dass Sie darüber Bescheid wissen, da Sie dem Bot helfen werden, sie richtig zu nutzen.

    Erinnerungen werden immer vollständig in den Systemprompt eingefügt. Sie sollten sparsam damit umgehen, da sie jedes Mal in den Kontext aufgenommen werden. Eine große Anzahl von ihnen kann den Kontext vergrößern. Ein Beispiel für eine gute Erinnerung wäre „Der Benutzer bevorzugt einen lockeren Gesprächsstil.“ – etwas, das der Bot jedes Mal wissen sollte, selbst wenn dies zusätzliche Kontextlänge kostet.

    Der Notizblock ist der Ort, an dem der Bot weniger häufig benötigtes Wissen speichert, aber Wissen, das sich auf ein Thema bezieht. Notizblockeinträge haben einen Titel und einen Text, und der Titel wird automatisch in den Kontext injiziert. Verwenden Sie dies für wichtige, aber weniger häufig benötigte Dinge, die sich normalerweise auf ein bestimmtes Thema beziehen.

    Ein guter Notizblockeintrag wäre zum Beispiel „Ernährungsvorlieben“ mit Details darüber, was Sie gerne essen, wann usw. Der Bot sieht, dass es ein Thema „Ernährungsvorlieben“ gibt, lädt aber den eigentlichen Text nicht automatisch in den Kontext, sondern greift nur bei Bedarf darauf zu.

    Wenn Sie mit dem Bot über Essen sprechen, weiß er, dass es einen Notizblockeintrag „Ernährungsvorlieben“ gibt, den er ansehen kann, und er macht das normalerweise von selbst.

    Die Datenbank ist die dritte Ebene für strukturierte oder größere Datenmengen, die nicht in Erinnerungen oder den Notizblock gehören. Der Bot hat über uneingeschränktes SQL vollen Lese-/Schreibzugriff auf PostgreSQL, sodass er Tabellen erstellen, Abfragen ausführen und alles speichern kann. Verwenden Sie dies für Dinge wie Listen, Protokolle, strukturierte Aufzeichnungen oder alle Daten, die sich besser abfragen als als Text lesen lassen.

    Der Bot wird normalerweise gut genug wissen, was wann zu verwenden ist, aber manchmal möchten Sie ihm explizit sagen, welche Informationen wo abgelegt werden sollen.

    Mit anderen Personen kommunizieren

    Stavrobot kann in Ihrem Namen Personen über Signal, Telegram, WhatsApp oder E-Mail Nachrichten senden. Müssen Sie ein Abendessen mit einem Freund planen? Sagen Sie dem Bot, er soll einen Zeitpunkt finden, der für Sie beide passt, und er wird ihn anschreiben, einen Termin aushandeln und in Ihren Kalender eintragen. Einen Termin vereinbaren, einen Gruppenausflug koordinieren oder jemanden etwas fragen, während Sie beschäftigt sind? Sagen Sie dem Bot einfach, was Sie brauchen und mit wem Sie sprechen möchten.

    Der Bot startet für jedes Gespräch einen dedizierten Sub-Agenten mit eigenen Anweisungen und Kontext, sodass er den Hin und Her mit der anderen Person führen kann, ohne Ihren Hauptchat zu überladen. Wenn die Aufgabe erledigt ist, deaktiviert er den Kontakt und berichtet Ihnen.

    Aus Sicherheitsgründen sind für die Kommunikation zwei Dinge erforderlich, bevor der Bot mit jemandem sprechen kann:

    1. Sie fügen sie der Whitelist hinzu. Gehen Sie zu /settings und fügen Sie ihre Telefonnummer (Signal oder WhatsApp) oder Chat-ID (Telegram) hinzu. Dies ist ein einmaliger Schritt pro Person. Der Bot kann diese Liste nicht ändern oder jemanden anschreiben, der nicht darauf steht, egal was passiert.
    2. Der Bot erstellt einen Kontakteintrag. Wenn Sie den Bot bitten, jemanden auf der Whitelist anzuschreiben, erstellt er einen Kontakteintrag und startet einen dedizierten Sub-Agenten für das Gespräch. Wenn die Aufgabe erledigt ist, deaktiviert er den Kontakt, was die Kommunikation in beide Richtungen blockiert, bis Sie den Bot bitten, sie wieder zu aktivieren.

    Ein typischer Ablauf: Sie fügen die Telefonnummer Ihres Freundes einmalig über /settings zur Whitelist hinzu, dann sagen Sie dem Bot: „Finde einen Zeitpunkt fürs Abendessen mit Alex nächste Woche.“ Der Bot erstellt einen Kontakteintrag für Alex, startet einen Sub-Agenten, schreibt Alex über Signal, spricht hin und her, um ein Datum zu finden, und meldet Ihnen das Ergebnis.

    Fähigkeiten (Skills)

    Fähigkeiten sind Klartext-Anweisungsdateien, die dem Bot neue Fähigkeiten beibringen – Dinge wie das Erstellen von Tabellen, Speichern von Wissen, Erstellen von Seiten oder Befolgen bestimmter Arbeitsabläufe. Sie sind kein Code; es sind natürlichsprachliche Anweisungen, die der Bot liest und befolgt.

    Um das Fähigkeitssystem zu installieren, sagen Sie dem Bot, er solle https://stavrobot.stavros.io/skills/bootstrap.md abrufen und seinen Anweisungen folgen.

    Eine vollständige Liste der verfügbaren Fähigkeiten finden Sie unter https://stavrobot.stavros.io/skills/index.md. Um eine Fähigkeit zu installieren, sagen Sie dem Bot einfach, er solle sie von dieser URL abrufen und installieren. Der Bot zeigt Ihnen, was die Fähigkeit tut, und bittet um Bestätigung, bevor er fortfährt.

    Die Fähigkeitsdateien liegen im pages-Branch dieses Repos (ausgeliefert über Cloudflare Pages). Um eine Fähigkeit beizutragen, fügen Sie eine Markdown-Datei zu skills/ in diesem Branch hinzu. Jede Fähigkeitsdatei hat YAML-Frontmatter mit title, description, version und einem optionalen author, gefolgt von den Anweisungen in Klartext. Siehe SKILL-AUTHORING.md für die vollständige Autorenanleitung. Reichen Sie einen PR gegen den pages-Branch ein.

    Wie erstelle ich ein eigenes Plugin

    Siehe PLUGIN.md für alles, was Sie wissen müssen, um ein Stavrobot-Plugin zu erstellen. Dasselbe Dokument dient sowohl Menschen als auch LLMs als Referenz.

    Empfohlene Plugins

    Plugins sind ziemlich notwendig, um Kernfunktionen des Bots zu aktivieren, wie die Fähigkeit, Sprachnotizen zu „hören“, Sprachnotizen zurückzusenden, sich über Orte in Ihrer Umgebung bewusst zu sein, das Web zu durchsuchen usw.

    Diese Fähigkeiten werden nicht standardmäßig bereitgestellt, damit Sie die Möglichkeit haben, Ihren Bot beliebig anzupassen. Sie sollten jedoch Plugins installieren, da Ihnen sonst wichtige Funktionalitäten fehlen.

    Einige Erstanbieter-Plugins finden Sie hier:

    https://github.com/orgs/stavrobot/repositories

    Architektur

    Drei zentrale Docker-Container: app (TypeScript-Server, bietet POST /chat, verarbeitet Telegram-Webhooks unter POST /telegram/webhook, verarbeitet eingehende E-Mail-Webhooks unter POST /email/webhook und führt WhatsApp im Prozess über Baileys aus), postgres (PostgreSQL 17 für persistenten Zustand) und plugin-runner (Node.js-Server – listet, inspiziert und führt Plugins aus, sowohl lokal erstellte als auch über Git installierte). Ein optionaler coder-Container (Claude Code Headless-Agent zum Erstellen und Ändern von editierbaren Plugins) wird über das coder-Docker-Compose-Profil aktiviert. Der Haupt-Agent kann Sub-Agenten erstellen, jeder mit eigener Gesprächshistorie, System-Prompt und Tool-Whitelist. Gesprächspartner sind Kontakteinträge, die Agenten für die eingehende Nachrichtenweiterleitung zugewiesen werden.

    Lizenz

    AGPL-3.0

    Tool herunterladen