Model or dataset
whiteguo233/OpenBiliClaw avatar
whiteguo233/OpenBiliClaw

OpenBiliClaw: A Local-First Agent That Builds a Profile of You Before Recommending Content

本地私有、开源的自进化跨平台 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 stars175 forksPythonMIT

At a glance

What is it?
OpenBiliClaw is a Python-based, MIT-licensed agent that runs a local backend, builds a psychological profile from your cross-platform behavior, and then searches Bilibili, Xiaohongshu, YouTube, Reddit, and the open web for content. It positions itself as the opposite of platform-controlled recommendation feeds.
Who is it for?
Adopt OpenBiliClaw if you want a recommendation system that keeps your data on your machine and aggregates sources that otherwise ignore each other, and if you are comfortable running a Python backend and a browser extension. Do not adopt it if you expect a polished commercial product or if you need a mobile app without extra setup; the Flutter client is a separate repository.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The Problem: Platform Feeds Are Middlemen With Their Own Goals

OpenBiliClaw starts from a specific critique of mainstream recommendation systems. The README argues that platforms optimize for click-through rate, completion rate, likes, dwell time, retention, creator ecosystem health, and ad revenue, then compress all of that into a single ranking score. The weights are set by the platform, and user satisfaction is only a means to retention, not the goal. The result is that feeds look more like what you already watched, and cross-platform discovery is nonexistent. Your interest in mechanical keyboards on Bilibili never reaches Xiaohongshu, and the coffee gear you liked there never shows up on Bilibili. OpenBiliClaw is built for someone who sees that fragmentation as a real gap and wants one agent that connects those silos without sending data to a central service.

How It Works: Profile First, Then Search

The core mechanism is inverted compared to a typical recommender. Instead of starting from content tags and matching them to you, OpenBiliClaw first builds a psychological profile from your behavior across platforms. The README describes it as "先懂你,再找内容" (understand you first, then find content). Signals come from your browsing, feedback, and conversations. You can mark items as liked or not interested, and chat feedback changes future recommendations. The agent then proactively searches Bilibili, Xiaohongshu, Douyin, YouTube, X, Zhihu, Reddit, Linux.do, Bangumi, V2EX, Weibo, GitHub, and the open web. Data stays in a local SQLite database by default. The system also explains the reasons behind each recommendation, which is a feature that platform feeds rarely expose. The architecture includes a local backend, a browser extension, and a web interface, with a separate Flutter mobile client that connects to the same backend.

Getting It Running: Extension, Backend, and Sources

The README lays out a four-step setup. First, install the Chrome extension from the Chrome Web Store or from a release zip. Second, install the backend from a desktop package: a macOS .dmg or Windows .exe that runs in the menu bar or tray. There are two variants per platform: a lite version that downloads the bge-m3 embedding model on first launch, and a -with-embedding version that bundles the roughly 1.1GB model for offline use. Third, connect sources by logging into Bilibili in the browser (the default initial source) or switching to Xiaohongshu, Douyin, YouTube, X, Zhihu, Reddit, Linux.do, V2EX, Weibo, or GitHub. Linux.do, Bangumi, V2EX, Weibo, and GitHub allow public discovery. GitHub uses the official REST API to read public repositories anonymously, and a PAT is optional for higher rate limits. Fourth, open the interface at http://127.0.0.1:8420/web on the desktop, or scan a QR code with a phone to reach http://<computer-LAN-IP>:8420/m/. For source installs, the README suggests pasting a specific instruction into an AI coding assistant like Claude Code or Codex CLI, pointing to docs/agent-install.md, and warns to use curl instead of WebFetch because WebFetch may drop critical instructions.

The DeepSeek Harness Plugin and Tailnet Remote Access

