whiteguo233

OpenBiliClaw-mobile

OpenBiliClaw-mobile is the Flutter client for OpenBiliClaw: connect to your local backend for recommendations, AI chat, and profiles, with a built-in Bilibili player and built-in Tailscale connectivity.

v0.3.159
Published at
Sep 16, 2026
27
Stars
253
Download
Synced at
1d ago

Latest release

v0.3.159Sep 16, 2026, 08:51 AM
Downloads slow? Switch the source anytime above

README

Overview

The phone side is here: OpenBiliClaw-mobile is the Flutter mobile client (a multi-platform content recommendation and cognition client) for OpenBiliClaw, connecting to your self-hosted OpenBiliClaw backend (Bilibili data + AI capabilities). It follows a client-plus-backend architecture across six platforms — Android, iOS, Web, Linux, macOS, and Windows — under the MIT license, requiring Android API 31+ and iOS 15.0+.

Connect the backend → browse to build data → AI builds a profile → chat to tune preferences → recommendations get sharper.

Item Detail
Positioning Full Flutter mobile client for OpenBiliClaw
Platforms Android, iOS, Web, Linux, macOS, Windows
Architecture Client + local backend (default 127.0.0.1:8420)
Player media_kit native player (PiliPlus-inspired) + built-in WebView
License MIT

Usage Flow

  1. Configure the backend: open connection settings from the top-right gear, choose direct connection or built-in Tailscale, fill in the backend IP and port, and verify with Test Connection
  2. Recommendations page: pulls the for-you video feed from the backend with pull-to-refresh; offline shows a backend-unreachable hint
  3. Chat page: talk to the AI about the creators and content types you like; it adjusts recommendations accordingly
  4. Profile page: shows the AI-built interest profile, which sharpens with use
  5. Library page: manage read-later, favorites, and the last 30 days of history (opened, seen-but-not-opened, recently removed — all restorable)
  6. Inbox: handle interest probes, pitfall probes, cognition updates, and pending-chat confirmations

Feature Highlights

  • Three library tabs: read-later, favorites, and history, with like/dislike/chat feedback and cross-switching between favorite and read-later on saved cards
  • Unified inbox and Delight surprise recommendations, aligned with the Web and extension clients
  • Cover images load uniformly through the backend proxy and cache, avoiding CORS, mobile anti-hotlinking, and DNS/TLS differences
  • Material 3 navigation on Android and Cupertino tab bar on iOS, with light/dark themes, large fonts, landscape, and safe areas
  • Source recognition for Bilibili, Douyin, Xiaohongshu, YouTube, X, Zhihu, Reddit, Weibo, Linux.do, V2EX, and more; non-Bilibili content opens the native app first, falling back to the web page

Player and Login State

  • The native player is based on media_kit: danmaku, subtitles, speed, quality and part switching, playback memory, double-tick seeking, and swipe volume, plus like, coin, favorite, triple-action, comment lists, and related videos
  • Login state and streams use the backend /api/bilibili/player/play-url protocol; if the backend is not ready, one tap falls back to the built-in WebView, which reuses the backend's existing Bilibili login state
  • The player page shows the uploader's avatar, name, and follower count, can jump to the Bilibili native app or web space, and supports follow/unfollow
  • On Android, to avoid double URL-encoding of cookies, a same-origin bootstrap page writes raw values via document.cookie

Connectivity and Build

  • Android and iOS support built-in Tailscale: only this app's backend requests enter the tailnet, with no public port or system VPN; node identity is stored in app-private storage for keyless reconnects
  • The backend LLM can use SenseNova or other OpenAI-compatible services; optional local Ollama semantic dedup (nomic-embed-text or bge-m3, 768 dimensions)
  • CI builds dual-platform release artifacts when a vX.Y.Z tag matching pubspec is pushed: signed APK/AAB, unsigned IPA for self-signing, symbol files, and checksums
  • Tests run in three layers: flutter test unit tests without a backend, test_e2e for backend API and LLM capabilities, and integration_test for four main flows on real devices

Release history

Sort