在自己电脑上跑跨平台内容发现 Agent(OpenBiliClaw)

OpenBiliClaw 是一个本地优先的开源跨平台内容发现 Agent,用 Python 写后端,靠浏览器插件复用 B 站、小红书、抖音、YouTube 等平台的登录态,把行为与反馈沉淀成本机 SQLite 里的个人画像,再据此主动找内容。这篇文章梳理它的主要功能、安装路径、关键参数与已知问题,帮读者判断它是否适合自己。

你在 B 站看了三年机械键盘,小红书并不知道;小红书种草的咖啡器具,B 站也从来不推。各平台推荐系统把点击率、完播率、停留时长、留存、广告收入等十几个目标加权成一个分数排序,权重由平台定,用户满意度在其中只是达成留存与变现的手段。

OpenBiliClaw 用 Python 写后端,是一个本地优先的内容发现 Agent,读取你授权的平台账号与反馈,跨平台找出你可能感兴趣的内容。

它的形态分两半:浏览器插件复用已登录的平台会话,负责抓取平台内信号与展示推荐卡片;本地后端负责画像、检索与排序,默认监听本机 8420 端口,行为、推荐与对话数据写在本机 SQLite。项目从只支持 B 站起步,自 v0.3.0 起扩展为跨平台,当前覆盖 B 站、小红书、抖音、YouTube、X、知乎、Reddit、Linux.do、Bangumi、V2EX、微博、GitHub 与开放 Web。源码仓库是 whiteguo233/OpenBiliClaw,MIT 许可证,主要语言 Python。

OpenBiliClaw 桌面端推荐首页的卡片网格与画像界面

主要功能

功能沿数据流向展开,从平台信号进入本机,到画像沉淀,再到推荐输出。

  • 跨平台信号接入。覆盖 B 站、小红书、抖音、YouTube、X、知乎、Reddit、Linux.do、Bangumi、V2EX、微博、GitHub 与开放 Web。其中 Linux.do、Bangumi、V2EX、微博与 GitHub 可以公开发现;需要账号态的来源,复用已安装的浏览器插件;GitHub 由后端官方 REST API 匿名读取公开 repository,可用公开用户名把 starred repositories 当作初始化信号,PAT 只是可选的提额与身份校验方式。
  • 五层灵魂画像。行为信号逐层沉淀为「事件 → 偏好 → 觉察 → 洞察 → 灵魂」五层结构,并推断 MBTI、认知风格与深层心理需求。画像既有自然语言描述的版本,也有 MBTI、核心特质、深层需求这类结构化特质视图。
  • 主动探索。系统依据画像猜测你可能感兴趣、但从未接触过的领域,猜对升级为正式兴趣,猜错则退出。协同过滤推不出「没人从这条路径走过」的内容,这一层是用来补这个缺口的。
  • 反馈调教。推荐卡片上有 喜欢 / 不感兴趣 / 稍后 / 收藏 / 聊一聊 几个入口,也可以在对话里直接说想看什么。反馈会改变后续推荐结果。
  • 本地优先与自带密钥。行为、推荐与对话数据留在本机 SQLite,配置、画像、凭据与缓存也只保存在本机文件。LLM 默认用你自己的 API Key,也可实验性复用本机 Codex CLI 的 ChatGPT OAuth 凭据。项目没有官方云端账号。
  • 多端入口。桌面端 Web 在 /web,移动端 Web 在 /m,另有独立仓库的原生 Flutter 客户端 OpenBiliClaw-mobile,覆盖 Android / iOS / Web / 桌面;还有把同一套面板搬进 DeepSeek Harness 的 DSH 插件,常驻第四栏并注册 22 个 Agent Bridge 工具。
  • 应用内 Tailnet 远程访问。不在同一局域网时,可让电脑端 OpenBiliClaw 自己加入同一 tailnet。入口默认关闭、只在 tailnet 私网可见,不启用 Funnel/Serve。凭据只在本机私有暂存到下一次启动,不进入 config.toml、API 回显或日志。
  • Skill 扩展。仓库有 skills/ 目录与 config.example.toml 配置模板,支持换 LLM、改画像、写 Skill。

安装与依赖

普通用户走四步,源码与 Docker 属于备用路径。浏览器插件从 Chrome 应用商店一键安装、自动更新,或从 Latest Release 下载 zip 手动安装;商店版可能滞后几天,最新功能先到手动包。

后端从同一个 Latest Release 下载桌面安装包,macOS 用 .dmg,Windows 用 .exe,装完常驻菜单栏或托盘。每个平台有两种包:精简版默认,首次启动自动下载向量模型 bge-m3;-with-embedding 完整版内置 bge-m3(约 1.1GB),离线开箱即用,网络差的选它。

