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
241 lines
6.6 KiB
Markdown
241 lines
6.6 KiB
Markdown
# B站插件调研 - 最终可行性报告
|
||
|
||
**报告日期**: 2026-02-06
|
||
**调研人**: 阿里巴巴助手
|
||
**项目**: B站 OpenClaw 技能开发调研
|
||
|
||
---
|
||
|
||
## 执行摘要 (Executive Summary)
|
||
|
||
### 结论: ✅ **Go - 项目可行**
|
||
|
||
建议采用 **bili-auth 第三方OAuth方案** 开发 B站 OpenClaw 技能,实现关注列表管理和UP主动态监控功能。
|
||
|
||
### 核心判断依据
|
||
|
||
| 维度 | 评估 | 说明 |
|
||
|------|------|------|
|
||
| **技术可行性** | ✅ 高 | bili-auth 授权 + 公开API可满足MVP需求 |
|
||
| **风险可控性** | 🟡 中 | 小号策略可将风险降至可接受水平 |
|
||
| **用户价值** | ✅ 高 | 解决官方不开放个人API的痛点 |
|
||
| **维护成本** | 🟡 中 | 需关注B站API变动,但有社区支持 |
|
||
|
||
---
|
||
|
||
## 1. 背景与目标
|
||
|
||
### 1.1 项目背景
|
||
- B站官方开放平台**暂不开放个人开发者申请**(仅接受企业/机构)
|
||
- 个人用户无法通过官方渠道获取API权限
|
||
- 存在第三方解决方案(bili-auth)可绕过此限制
|
||
|
||
### 1.2 项目目标
|
||
开发 OpenClaw 技能,实现:
|
||
- ✅ 获取用户B站关注列表
|
||
- ✅ 监控UP主最新视频更新
|
||
- ✅ 搜索B站视频
|
||
- ✅ 查看视频详情和热门榜单
|
||
|
||
---
|
||
|
||
## 2. 技术方案
|
||
|
||
### 2.1 推荐方案: bili-auth + 公开API
|
||
|
||
**架构设计**
|
||
```
|
||
用户 → OpenClaw 技能
|
||
↓
|
||
[授权模块] → bili-auth 服务 → B站私信鉴权 → access_token
|
||
↓
|
||
[数据模块] → B站公开API (带Cookie/Token)
|
||
↓
|
||
返回关注列表/视频数据/动态更新
|
||
```
|
||
|
||
**技术栈**
|
||
- 授权: bili-auth (Python/Flask, OAuth 2.0)
|
||
- API调用: REST API + Cookie/Token
|
||
- 数据存储: 本地SQLite/JSON (用户授权信息)
|
||
|
||
### 2.2 方案对比
|
||
|
||
| 方案 | 可行性 | 成本 | 风险 | 推荐度 |
|
||
|------|--------|------|------|--------|
|
||
| **bili-auth** | ✅ 高 | 低 | 中 | ⭐⭐⭐⭐⭐ |
|
||
| 官方API | ❌ 不可行 | 高 | 低 | - |
|
||
| Cookie手动 | ✅ 中 | 低 | 高 | ⭐⭐ |
|
||
|
||
---
|
||
|
||
## 3. 功能规格 (MVP)
|
||
|
||
### 3.1 功能列表
|
||
|
||
| 功能 | 优先级 | 技术方案 | 数据范围 |
|
||
|------|--------|----------|----------|
|
||
| **用户授权** | P0 | bili-auth OAuth | 获取登录态 |
|
||
| **关注列表** | P0 | `/x/relation/followings` | 全部关注UP主 |
|
||
| **UP主动态** | P0 | `/x/polymer/web-dynamic/v1/feed/space` | 最新视频/动态 |
|
||
| **视频搜索** | P1 | `/x/web-interface/search/type` | 关键词搜索 |
|
||
| **热门榜单** | P1 | `/x/web-interface/popular` | 全站热门 |
|
||
| **视频详情** | P1 | `/x/web-interface/view` | 播放量/互动数据 |
|
||
|
||
### 3.2 非功能需求
|
||
|
||
| 需求 | 指标 |
|
||
|------|------|
|
||
| **响应时间** | API调用 < 3秒 |
|
||
| **可用性** | 服务可用时间 > 95% |
|
||
| **频率限制** | 单账号 < 200次/分钟 |
|
||
| **数据缓存** | 视频详情 1h,动态 5min |
|
||
|
||
---
|
||
|
||
## 4. 风险评估与缓解
|
||
|
||
### 4.1 账号封禁风险
|
||
|
||
| 等级 | 描述 | 概率 | 影响 |
|
||
|------|------|------|------|
|
||
| 🟡 中 | 机器人账号被封 | 中 | 用户需重新授权 |
|
||
|
||
**缓解措施**
|
||
- ✅ 使用小号作为机器人(非主号)
|
||
- ✅ 频率控制(< 200次/分钟)
|
||
- ✅ 添加随机延迟(100-500ms)
|
||
- ✅ 异常时自动降速
|
||
|
||
### 4.2 API变动风险
|
||
|
||
| 等级 | 描述 | 概率 | 影响 |
|
||
|------|------|------|------|
|
||
| 🟡 中 | B站调整API接口 | 中 | 需更新技能代码 |
|
||
|
||
**缓解措施**
|
||
- ✅ 封装API调用层,便于统一修改
|
||
- ✅ 监控社区动态(bili-auth项目)
|
||
- ✅ 设计优雅降级(接口失效时友好提示)
|
||
|
||
### 4.3 合规风险
|
||
|
||
| 等级 | 描述 | 概率 | 影响 |
|
||
|------|------|------|------|
|
||
| 🟢 低 | 违反B站服务条款 | 低 | 技能下架 |
|
||
|
||
**缓解措施**
|
||
- ✅ 明确免责声明(非官方,用户自担风险)
|
||
- ✅ 仅读取公开数据,不修改用户数据
|
||
- ✅ 不爬取隐私数据(私信、手机号等)
|
||
|
||
---
|
||
|
||
## 5. 实施计划
|
||
|
||
### 5.1 开发里程碑
|
||
|
||
| 阶段 | 时间 | 交付物 |
|
||
|------|------|--------|
|
||
| **Week 1** | 原型开发 | bili-auth集成 + 1个核心API |
|
||
| **Week 2** | MVP完成 | 全部P0功能 + 基础测试 |
|
||
| **Week 3** | 优化迭代 | P1功能 + 错误处理 + 文档 |
|
||
| **Week 4** | 发布准备 | 完整测试 + 发布到ClawHub |
|
||
|
||
### 5.2 技术任务分解
|
||
|
||
```
|
||
├── 授权模块
|
||
│ ├── bili-auth服务部署
|
||
│ ├── OAuth流程集成
|
||
│ └── Token刷新机制
|
||
├── 数据模块
|
||
│ ├── 关注列表获取
|
||
│ ├── UP主动态监控
|
||
│ ├── 视频搜索
|
||
│ └── 缓存实现
|
||
├── 交互模块
|
||
│ ├── 自然语言指令
|
||
│ ├── 列表展示
|
||
│ └── 更新提醒
|
||
└── 基础设施
|
||
├── 错误处理
|
||
├── 日志记录
|
||
└── 频率限制
|
||
```
|
||
|
||
---
|
||
|
||
## 6. 资源需求
|
||
|
||
### 6.1 开发资源
|
||
|
||
| 资源 | 需求 | 说明 |
|
||
|------|------|------|
|
||
| **人力** | 1人 | 开发者(可借助AI辅助)|
|
||
| **时间** | 2-3周 | 兼职开发 |
|
||
| **服务器** | 可选 | bili-auth可本地/Docker部署 |
|
||
|
||
### 6.2 外部依赖
|
||
|
||
| 依赖 | 风险 | 备用方案 |
|
||
|------|------|----------|
|
||
| bili-auth项目 | 中 | 可fork维护 |
|
||
| B站公开API | 中 | 接口变动时适配 |
|
||
|
||
---
|
||
|
||
## 7. 成功标准
|
||
|
||
### 7.1 功能标准
|
||
- [ ] 用户可通过私信完成授权
|
||
- [ ] 成功获取关注列表(>50个UP主)
|
||
- [ ] 成功监控UP主更新(检测新视频)
|
||
- [ ] 支持视频搜索并返回结果
|
||
|
||
### 7.2 性能标准
|
||
- [ ] API响应时间 < 3秒(95分位)
|
||
- [ ] 单账号日调用 < 10000次
|
||
- [ ] 无412风控错误(正常使用时)
|
||
|
||
---
|
||
|
||
## 8. 建议与下一步行动
|
||
|
||
### 8.1 立即行动
|
||
1. ✅ ** fork bili-auth 项目** — 防止原项目变动
|
||
2. ✅ **创建技能脚手架** — SKILL.md + 项目结构
|
||
3. ✅ **本地部署bili-auth** — 验证授权流程
|
||
|
||
### 8.2 设计决策
|
||
1. **授权方式**: 使用 bili-auth 标准OAuth
|
||
2. **数据存储**: 本地SQLite存储授权信息
|
||
3. **更新策略**: 轮询检查(5-10分钟间隔)
|
||
4. **错误处理**: 412错误自动降速+重试
|
||
|
||
### 8.3 长期规划
|
||
- Phase 2: 添加更多数据源(评论、弹幕)
|
||
- Phase 3: 智能推荐(基于观看历史)
|
||
- Phase 4: 关注官方开放平台动态,适时迁移
|
||
|
||
---
|
||
|
||
## 附录
|
||
|
||
### 附录A: 参考资料
|
||
- bili-auth GitHub: https://github.com/icyux/bili-auth
|
||
- B站开放平台: https://open.bilibili.com
|
||
- 调研笔记: `docs/research-notes/`
|
||
|
||
### 附录B: 相关文档
|
||
- Phase 1.1: [官方平台调研](docs/research-notes/phase-1.1-official-platform.md)
|
||
- Phase 1.2: [bili-auth调研](docs/research-notes/phase-1.2-bili-auth.md)
|
||
- Phase 1.3: [方案对比](docs/research-notes/phase-1.3-auth-comparison.md)
|
||
- Phase 2: [数据API调研](docs/research-notes/phase-2-data-api.md)
|
||
|
||
---
|
||
|
||
**报告结束**
|
||
|
||
*本文档由 OpenClaw 自动生成,基于 2026-02-06 的调研结果*
|