Modell / Datensatz
whiteguo233/OpenBiliClaw avatar
whiteguo233/OpenBiliClaw

OpenBiliClaw: lokaler Empfehlungs-Agent, der dein Profil in SQLite hält

本地私有、开源的自进化跨平台 AI 内容发现 Agent:先理解你,再主动从 B站、小红书、抖音、YouTube、X、知乎、Reddit、微博等平台与开放 Web 寻找内容。(支持 deepseek harness 插件) | Local-first open-source cross-platform AI content discovery agent: understands you, then proactively finds content across Bilibili, Xiaohongshu, Douyin, YouTube, X, Zhihu, Reddit, Weibo and the open web.(support deepseek harness plugin)

3.307 Sterne175 ForksPythonMIT

Auf einen Blick

Was ist das?
OpenBiliClaw ist ein selbstgehosteter Python-Agent, der Signale aus Bilibili, Xiaohongshu, Douyin, YouTube, X, Zhihu, Reddit, Weibo und GitHub sammelt, daraus ein lokales Persönlichkeitsprofil baut und auf dieser Basis plattformübergreifend Inhalte sucht. Die entscheidende Frage ist nicht, ob das Konzept trägt, sondern ob du bereit bist, einen zweiten Dienst auf deinem Rechner dauerhaft zu betreiben.
Für wen ist es gedacht?
Wer seine Interessen nicht in den Datenbanken von Bilibili, Xiaohongshu und YouTube zersplittern lassen will und einen Rechner besitzt, der dauerhaft läuft, findet hier einen seltenen Fall: MIT-Lizenz, lokale SQLite, kein Cloud-Konto. Wer keinen Rechner dauerhaft betreiben will oder keine Browser-Session für die Account-Quellen opfern möchte, sollte es nicht installieren, denn die Kernfunktion hängt an einer eingeloggten Browser-Instanz.
Darf ich es kommerziell nutzen?
Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 1 Tag.
In welcher Sprache ist es geschrieben?
Hauptsächlich Python, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Das Problem: Empfehlungsdatenbanken kennen dich nur plattweise

Die README argumentiert, ein Empfehlungssystem sei im Kern ein Zwischenhändler: Es sitzt zwischen Inhalt und Nutzer und gewichtet Klickrate, Abschlussrate, Verweildauer, Retention und Werbeerlöse zu einem einzigen Ranking-Score. Die Gewichte setzt die Plattform, nicht der Nutzer. Der zweite Teil der Argumentation ist konkreter und leichter nachprüfbar: Interessen liegen in getrennten Datenbanken. Wer drei Jahre lang mechanische Tastaturen auf Bilibili konsumiert, wird davon auf Xiaohongshu nichts sehen, und umgekehrt. OpenBiliClaw setzt genau dort an und verspricht, die Signale aus mehreren Plattformen in einem lokalen Profil zu bündeln. Die Zielgruppe sind technisch versierte Einzelnutzer, die einen eigenen Rechner betreiben und ihre Interessen nicht in drei getrennten Empfehlungsfeeds verwalten wollen. Das ist ein Nischenprodukt, kein Massenwerkzeug, und die README adressiert entsprechend Nutzer, die Docker, Skripte oder manuelle Deployments als Optionen akzeptieren.

Signale rein, Profil raus: der Datenfluss hinter dem Agenten

Die Architektur ist dreiteilig. Eine Browser-Erweiterung erfasst Verhalten auf den Quellplattformen. Ein lokales Backend, in Python 3.11 oder neuer geschrieben, verarbeitet diese Signale, hält sie in SQLite und baut daraus ein Profil. Der Agent sucht anschließend auf Basis dieses Profils aktiv nach Inhalten, statt nur auf eingehende Tags zu reagieren. Die README beschreibt den Ablauf als umgekehrt zur üblichen Richtung: nicht vom Video zu passenden Tags, sondern vom Nutzer zu Inhalten. Zwei Rückkopplungsschleifen sind dokumentiert: explizite Signale (Gefällt mir, kein Interesse) und Gesprächsfeedback über den Chat. Für das Profil wird ein Embedding-Modell namens bge-m3 verwendet, das in der Vollversion mit rund 1,1 GB im Installationspaket steckt. Die Datenhoheit liegt laut README beim Nutzer: Standardmäßig bleiben die Daten in einer lokalen SQLite-Datei. Für GitHub liest das Backend öffentliche Repositories anonym über die offizielle REST-API; ein Personal Access Token ist optional und dient der Erhöhung des Rate-Limits sowie der Identitätsprüfung, nicht als Voraussetzung.

Installation in vier Schritten, mit einem Modell-Download als Stolperstein

