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
6.6 KiB
6.6 KiB
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 立即行动
- ✅ ** fork bili-auth 项目** — 防止原项目变动
- ✅ 创建技能脚手架 — SKILL.md + 项目结构
- ✅ 本地部署bili-auth — 验证授权流程
8.2 设计决策
- 授权方式: 使用 bili-auth 标准OAuth
- 数据存储: 本地SQLite存储授权信息
- 更新策略: 轮询检查(5-10分钟间隔)
- 错误处理: 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: 官方平台调研
- Phase 1.2: bili-auth调研
- Phase 1.3: 方案对比
- Phase 2: 数据API调研
报告结束
本文档由 OpenClaw 自动生成,基于 2026-02-06 的调研结果