Two integration paths stand out. First, OpenBiliClaw can be installed as a client plugin into DeepSeek Harness (DSH). The plugin adds a fourth tab to the DSH interface for recommendations, content library, conversation, profile, and settings, and registers 22 Agent Bridge tools. That lets agents inside DSH read recommendations, answer probes, and close the learning loop. Second, for remote access, the Android and iOS native apps in the OpenBiliClaw-mobile repository embed tsnet, and the desktop backend can join the same tailnet. The README explains that you enable it via Settings > General > In-app Tailnet remote access, where you can leave a field blank for web login, enter a tskey-auth-... Auth Key, or provide a tskey-client-... OAuth Client Secret with an authorized device tag. Credentials are stored locally only until the next restart and never enter config.toml, API responses, or logs. The entry is off by default and only visible on the tailnet private network, with no Funnel or Serve enabled. Source installs require running openbiliclaw tailnet build-helper with Go 1.26.6, then openbiliclaw tailnet enable, and a restart. This is a careful approach to remote access, but it adds complexity that most local-first tools avoid.

Genuine Limitations and Wrong-Tool Cases

OpenBiliClaw is not a zero-effort tool. The lite package downloads a vector model on first launch, which means a slow network will delay first use. The full package avoids that but costs about 1.1GB of disk. The browser extension is required for sources that need an authenticated session, so Firefox users have to find an alternative path; the README mentions Firefox but does not detail it in the quick start. The mobile client is a separate repository, so you are not getting a single installable product. The project is under active development with frequent releases, and the Chrome Web Store version may lag behind the latest release by a few days, which can be confusing if you want the newest features immediately. Also, the recommendation quality depends on how much feedback you give; if you do not actively mark likes or dislikes, the profile will be thin. The README does not specify how the psychological profile is constructed or what data it uses beyond behavior and chat, so you cannot verify the privacy claims without inspecting the code.

Alternatives: Platform Feeds vs. Self-Hosted Aggregators

The most direct alternative is to stay with the native feeds of each platform. That approach gives you polished, well-tuned recommendations within each walled garden, but it does not solve the cross-platform fragmentation that OpenBiliClaw targets. A different alternative is a self-hosted RSS aggregator like Miniflux or FreshRSS, which collects content from feeds you choose but does not build a behavioral profile or use an LLM to search the open web. RSS aggregators are simpler, more transparent, and do not require a browser extension, but they only show you what you explicitly subscribe to; they do not proactively discover new sources based on your interests. OpenBiliClaw sits between those two: it uses platform APIs and browser sessions to gather signals, then applies a local model to rank items. The trade-off is that OpenBiliClaw is heavier and more complex than an RSS reader, and it depends on the stability of third-party platform access.

Maintenance, Licensing, and Upgrade Considerations

The project is licensed under MIT, which allows commercial use, modification, and redistribution with attribution. The codebase is primarily Python with TypeScript for the extension and Dart for the Flutter client, so maintenance requires familiarity with multiple languages. The release cadence is high: the latest version is v0.3.220 with separate releases for the core, extension, and desktop packages, and a Gitee mirror for users in China. The README notes that the Chrome Web Store version may lag, so you may need to manually update the extension from the latest release to get new features. The embedding model bge-m3 is a dependency, and the lite version downloads it at first run, which means the backend needs internet access on initial setup unless you choose the bundled variant. Upgrades are not described in detail, but given the active release schedule, you should expect frequent updates and check release notes for changes to configuration or API endpoints. The tailnet feature requires Go 1.26.6 for source builds, which adds a build-time dependency that may not be present on all systems.

Editorial conclusion

Adopt OpenBiliClaw if you want a recommendation system that keeps your data on your machine and aggregates sources that otherwise ignore each other, and if you are comfortable running a Python backend and a browser extension. Do not adopt it if you expect a polished commercial product or if you need a mobile app without extra setup; the Flutter client is a separate repository. Before committing, verify that the sources you care about are covered, that the Chrome extension works with your browser, and that the local backend can handle the embedding model download if you choose the lite package. The project is under active development with frequent releases, so check the changelog for breaking changes.

Official sources

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

Community notes