源码部署没有提供 Shell 脚本,README 给的做法是把一段说明粘给 Claude Code、Codex CLI、Cursor 这类 AI 编程助手,让它按 docs/agent-install.md 执行。后端是 Python 项目,仓库根目录有 pyproject.toml 与 uv.lock;Tailnet helper 的构建需要 Go 1.26.6。仓库里另有 Dockerfile 与 docker-compose.yml、docker-compose.prebuilt.yml、docker-compose.https.yml 三个 compose 文件,README 把 Docker 归在备用部署路径。桌面安装包目前是实验性的,未签名也未公证。

最短能跑通的用法

# 1. 装浏览器插件(Chrome 应用商店,或 Latest Release 的 zip 手动安装)
# 2. 从 Latest Release 下载并安装桌面后端(.dmg 或 .exe)
# 3. 在装了插件的浏览器登录 B 站(或改选其他来源)
# 4. 打开桌面 Web 界面
http://127.0.0.1:8420/web

后端启动后,浏览器直接打开 http://127.0.0.1:8420/ 会自动跳转到桌面端首页。手机在同一局域网里扫插件二维码,用 http://<电脑局域网 IP>:8420/m/ 打开移动端,保存到主屏幕可以当 App 用。首次启动会进入初始化画像与推荐池的流程。

关键参数

仓库给出 config.example.toml(48.2 KB)作为配置模板,实际运行时用 config.toml;凭据不会写进 config.toml,也不进 API 回显与日志。模板里的具体字段以该文件为准。

  • 监听端口。后端默认 8420,桌面 Web 在 /web,移动 Web 在 /m。
  • LLM。默认使用你自己的 API Key。
  • 安装包两档。精简版首启下载 bge-m3;-with-embedding 完整版内置该模型。
  • Tailnet。在网页「设置 → 通用 → 应用内 Tailnet 远程访问」里开启,凭据可以留空走网页登录,或填 tskey-auth-… Auth Key,或填带授权设备 tag 的 tskey-client-… OAuth Client Secret。源码安装先跑 openbiliclaw tailnet build-helper(需要 Go 1.26.6),再跑 openbiliclaw tailnet enable 并重启。
  • 访问密码。源码安装可执行 openbiliclaw set-password,网页设置里也能开启应用密码。
  • 源码常量。Issue 里有用户为适配 qwen3.8-27B 在 24G 显存上的上下文长度,手动改了 src/openbiliclaw/soul/cognition_cycle.py 里的 _AWARENESS_EVENT_BATCH_SIZE 等常量。

结果在哪里看

推荐结果和画像都在本机,几个入口读的是同一份数据。

  • 桌面端 Web:http://127.0.0.1:8420/web,大屏推荐首页,包含惊喜推荐 Hero、推荐网格与朋友式的推荐理由。
  • 移动端 Web:http://<电脑局域网 IP>:8420/m/。
  • 浏览器插件:在平台页面内展示推荐卡片,同时负责 Cookie 同步和平台任务。
  • Flutter 客户端:独立仓库 OpenBiliClaw-mobile 覆盖 Android / iOS / Web / 桌面,在设置里填后端地址即可连同一后端。
  • DSH 插件:面板常驻 DeepSeek Harness 第四栏。

数据落盘位置是本机 SQLite,配置文件、画像、凭据与缓存都是本机文件。

实际使用中的坑

仓库当前有 27 个开放 Issue,挑几条有代表性的。

  • 初始化卡在 49%。有用户使用 Windows 0.3.165 安装包,卡在初始化画像和推荐池两个小时,进度一直停在 49%。该 Issue 状态为已解决,15 条评论。
  • 偏好只能被动推断。有用户反馈软件只能靠行为推断偏好,不能由用户主动选择偏好,导致一开始推荐就是错的,怎么点不喜欢都没用;通知部分只有点赞和点踩按钮,没有「确认避雷」「喜欢」「不喜欢」「搁置避雷」这类文字提示,容易点错。该 Issue 状态为已解决。
  • 小红书图片 502。有用户第一天正常,之后图片全部挂掉,GET /api/image-proxy?url=... 返回 502 Bad Gateway,浏览器保持登录也没用。该 Issue 状态为已解决。
  • ZeroTermux 环境启动失败。在 Android 16 的 ZeroTermux 里手动部署后无法启动,报 cryptography 缺少 PyExc_Warning 符号。该 Issue 状态为已解决。
  • 两个功能请求仍待解决。一是「深潜研究」/「专题探索」,希望支持用户主动发起某一方向的定向搜索与聚合;二是抓取 B 站 /x/player/v2 的官方 CC 字幕 JSON 来增强内容理解,维护者已确认全栈 ASR、切帧、OCR 对个人用户成本太高,字幕这条算是折中方案。

