← Back to Plugins
Integration

Bilibili Autonomous

Septsplit By Septsplit ⭐ 1 stars 👁 81 views ▲ 0 votes

让Openclaw代替你刷B站视频/A tool that uses Openclaw to auto‑play Bilibili videos on your behalf.

GitHub

Install

pip install -r

Configuration Example

{
  "SESSDATA": "你的SESSDATA值",
  "bili_jct": "你的bili_jct值",
  "DedeUserID": "你的DedeUserID数字",
  "ac_time_value": "你的ac_time_value值"
}

README

# bilibili-autonomous

B站 AI 自动互动工具 —— OpenClaw AI的大脑,自动化刷B站、点赞、投币、收藏、评论、弹幕、关注,知识归档。

---

![封面](cover-3.png)

*参考项目:https://github.com/xiaoyaya191/bilibili_learning_bot*

*本项目:https://github.com/Septsplit/Openclaw-Bilibili-Autonomous*

**注:本项目仅用于学习研究目的,请勿用于恶意用途,使用该项目进行违规操作请自行承担责任,还请各位遵守社区规则!**
---

## 📑 目录

- [📌 项目作用与用途](#项目作用与用途)
- [🔧 安装依赖](#-安装依赖)
- [⚙️ 配置方法](#配置方法)
  - [第一步:下载项目到正确目录](#第一步下载项目到正确目录)
  - [第二步:填入 B站 Cookie](#第二步填入-b站-cookie最关键)
  - [第三步:配置 Web 面板账号密码](#第三步配置-web-面板账号密码)
  - [第四步(可选):配置 OpenClaw 联动](#第四步可选配置-openclaw-联动)
- [🚀 一键安装消息](#-一键安装消息)
- [📡 CLI 命令清单](#-cli-命令清单)
  - [自动刷(核心功能)](#自动刷核心功能)
  - [能量管理](#能量管理)
  - [原子互动动作](#原子互动动作)
  - [内容获取](#内容获取)
  - [关注管理](#关注管理)
  - [私信](#私信)
  - [知识库](#知识库)
  - [心情系统](#心情系统)
  - [配置与状态](#配置与状态)
  - [全局选项](#全局选项)
- [🌐 Web 控制面板](#-web-控制面板)
- [🏗 架构与工作原理](#架构与工作原理)
  - [整体架构](#整体架构)
  - [工作流程](#工作流程)
- [📁 项目文件结构](#-项目文件结构)
- [🛠 二次开发指南](#二次开发指南)
  - [扩展新的 B站 动作](#扩展新的-b站-动作)
  - [修改阈值策略](#修改阈值策略)
  - [添加新的配置项](#添加新的配置项)
  - [Web 面板开发](#web-面板开发)
- [📷 项目截图](#-项目截图)
- [📄 License](#-license)
- [🤝 更新日志](#-更新日志)

---

## 📌 项目作用与用途

本项目是 **OpenClaw AI Agent** 的 B站自动化工具,让 AI 能够:

- **自动刷视频**:定时拉取推荐 feed,AI 评分筛选,自动执行互动动作
- **点赞 / 投币 / 收藏**:根据 AI 评分阈值自动判断是否执行
- **评论 / 弹幕**:AI 生成内容,自动发送到 B站
- **关注 / 取关**:自动管理关注列表,清理长期不活跃UP
- **私信**:自动回复粉丝私信,支持主动推送
- **知识归档**:高分视频自动归档到本地知识库
- **精力系统**:内置能量管理,防止过度操作触发 B站风控
- **Web 控制面板**:可视化配置 + 实时状态监控
- **CLI 工具集**:40+ 原子命令,支持管道组合和脚本调用

**适合人群**:有 OpenClaw 的用户、想要自动化 B站 互动的开发者

---

## 🔧 安装依赖

本项目**不内置 LLM**(由 OpenClaw 提供),但需要以下 Python 依赖:

```
bilibili-api-python >= 17.0.0   # B站 API
colorama >= 0.4.6                # 彩色终端输出
flask >= 3.0                    # Web 面板
bcrypt >= 5.0                   # Web 登录密码加密
openai-whisper                  # 视频字幕识别(可选,首次用 whisper 时自动下载 ~150MB 模型)
```

**安装方式:**

```bash
cd bilibili-autonomous

# 创建虚拟环境(推荐)
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt

# 或者直接用系统 Python
pip3 install -r requirements.txt
```

> **macOS 用户需提前安装 ffmpeg**:`brew install ffmpeg`(Whisper 字幕识别需要)

---

## ⚙️ 配置方法

### 第一步:下载项目到正确目录

```bash
# 克隆 / 下载项目后,放入 OpenClaw 的 skills 目录:
git clone <repo_url> ~/.openclaw/workspace/skills/bilibili-autonomous
```

### 第二步:填入 B站 Cookie(最关键)

Cookie 是 B站登录凭证,没有它所有操作都无法执行。

**获取 Cookie 步骤:**

1. Chrome 浏览器登录 [bilibili.com](https://bilibili.com)
2. 打开任意视频页面,按 **F12** → **Network(网络)** 标签
3. 刷新页面,点击任意一个 B站 请求(如 api.bilibili.com)
4. 在右侧 **Request Headers** 中找到 `Cookie` 字段,**Ctrl+C** 复制整段

**填入 Cookie(两种方式):**

```bash
# 方式一:CLI 配置器(推荐)
cd ~/.openclaw/workspace/skills/bilibili-autonomous
./bin/bilibili-autonomous configure
# 选 [C] → [1] 粘贴 Cookie 字符串 → 回车

# 方式二:手动编辑
vim Data/bilibili_cookies.json
```

**`Data/bilibili_cookies.json` 格式:**
```json
{
  "SESSDATA": "你的SESSDATA值",
  "bili_jct": "你的bili_jct值",
  "DedeUserID": "你的DedeUserID数字",
  "ac_time_value": "你的ac_time_value值"
}
```

> 所有字段缺一不可。可用 configure 的 [1] 粘贴整段自动解析,或用 [3] 手动填4个字段。

### 第三步:配置 Web 面板账号密码

```bash
# 启动 Web 面板(首次会自动要求设置账号密码)
./bin/bilibili-autonomous serve

# 浏览器打开:http://127.0.0.1:8765
# 首次访问按页面提示设置 admin 账号密码
```

**初始管理员账号**:`admin`
**初始管理员密码**:`test123`

> 首次设置后凭据保存在 `Data/web_auth.json`,bcrypt 加密存储。

### 第四步(可选):配置 OpenClaw 联动

在 OpenClaw 的 **HEARTBEAT.md** 中添加刷B站自动化:

```markdown
## 刷B站(OpenClaw 自控模式)
- 触发:距上次刷B站 >2h 且 08:00-23:00
- 检查精力:`~/.openclaw/workspace/skills/bilibili-autonomous/bin/bilibili-autonomous energy status`
  - 若 disabled=false 且 current=0 → 精力耗尽,跳过
- 自动刷:`~/.openclaw/workspace/skills/bilibili-autonomous/bin/bilibili-autonomous watch --count 3 --no-energy`
- 评论/弹幕:OpenClaw LLM 生成内容后调用 comment/danmaku 命令
- 消耗精力:energy consume --n 3
- 成功后只回报"刷了 X 个视频,Y 个互动"
```

并创建 cron 任务(每2小时自动触发):
- cron 表达式:`0 */2 * * *`
- 时区:`Asia/Shanghai`
- 投递目标:`qqbot:c2c:<你的QQ号>`

---

## 🚀 一键安装消息

复制下方整段消息,发送给 OpenClaw,OpenClaw 会自动完成配置:

```
我来帮你配置 bilibili-autonomous 项目,请按以下步骤执行:

1. 如果没有克隆项目,先克隆到 ~/.openclaw/workspace/skills/bilibili-autonomous
   (已有项目则跳过这步)

2. 进入项目目录并安装依赖:
   cd ~/.openclaw/workspace/skills/bilibili-autonomous
   python3 -m venv .venv
   .venv/bin/pip install -r requirements.txt

3. 提示用户获取 B站 Cookie:
   - Chrome 登录 B站 → F12 → Network → 任意请求 → Headers → Cookie 复制
   - 然后运行 ./bin/bilibili-autonomous configure → 选 C → 选 1 → 粘贴 Cookie

4. 配置 HEARTBEAT.md 添加刷B站自动化(参考项目 README 的 HEARTBEAT 配置段落)

5. 创建 cron 任务,每2小时自动刷B站:
   - cron 表达式:0 */2 * * *
   - 时区:Asia/Shanghai
   - 投递到 qqbot:c2c:<用户QQ号>

6. 完成后报告配置结果
```

![插图2](cover-2.png)
---

## 📡 CLI 命令清单

所有命令均在 `bin/bilibili-autonomous` 下执行。

### 自动刷(核心功能)

```bash
./bin/bilibili-autonomous watch --count 3              # 自动刷 N 个视频
./bin/bilibili-autonomous watch --count 3 --no-energy   # 不检查精力
./bin/bilibili-autonomous watch --count 3 --dry-run     # 试跑不真发
./bin/bilibili-autonomous start                         # 启动 Web + 写 HEARTBEAT.md
```

### 能量管理

```bash
./bin/bilibili-autonomous energy status                 # 查看当前精力
./bin/bilibili-autonomous energy consume --n 1          # 消耗 N 点精力
./bin/bilibili-autonomous energy refill                # 手动加满
./bin/bilibili-autonomous energy set-max 30            # 重置精力上限
./bin/bilibili-autonomous energy disabled on           # 关闭精力限制(无限精力)
./bin/bilibili-autonomous energy disabled off          # 开启精力限制
./bin/bilibili-autonomous energy-schedule status        # 查看活跃时段配置
./bin/bilibili-autonomous energy-schedule add-active 20:00 23:00   # 添加活跃时段
./bin/bilibili-autonomous energy-schedule clear        # 清除时段配置
```

### 原子互动动作

```bash
./bin/bilibili-autonomous like <bvid>                   # 点赞
./bin/bilibili-autonomous coin <bvid>                  # 投币(默认1枚)
./bin/bilibili-autonomous coin <bvid> --num 2         # 投币 N 枚
./bin/bilibili-autonomous favorite <bvid>              # 收藏
./bin/bilibili-autonomous favorite <bvid> --auto-check --score 8.5   # 按评分自动判断收藏
./bin/bilibili-autonomous comment <bvid> --text "内容"   # 发评论
./bin/bilibili-autonomous danmaku <bvid> --text "弹幕"   # 发弹幕
./bin/bilibili-autonomous follow <uid>                  # 关注用户
./bin/bilibili-autonomous unfollow <uid>              # 取关用户
./bin/bilibili-autonomous dm.send <uid> --text "内容"   # 发私信
```

### 内容获取

```bash
./bin/bilibili-autonomous feed --limit 10               # 获取推荐 feed
./bin/bilibili-autonomous video <bvid>                # 获取视频信息
./bin/bilibili-autonomous user <uid>                   # 获取用户信息
./bin/bilibili-autonomous subtitles <bvid>             # 获取字幕
./bin/bilibili-autonomous understand <bvid>           # v4 字幕理解
./bin/bilibili-autonomous understand5 <bvid>           # v5 封面+字幕+评论+弹幕全理解
./bin/bilibili-autonomous understand5 <bvid> --with-comments --with-danmaku  # 带热评弹幕
```

### 关注管理

```bash
./bin/bilibili-autonomous follow.status                 # 关注状态概览
./bin/bilibili-autonomous follow.history               # 关注历史
./bin/bilibili-autonomous follow.inactive_scan         # 扫描长期不活跃关注
```

### 私信

```bash
./bin/bilibili-autonomous dm.check                      # 检查未读私信
./bin/bilibili-autonomous dm.send <uid> --text "内容"   # 发私信
```

### 知识库

```bash
./bin/bilibili-autonomous knowledge list                # 列知识分类
./bin/bilibili-autonomous knowledge cat <分类>          # 列某分类下文章
./bin/bilibili-autonomous knowledge read <id>          # 读文章
./bin/bilibili-autonomous knowledge save --score 8.5 --body "内容" <bvid> "标题" "UP"   # 归档视频
```

### 心情系统

```bash
./bin/bilibili-autonomous mood status                  # 查看心情状态
./bin/bilibili-autonomous mood set <心情词>            # 设置心情
./bin/bilibili-autonomous mood nudge +1               # 推送心情变化
./bin/bilibili-autonomous mood auto off                # 关闭自动心情变化
```

### 配置与状态

```bash
./bin/bilibili-autonomous configure                    # CLI 交互配置器(Q=快速 A=全方位 C=Cookie)
./bin/bilibili-autonomous serve                       # 启动 Web 面板(默认端口 8765)
./bin/bilibili-autonomous serve --port 8080           # 自定义端口
./bin/bilibili-autonomous status                      # 综合状态(含今日配额)
./bin/bilibili-autonomous thresholds                  # 查看阈值配置
./bin/bilibili-autonomous actions.list                # 查看动作历史
./bin/bilibili-autonomous actions.get <path>          # 查单个动作详情
./bin/bilibili-autonomous tools-log                   # 查看工具调用日志
./bin/bilibili-autonomous openapi                     # 查看完整 OpenAPI 工具清单
./bin/bilibili-autonomous gate <分数> <action>        # 查询阈值门禁(如 gate 8.5 coin)
```

### 全局选项

```bash
./bin/bilibili-autonomous <command> --dry-run          # 试跑,不真发动作(安全测试)
./bin/bilibili-autonomous <command> --help             # 查看命令帮助
```

---

## 🌐 Web 控制面板

启动:`./bin/bilibili-autonomous serve`

访问地址:**http://127.0.0.1:8765**

**初始账号**:`admin`
**初始密码**:`test123`

Web 面板功能:
- 实时状态监控(今日已点赞/投币/评论/收藏数量)
- 精力值可视化
- 所有配置项可视化编辑
- Cookie 一键配置
- 操作日志查看

---

## 🏗 架构与工作原理

### 整体架构

```
用户 / Cron 触发
    ↓
OpenClaw AI(决策大脑)
    ↓ 调用 CLI
bilibili-autonomous(执行工具集)
    ↓ 调用
B站 API(bilibili-api-python)
    ↓
B站 服务器
```

**核心设计原则**:
- **OpenClaw = AI 大脑**:负责决策(评分/生成评论/判断动作)
- **bilibili-autonomous = 纯执行工具**:负责调用 B站 API,不内置 AI
- **HEARTBEAT 驱动**:OpenClaw 定时触发,自己编排任务逻辑

### 工作流程

**自动刷流程(watch):**
```
1. 拉取推荐 feed(feed --limit N)
2. 对每个视频按配置阈值决定动作(like/coin/favorite/follow)
3. 调用原子 CLI 执行动作
4. 消耗精力,记录操作日志
```

**OpenClaw 联动流程:**
```
1. HEARTBEAT 触发(每2小时)
2. OpenClaw 拉 feed 拿候选视频
3. OpenClaw LLM 评分(0-10)
4. 高分视频 OpenClaw 生成评论
5. OpenClaw 调用 comment --text 执行
6. 消耗精力,汇报结果
```

---

## 📁 项目文件结构

```
bilibili-autonomous/
├── bin/
│   ├── bilibili-autonomous              # Shell 包装脚本(入口)
│   └── openclaw_comment_gen.sh          # OpenClaw 评论生成脚本
├── src/
│   ├── __init__.py
│   ├── main.py                          # CLI 入口 + 全部原子命令定义
│   ├── bapi.py                           # B站 API 封装(登录/互动/feed/评论/弹幕)
│   ├── throttle.py                       # B站 API 限流器(799 限速保护)
│   ├── safety.py                         # 敏感词过滤(政治/广告/违规内容)
│   ├── config.py                         # 默认配置 + 配置读写
│   ├── energy.py                         # 精力值系统
│   ├── energy_schedule.py                # 精力时段管理(活跃/低效时段 bonus/penalty)
│   ├── mood.py                           # 心情系统(影响评论风格)
│   ├── scorer.py                       

... (truncated)
integration

Comments

Sign in to leave a comment

Loading comments...