Der kürzeste Pfad laut README: Chrome-Erweiterung aus dem Web Store oder als ZIP aus dem Latest Release installieren, dann das Desktop-Paket für macOS (.dmg) oder Windows (.exe) vom selben Release beziehen. Dort gibt es pro Plattform zwei Varianten. Die Slim-Version lädt beim ersten Start selbstständig das Vektor-Modell bge-m3 nach. Die Variante mit dem Suffix `-with-embedding` bringt das Modell bereits mit und funktioniert ohne Netzwerkzugriff. Für Nutzer mit schlechter Anbindung oder Offline-Anforderung ist die zweite Variante die richtige Wahl, alle anderen nehmen die Slim-Version. Wer den Quellcode anfassen will, kann den Installationsauftrag an einen Coding-Assistenten delegieren; die README liefert dafür einen fertigen Prompt, der auf `docs/agent-install.md` verweist und ausdrücklich verlangt, das Dokument mit `curl` statt mit WebFetch zu laden, weil WebFetch nach Angabe der README Schlüsselanweisungen verliert. Nach dem Start läuft die Weboberfläche unter `http://127.0.0.1:8420/web`. Für Mobilgeräte im selben WLAN zeigt die Erweiterung einen QR-Code auf `http://<LAN-IP>:8420/m/`, der sich als Homescreen-Verknüpfung ablegen lässt. Ein eigenes Passwort setzt man mit `openbiliclaw set-password`; die README empfiehlt das ausdrücklich, wenn man den Port überhaupt öffnet.

Tailnet-Zugriff ist optional und verlangt einen zweiten Build-Schritt

Für Zugriff außerhalb des lokalen Netzes dokumentiert das Projekt einen Tailnet-Modus. Die mobilen Clients für Android und iOS bringen `tsnet` bereits mit. Auf dem Desktop-Rechner muss man den Helper dagegen selbst bauen: `openbiliclaw tailnet build-helper` setzt Go 1.26.6 voraus, danach folgt `openbiliclaw tailnet enable` und ein Neustart. Alternativ lässt sich der Modus in der Oberfläche unter Einstellungen, Allgemein, Anwendung Tailnet-Fernzugriff aktivieren. Dort sind drei Wege vorgesehen: leeres Feld mit Web-Login, ein Auth Key im Format `tskey-auth-…` oder ein OAuth Client Secret im Format `tskey-client-…` mit autorisiertem Geräte-Tag. Die Zugangsdaten werden laut README nur lokal bis zum nächsten Start zwischengespeichert und landen weder in `config.toml` noch in API-Antworten oder Logs. Der Einstiegspunkt ist standardmäßig geschlossen und nur im privaten Tailnet sichtbar; Funnel und Serve werden nicht aktiviert. Das ist eine bewusste Einschränkung, keine fehlende Funktion: Wer den Dienst öffentlich erreichbar machen will, muss das außerhalb dieses Mechanismus tun, und die README rät in dem Fall zur Anwendungspasswort-Absicherung.

Wo der Ansatz bricht: Account-Quellen und ein Modell-Download

Die größte Einschränkung steckt im Konzept selbst. Mehrere der wichtigsten Quellen, darunter Bilibili, Xiaohongshu, Douyin, YouTube, X und Zhihu, benötigen laut README eine Account-Session und laufen über die installierte Browser-Erweiterung. Wer keine Browser-Session für diese Dienste opfern will, verliert einen erheblichen Teil des Versprechens. Öffentlich ohne Konto funktionieren nach Angaben der README Linux.do, Bangumi, V2EX, Weibo und GitHub. Das ist eine reale Zweiteilung: Die öffentlichen Quellen liefern Foren- und Repository-Signale, die Account-Quellen liefern das Verhaltensmaterial, aus dem ein belastbares Profil überhaupt erst entsteht. Ein zweiter Bruch ist der Modell-Download. Die Slim-Variante zieht beim ersten Start rund 1,1 GB nach. Auf einer langsamen oder getakteten Verbindung ist das kein Installationsdetail, sondern ein Abbruchgrund. Drittens: Wer den Rechner nicht dauerhaft laufen lässt, verliert die kontinuierliche Signalerfassung. Der Agent ist kein Batch-Job, den man gelegentlich startet.

Abgrenzung zu selbstgebauten Feeds und zu generischen RSS-Aggregatoren