和同类放在一起看

项目适合谁部署方式主要限制什么情况下选它更合适项目地址
OpenBiliClaw同时用多个内容平台、要求行为与画像数据留在本机的个人用户桌面安装包(macOS .dmg / Windows .exe,分精简版与 -with-embedding 版)、Docker、源码,后端为 PythonLLM 默认需自备 API Key;账号态来源依赖已登录的浏览器插件;桌面包未签名未公证需要跨平台统一推荐,并且接受自己配 LLM、自己调参数OpenBiliClaw
RUCAIBox/RecBole要在统一接口下做推荐模型实验的开发者与研究者仓库没有说明未逐一核实目标是复现或比较推荐算法本身RUCAIBox/RecBole
meta-pytorch/torchrec在 PyTorch 生态里搭推荐模型训练流程的工程团队仓库没有说明未逐一核实要在自己的数据和模型上做训练与部署meta-pytorch/torchrec

这三者能解决部分相同的问题,重合点在推荐这件事本身,不重合的地方在于它们不抓取平台内容、不做个人画像、也不提供现成的界面。要说 OpenBiliClaw 明显不如对比项的地方:如果你想训练或评测自己的推荐模型,它帮不上忙——画像与推荐由 LLM 加本地 SQLite 记忆承担,仓库里没有模型训练与离线评测的流程。

授权与合规前提

OpenBiliClaw 通过浏览器插件复用已登录的平台会话读取内容,也会抓取平台接口数据,合规责任落在使用者身上。它只适合用在你自己拥有、或已获得明确授权的账号与目标上。用他人的账号会话运行,或者把抓取到的内容对外再分发,可能违反平台服务条款,也可能触及法律风险,账号本身存在被限制或封禁的可能。项目不运营云端服务,也没有替你向任何平台申请授权。

适合谁

适合同时刷多个平台、希望推荐逻辑围绕自己而不是围绕平台留存来转的人;适合在意数据归属,愿意把行为与画像留在本机 SQLite 的人;也适合手上已有 LLM API Key、接受自己调配置的开发者。

不适合想开箱即用、完全不碰配置的用户,桌面包目前未签名也未公证,macOS 首次打开可能被系统拦截。不适合只想在单一平台内提升推荐质量的场景,那种需求用平台自带推荐加关键词过滤就够了。不想承担 LLM 调用成本、又不接受本地小模型效果损失的人,要先想清楚这一点再动手。

焚评:这个项目的量化评分

本项目的选题来自 焚.com(一个按公开公式给 GitHub 项目打分的站)。焚评当前总分 9.6 分(满分 10)。下表是各维度的得分:

评分维度得分
热度动量(权重 25%)10.0 / 10
开发活跃(权重 25%)8.6 / 10
社区响应(权重 15%)9.6 / 10
文档质量(权重 15%)10.0 / 10
发布节奏(权重 10%)9.9 / 10
风险控制(权重 10%)10.0 / 10

评分口径、权重与计算方式见焚.com 的评分方法页;数据随 GitHub 指标刷新,具体数值以焚.com 当前页面为准。本文正文为诀.com 独立撰写,评分数据由焚.com 授权引用。

内容核验说明

这篇把 OpenBiliClaw 的形态、安装路径、关键参数和已知坑一次列清,价值在于替想自建跨平台推荐的人省去翻 README 的时间:它写明数据落在本机 SQLite、LLM 需自备 API Key、桌面包未签名未公证这几处容易被忽略的前提。适合愿意调配置、在意数据归属的开发者;只想开箱即用或只在单一平台内改善推荐的人不必考虑。

文中的版本号、端口、安装包体积、平台覆盖范围、开放 Issue 数量与状态均来自原作者与仓库公开披露,诀.com 未独立验证;焚评各维度分数由焚.com 按公开公式给出,数值随 GitHub 指标刷新,以该站当前页面为准。文章未做实际部署或效果测试,LLM 与本地模型的实际推荐差异文中没有给出结论。

项目来源与说明

开源项目:whiteguo233(whiteguo233)

本文由诀.com 编辑基于该项目的公开信息独立撰写,属原创解读,不是对项目文档的翻译或转载;文中提到的功能与参数以官方仓库为准,代码与文档版权归原作者所有。

查看项目仓库