689 字
3 分钟
我写了个 B站 AI Bot — 项目进度全记录

这是什么#

一个运行在 B站的 AI Bot(账号叫 新顺德),当用户在评论区 @新顺德 时,自动分析视频内容并回复总结。


运行状态#

项目状态
服务器X230i Ubuntu (192.168.1.226) · 7x24 运行
Bot 账号新顺德
凭证有效期~30 天(QR 扫码登录)
轮询间隔30 秒
技术栈bilibili-api-python + DeepSeek + bcut ASR

已实现功能(16 项)#

基础流程#

视频 @新顺德 总结一下 → QR 凭证认证 → 获取字幕 → DeepSeek 处理 → 回复。

#功能说明
1QR 扫码登录QrCodeLogin 扫码获取凭证,持久化 JSON 文件
2@通知轮询每 30 秒检查 session.get_at()
3字幕三层回退手动字幕 → AI 字幕 → bcut ASR 语音转文字
4DeepSeek 总结deepseek-chat 模型,800 tokens 输出
5观点提取分析 UP 主核心立场和逻辑链条
6歌词整理ASR 识别 → AI 校对准排版,适合音乐视频
7ASR 回退yt-dlp 下载音频 → bcut 云端免费转写 → LLM 整理

访问控制#

#功能说明
8关注者限定仅已关注新顺德的用户可调用
9每日次数限制5 次/天/人
10主人白名单UID 329007652 跳过关注检查 + 次数限制

稳定性#

#功能说明
11去重持久化processed_ids.json — 重启不重复回复旧 @
12崩溃安全先存 ID 再处理,中途崩溃也不重复消费 API

回复方式#

#功能说明
13评论区回复默认模式,在 @ 的评论区公开回复
14私信回复@新顺德 总结 私信 — 悄悄发 B站私信
15邮箱发送@新顺德 总结 发邮件 → 三级降级
16非视频兼容动态/图文 @ 不会静默跳过,会提示仅支持视频

调用示例#

@新顺德 总结一下 → 评论区 AI 总结
@新顺德 总结 私信 → B站私信送达
@新顺德 总结 发邮件 → QQ邮箱发送
@新顺德 观点提取 → 分析 UP 主立场
@新顺德 歌词 → ASR→歌词排版整理

踩坑记录#

根因
用户扫码 6 次失败API 版本缺 save() 方法
重启后重复回复旧 @没有持久化已处理 ID
动态/图文 @ 被静默吞掉business_id 过滤太死
主人被自己 Bot 拒绝忘了给自己加白名单
LLM API 被重复消费先处理再存 ID → 改为先存 ID 再处理

项目架构#

用户 @新顺德
|
v
bilibili-api-python -- QR 凭证认证
|
v
get_at() 轮询 @通知
|
+- 关注检查 + 每日次数
|
v
获取字幕 (手动 -> AI -> bcut ASR)
|
v
DeepSeek API -- 总结/观点/歌词
|
v
回复 (邮箱 -> 私信 -> 评论区 三级降级)

相关链接#

我写了个 B站 AI Bot — 项目进度全记录
https://blog.pangzee.cc.cd/posts/bilibili-bot-progress/
作者
SORA
发布于
2026-05-18
许可协议
CC BY-NC-SA 4.0