7e0acef4f9
- Add complete skill set including feishu, github, ci-gen, etc. - Add workspace documentation (AGENTS.md, SOUL.md, etc.) - Add memory system and project context
129 lines
3.8 KiB
Markdown
129 lines
3.8 KiB
Markdown
# B站插件调研 - Phase 1.2 第三方方案调研(bili-auth)
|
||
|
||
**调研时间**: 2026-02-06
|
||
**调研人**: 阿里巴巴助手
|
||
|
||
---
|
||
|
||
## 1. bili-auth 项目概览
|
||
|
||
### 项目信息
|
||
- **GitHub**: https://github.com/icyux/bili-auth
|
||
- **描述**: 第三方哔哩哔哩 OAuth 2.0 API,基于私信鉴权
|
||
- **核心卖点**: 无需官方开发者申请,任何用户都可使用
|
||
|
||
### 技术栈
|
||
- 后端: Python + Flask
|
||
- 协议: OAuth 2.0 标准流程
|
||
- 鉴权方式: B站私信(普通用户API)
|
||
|
||
---
|
||
|
||
## 2. 实现原理
|
||
|
||
### 核心流程
|
||
```
|
||
用户访问第三方应用
|
||
↓
|
||
应用重定向到 bili-auth 授权页
|
||
↓
|
||
用户按指引发送一条特定私信给机器人账号
|
||
↓
|
||
机器人验证私信内容,完成鉴权
|
||
↓
|
||
返回 OAuth 2.0 标准授权码
|
||
↓
|
||
应用用授权码换取 access_token
|
||
```
|
||
|
||
### 私信鉴权机制
|
||
- 用户需要向指定的B站账号发送一条私信
|
||
- 私信内容包含临时验证码或特定指令
|
||
- 机器人账号读取私信,确认用户身份
|
||
- 整个过程模拟正常用户行为
|
||
|
||
### 部署方式
|
||
- 提供 Docker 镜像一键部署
|
||
- 只需一个能收发私信的B站账号作为"机器人"
|
||
- 支持自定义 OAuth 应用管理
|
||
|
||
---
|
||
|
||
## 3. 与官方方案对比
|
||
|
||
| 维度 | bili-auth (第三方) | B站官方开放平台 |
|
||
|------|-------------------|----------------|
|
||
| **准入门槛** | ✅ 极低,有B站号即可 | ❌ 仅企业开发者 |
|
||
| **开发成本** | ✅ 低,标准OAuth 2.0 | ⚠️ 中,需申请审核 |
|
||
| **用户体验** | ⚠️ 需发私信,多一步操作 | ✅ 标准授权页 |
|
||
| **功能范围** | ⚠️ 仅限普通用户API | ✅ 全量官方API |
|
||
| **稳定性** | ❌ 非官方,接口可能变动 | ✅ 官方保障 |
|
||
| **合规风险** | ❌ 灰色地带 | ✅ 完全合规 |
|
||
| **账号安全** | ❌ 有被封风险 | ✅ 官方支持 |
|
||
|
||
---
|
||
|
||
## 4. 风险评估
|
||
|
||
### 4.1 账号封禁风险
|
||
|
||
#### 风险来源
|
||
- 机器人账号频繁收发私信,触发风控
|
||
- 短时间内大量鉴权请求,被判定为异常行为
|
||
- B站更新私信API,导致功能失效
|
||
|
||
#### 风险等级
|
||
| 场景 | 风险等级 | 说明 |
|
||
|------|----------|------|
|
||
| 个人自用(<10次/天) | 🟡 低 | 行为接近正常用户 |
|
||
| 小范围使用(<100次/天) | 🟠 中 | 可能触发轻度风控 |
|
||
| 大规模部署(>1000次/天) | 🔴 高 | 极易被封号/封私信 |
|
||
|
||
#### 缓解策略
|
||
- 使用小号作为机器人,避免主号风险
|
||
- 控制鉴权频率,模拟真人操作间隔
|
||
- 实现优雅降级,接口失效时提醒用户
|
||
- 准备备用账号,主号被封可快速切换
|
||
|
||
### 4.2 API 限制
|
||
|
||
#### 数据获取能力
|
||
- ✅ 可获取:用户基础信息、关注列表、视频信息、搜索
|
||
- ❌ 无法获取:敏感数据(如私信内容、手机号)、官方限制接口
|
||
|
||
#### 频率限制
|
||
- 依赖B站普通用户的API限制
|
||
- 未登录/低等级账号限制更严格
|
||
- 建议实现本地缓存,减少API调用
|
||
|
||
### 4.3 长期维护风险
|
||
|
||
- 项目作者可能停止维护
|
||
- B站可能调整私信API
|
||
- 法律合规性存疑
|
||
|
||
---
|
||
|
||
## 5. 结论
|
||
|
||
### 可行性评估
|
||
- **短期(个人使用)**: ✅ **可行**
|
||
- **中期(小范围分享)**: 🟡 **有条件可行**
|
||
- **长期(大规模部署)**: ❌ **不推荐**
|
||
|
||
### 推荐方案
|
||
对于 OpenClaw 技能开发:
|
||
1. **采用 bili-auth 方案** 作为个人用户的临时解决方案
|
||
2. **明确风险提示**,让用户知晓账号封禁可能性
|
||
3. **设计降级方案**,接口失效时不影响核心功能
|
||
4. **持续关注** 官方开放平台动态,如有个人开发者通道,及时迁移
|
||
|
||
### 下一步建议
|
||
进入 Phase 2 - 数据获取能力调研,验证 bili-auth 能获取到哪些具体数据。
|
||
|
||
---
|
||
|
||
## 参考资料
|
||
- bili-auth GitHub: https://github.com/icyux/bili-auth
|
||
- bili-auth 作者博客: https://blog.icyu.me/post/1626001
|