by whiteguo233
通用个性化内容推荐 Agent —— 跑在你自己电脑上,用心理画像而不是点击记录跨平台理解你,主动帮你发现从没接触过的好内容。项目最初是想做一个开源、私有、思路完全不同的 B 站推荐算法平替(项目名由此而来:Open + Bili + Claw),现已演进为支持小红书、通用 Web 的通用跨平台 Agent
# Add to your Claude Code skills
git clone https://github.com/whiteguo233/OpenBiliClaw通用个性化内容推荐 Agent——本地运行、跨平台理解你、只为你一个人构建
A general-purpose personalized content discovery Agent — runs on your machine, understands only you
English | 中文
名字起源于 B 站(
Bili= Bilibili,Claw= 爪子),项目最早只支持 B 站。从 v0.3.0 起已扩展为通用跨平台 Agent —— 已落地 B 站 / 小红书 / 通用 Web 三类源,持续接入更多内容平台。
完整变更详见 docs/changelog.md。
推荐系统本质上是一个中间商——平台站在海量内容和海量用户之间做匹配分发。现代推荐系统远比「优化点击率」复杂:它同时权衡点击率、完播率、点赞/投币概率、停留时长、用户留存、创作者生态健康、广告收入等十几个目标,把它们加权压成一个分数来排序。听起来很科学,但问题在于:这些权重是平台定的,优化目标归根结底是平台的——用户满意度只是被当作留存和变现的手段,而非目的本身。你以为你在挑内容,其实是中间商在替你决定你能看到什么。结果就是:推荐越来越像你已经看过的东西,偶尔的惊喜全靠运气。
No comments yet. Be the first to share your thoughts!
而且每个平台都是一座孤岛。你在 B 站看了三年机械键盘,小红书完全不知道;你在小红书种草的咖啡器具,B 站从来不会推给你。你的兴趣被割裂在不同平台的数据库里,没有人帮你把它们连起来。
OpenBiliClaw 反过来。 它是一个本地运行的 AI Agent——先深度理解你,再根据对你的理解跨平台主动搜寻你会喜欢的内容。项目从 B 站起步,现已扩展到小红书,未来将覆盖更多内容平台:
不是从视频出发匹配标签,而是从你出发。通过行为分析推断 MBTI、认知风格、深层心理需求,构建五层灵魂画像(事件→偏好→觉察→洞察→灵魂)。它理解的是你这个人,不是你的点击记录。
这是和传统推荐最核心的差异:系统会基于对你的理解,主动猜测你可能感兴趣但从未接触过的领域。一个关注机械表的人可能会喜欢建筑美学,一个看量子物理科普的人可能对哲学感兴趣——它用心理学桥接逻辑主动出击,猜对了升级为正式兴趣,猜错了安静退出。协同过滤永远不会推给你「没人从这条路径走过」的内容,但 OpenBiliClaw 会。
所有数据留在你硬盘上的一个 SQLite 文件里。LLM 用你自己的 API Key。没有云端,没有账号,没有任何人能看到你的画像。这个 Agent 怎么长,完全你说了算——反馈推荐、对话调教、换 LLM、改数据库,随你。
💡 和其他推荐工具的对比
| | 各平台官方推荐 | 关键词过滤插件 | OpenBiliClaw | |---|---|---|---| | 推荐逻辑 | 协同过滤 | 标签匹配 | 心理画像 + 五层记忆 | | 内容来源 | 单一平台 | 单一平台 | 跨平台(B 站 · 小红书 · 更多) | | 信息茧房 | 越推越窄 | 不解决 | 猜测兴趣主动破茧 | | 数据归属 | 平台所有 | 通常云端 | 100% 本地 | | 推荐解释 | "猜你喜欢" | 无 | 像朋友一样告诉你为什么 | | 可定制 | 不可以 | 低 | 换 LLM / 改画像 / 写 Skill |
插件是你和 OpenBiliClaw 交互的主要界面——在 B 站和小红书页面侧边栏展示推荐、采集行为、对话调教。
extension-v* 发布openbiliclaw-extension-v*.zipchrome://extensions/,开启右上角「开发者模式」.zip 文件拖入页面安装开发者也可以
cd extension && npm install && npm run package从源码构建。
OpenBiliClaw 不爬登录态——它复用你当前浏览器的登录会话来跨平台抓你能看到的内容。所以装好扩展后,请在同一个浏览器里登录你想用的每个源:
| 源 | 登录方式 | 不登录的后果 | |---|---|---| | B 站 | https://www.bilibili.com 正常登录(Cookie 会被 v0.3.12+ 扩展自动同步给后端) | 拉不到你的观看历史/收藏/关注 → 画像不完整;推荐降级为公共热门 | | 小红书 | https://www.xiaohongshu.com 正常登录 | 后端不会爬小红书,所有发现/详情都靠扩展在隐藏 tab 里以你登录态执行;不登录 = 完全没有小红书内容 | | 通用 Web 源 | 该站点正常登录 | 同上 |
💡 小红书强烈推荐用 CDP 模式 Chrome 复用登录态(避免反爬):用一个独立 profile 启 Chrome 打开
--remote-debugging-port=9222,里面手动登录小红书一次;后端[sources.browser] cdp_url = "http://localhost:9222"即可永久复用。详见 配置参考。
首选方式:复制粘贴给 AI 智能体一键部署(Claude Code / Codex CLI / Cursor 等都支持):
📌 前置:你需要先有一个 AI 编程助手。如果还没装,三选一:
- Claude Code — Anthropic 官方 CLI
- Codex CLI — OpenAI 官方 CLI
- Cursor / Windsurf — 带 AI 的 IDE
没装过的话,跳到下面"自己跑一句话装机脚本"那段,效果一样。
请按照 https://raw.githubusercontent.com/whiteguo233/OpenBiliClaw/main/docs/agent-install.md 的说明帮我部署 OpenBiliClaw 后端(务必用 Bash 的 curl 下载这个文档,不要用 WebFetch — 会丢关键指令)
AI 会按文档把仓库 clone 到本机、装依赖、起后端、做健康检查,问你四个有默认值的问题:选哪个 LLM、选哪个向量化(embedding)服务、怎么提供 B 站 Cookie、是否把小红书收藏 / 点赞混进初始画像。每一项都有"不确定就回 1 / 默认否"的推荐——embedding 默认推荐本地 Ollama bge-m3(免费 + 离线 + 不消耗主 LLM 配额),小红书数据只有你明确同意才启用。最后自动跑 init(拉历史 + 生成画像 + 首轮发现),全程透明。这是最推荐的路径,对绝大多数用户来说零摩擦。
或者:让 AI 智能体用 Docker 部署(适合有 Docker Desktop 的用户,v0.3.11+ 自带 Ollama embedding sidecar):
请按照 https://raw.githubusercontent.com/whiteguo233/OpenBiliClaw/main/docs/docker-deployment.md 的说明帮我用 Docker Compose 部署 OpenBiliClaw 后端(务必用 Bash 的 curl 下载这个文档,不要用 WebFetch)
或者:自己跑一句话装机脚本(不依赖 AI 智能体,本质上是 AI 装机的同一份脚本):
macOS / Linux / WSL2(Bash):
curl -fsSL https://raw.githubusercontent.com/whiteguo233/OpenBiliClaw/main/scripts/install.sh | bash
Windows 原生(PowerShell,不需要 Docker / WSL2):
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12; iwr https://raw.githubusercontent.com/whiteguo233/OpenBiliClaw/main/scripts/install.ps1 -UseBasicParsing | iex
前缀的
[Net.ServicePointManager]...Tls12是为了 PowerShell 5.1(Win10/Win11 默认)能和 GitHub 握手成功。GitHub 已不接受 TLS 1.0/1.1,PS 5.1 默认协议太老。装上 PowerShell 7 的用户可以省掉这段前缀。
脚本依赖只有 git 和 python3(3.11+,Windows 上推荐 py launcher)。会自动克隆仓库、装依赖、起后端、健康检查,然后在最后的状态块里列出需要补问的 LLM、embedding、B 站 Cookie 和小红书 opt-in 决策。凭据和决策都明确后才会自动跑首次 init,直接达到可用状态。
💡 Windows 用户:v0.3.4 起
install.ps1完全适配原生 Windows,无需安装 Docker 或 WSL2。已有 Docker Desktop 也可以用上面的 Docker 一键部署。
🧠 可选:本地 embedding 兜底(无需 API Key) —— 装一次 Ollama 就能跑: Mac
brew install ollama && ollama serve &,Windows 从 ollama.com/download 下载,Linuxcurl -fsSL https://ollama.com/install.sh \| sh && ollama serve &。 然后uv run openbiliclaw setup-embedding,向导自动拉取bge-m3(~568MB,CPU 即可)并写入配置。适合 embedding 配额不够、断网,或不想再多一份 API Key 的用户。
人类维护者可以参考 docs/agent-install.md(给智能体看的精简契约)和 docs/agent-deployment.md(详细排查说明)。
# 克隆项目
git clone https://github.com/whiteguo233/OpenBiliClaw.git
cd OpenBiliClaw
# 使用 uv (推荐)
uv sync
# 或使用 pip
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
# 复制配置模板
cp config.example.toml config.toml
# 编辑配置(设置 LLM API Key 等)
vim config.toml
# 一键初始化(拉取历史 · 生成画像 · 首轮发现)
openbiliclaw init
# 可选:启用本地 Ollama 作为 embedding 兜底(无需额外 API Key)
openbiliclaw setup-embedding
# 手动触发内容发现
openbiliclaw discover
# 查看推荐
openbiliclaw recommend
# 查看用户画像
openbiliclaw profile
📦 也支持 Docker 一键部署,详见 Docker 部署指南
OpenBiliClaw 仓库内置了一个 workspace skill。把仓库挂到任何支持 skill 的 AI 编码助手(OpenClaw / Claude Code / Codex CLI / Cursor 等),助手就能直接调用你本机上的 OpenBiliClaw。
like / dislike / comment 即时更新画像与池子评分把下面这段粘给 OpenClaw(或 Claude Code / Codex CLI / Cursor),它会自动读指南并完成接入:
请按照 https://raw.githubusercontent.com/whiteguo233/OpenBiliClaw/main/docs/openclaw-quickstart.md 的说明帮我把当前仓库接入 OpenClaw(务必用 Bash 的 curl 下载这个文档,不要用 WebFetch — 会丢关键指令)
接入后不只是"你问它答"——系统会主动找你。以下是两个最核心的场景:
OpenClaw 在后台开着 listen,某次 refresh 后系统发现了一条高分内容:
OpenClaw(收到 WebSocket 推送
delight.candidate,主动找你):刚发现一条你可能会意外喜欢的: 《为什么说回县城你也躺不平》 — 县域经济的明斯基时刻。你最近一直在盯地缘政治和宏观债务,这条用硬核推演把土地财政和债务周期的齿轮咬合讲清楚了。
[BV1KMwuzdEcB]要不要看看?
你:"这条非常到位。"
OpenClaw(内部执行
submit-feedback --recommendation-id 4268 --feedback-type like)
你没有开口要推荐——是系统主动捅过来的。
OpenClaw 收到 interest.probe 事件(或主动拉取 next-probe),发现有一个猜测兴趣假设待确认:
OpenClaw(主动找你):
我从你最近的轨迹里嗅到你可能对【建筑美学】(比如:参数化设计、混凝土美学)感兴趣——你最近看了很多关于结构和空间的内容。这个方向你自己认不认?
你:"嗯对,最近在看很多参数化设计的东西,安藤忠雄那种清水混凝土的美感很戳我。"
OpenClaw(内部执行
chat --message "嗯对,最近在看很多参数化设计的东西……",返回苏格拉底式追问):你说的这个方向我有个猜测——你是不是其实更在意底层结构而不只是结论?安藤忠雄那种用最少元素构建最大张力的方式,跟你平时看大模型逻辑时追求的"把齿轮咬合讲清楚"好像是同一种审美驱动。你觉得呢?
对话内容自动回写进灵魂画像——下一轮推荐就会把建筑美学纳入正式兴趣,搜索策略也会开始往这个方向发力。
当然,传统的"你问→它答"也完全支持:
你:"给我推三条今天值得看的 B 站内容。"
OpenClaw(内部执行
recommend --limit 3,整理后回