Die naheliegende Alternative ist ein selbstgebauter Feed aus RSS und Plattform-APIs, etwa mit einem Skript, das neue Einträge in eine Datenbank schreibt und nach Stichwörtern filtert. Der Unterschied liegt in der Richtung der Filterung. Ein Stichwortfilter prüft Inhalte gegen Begriffe, die du vorher festgelegt hast. OpenBiliClaw leitet die Auswahl aus einem Profil ab, das sich aus Verhalten und Gesprächsfeedback ändert, und sucht aktiv statt nur zu filtern. Das ist mehr Aufwand und mehr Angriffsfläche: Ein Stichwortfilter hat kein Modell, keine Embeddings und keine 1,1 GB Download. Ein zweiter Vergleichspunkt sind gehostete Empfehlungsdienste. Dort ist der Trade-off umgekehrt: kein Betriebsaufwand, aber dein Interessenprofil liegt auf fremden Servern. Die README positioniert OpenBiliClaw ausdrücklich gegen diese Variante. Wer den Betriebsaufwand scheut, ist mit einem gehosteten Dienst besser bedient, muss dann aber die Datenhoheit abgeben. Ein dritter Weg wäre, nur die öffentlichen Quellen zu nutzen, also Linux.do, V2EX, Bangumi, Weibo und GitHub ohne Konto. Das reduziert die Abhängigkeit von der Browser-Session, kostet aber die Verhaltenssignale, die das Profil tragen.

Wartung, Release-Takt und Lizenz

Das Projekt steht unter MIT-Lizenz. Das erlaubt kommerzielle Nutzung, Modifikation und Weitergabe, solange Lizenz- und Urheberrechtshinweis erhalten bleiben. Wer den Code forkt und weitervertreibt, muss den Hinweis also mitführen; das ist keine Rechtsberatung, sondern nur der Hinweis, dass die Bedingungen der MIT-Lizenz beim Fork relevant werden. Der Release-Takt ist dicht: Die drei Releases openbiliclaw-v0.3.220, extension-v0.3.220 und desktop-v0.3.220 liegen am selben Tag, was darauf hindeutet, dass Backend, Erweiterung und Desktop-Paket gemeinsam versioniert und ausgeliefert werden. Für Betreiber bedeutet das: Updates kommen häufig, und die drei Komponenten sollten zueinander passen. Die README weist darauf hin, dass die Chrome-Store-Version einige Tage hinter dem Release zurückliegen kann und neue Funktionen zuerst im ZIP aus dem Latest Release landen. Wer aktuelle Funktionen will, installiert manuell und aktualisiert entsprechend selbst. Wer die Store-Version nutzt, bekommt automatische Updates, aber verzögert. Diese Wahl muss man einmal treffen, denn sie bestimmt, wie viel Wartungsarbeit an der Erweiterung hängt.

Für wen sich der Betrieb lohnt und was vorher zu klären ist

Der Agent richtet sich an Nutzer, die mehrere chinesische und westliche Plattformen parallel verwenden und die Fragmentierung ihres Interessenprofils als echtes Problem empfinden. Er richtet sich nicht an Gelegenheitsnutzer, die eine Plattform konsumieren, und nicht an Teams, die einen gehosteten Dienst ohne Betriebsaufwand suchen. Vor dem ersten Start sind drei Dinge zu klären. Erstens: Läuft ein Rechner dauerhaft, auf dem das Backend und die SQLite-Datei liegen können? Zweitens: Ist die Verbindung schnell genug für den bge-m3-Download, oder brauchst du die `-with-embedding`-Variante? Drittens: Willst du die Browser-Session für die Account-Quellen bereitstellen, oder beschränkst du dich auf die öffentlichen Quellen Linux.do, Bangumi, V2EX, Weibo und GitHub? Wenn du den Dienst über das lokale Netz hinaus erreichbar machst, führe vorher `openbiliclaw set-password` aus, denn die README selbst verknüpft den Tailnet-Zugang mit dieser Empfehlung. Ein Fork, der die Account-Quellen durch offizielle APIs ersetzt, wäre technisch denkbar, aber die README zeigt keinen solchen Pfad.

Redaktionelles Fazit

Wer seine Interessen nicht in den Datenbanken von Bilibili, Xiaohongshu und YouTube zersplittern lassen will und einen Rechner besitzt, der dauerhaft läuft, findet hier einen seltenen Fall: MIT-Lizenz, lokale SQLite, kein Cloud-Konto. Wer keinen Rechner dauerhaft betreiben will oder keine Browser-Session für die Account-Quellen opfern möchte, sollte es nicht installieren, denn die Kernfunktion hängt an einer eingeloggten Browser-Instanz. Vor dem ersten Start prüfe, ob dein Rechner die 1,1 GB des bge-m3-Modells im `-with-embedding`-Paket verkraftet oder ob die Slim-Variante beim ersten Start selbst nachladen soll, und ob du `openbiliclaw set-password` ausführst, bevor du den Web-Port 8420 überhaupt öffnest.

Offizielle Quellen

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. whiteguo233/OpenBiliClaw on GitHub
Community-Notizen

Community-Notizen