- 生成时间:2026-09-16 17:47(Asia/Shanghai)
- 版本:v1.0.1
- 内容:B站 / YouTube 视频流插件(Operit ToolPkg)的全部相关资料——插件源码、聊天渲染组件、AI 技能、可安装产物、自测脚本与旧版备份。
video_streamer_bundle/
├── README.md # 本说明
├── toolpkg/ # 插件源码(ToolPkg 文件夹格式,可直接安装)
│ ├── manifest.json # ToolPkg 清单
│ ├── main.js # 主入口:注册 聊天渲染钩子 + 系统提示钩子
│ ├── plugin/chat-xml-render.js # vsplay 标签解析 → 播放卡片
│ ├── plugin/system-prompt.js # 让 AI 知道怎么用(防绕路)
│ ├── ui/chat/index.ui.js # 卡片界面(WebView 内嵌官方播放器)
│ ├── shared/sha1.js # SHA-1(YouTube SAPISIDHASH 签名)
│ ├── shared/vs-state.js # 状态键常量
│ └── packages/video_streamer.js # 15 个工具的实现
├── skill/
│ └── video_streamer_guide/
│ └── SKILL.md # AI 使用说明书
├── dist/
│ └── com.operit.video_streamer.toolpkg # 已打包的可安装产物(Zip 格式)
├── tests/
│ └── selftest_vs.js # 离线自测(node 运行,自动定位 toolpkg)
└── legacy/
├── video_streamer_v1_source.js # v1 单文件版源码
└── video_streamer_v1_installed.bak.js # v1 安装副本备份
| 类别 | 工具 | 说明 |
|---|---|---|
| 搜索 | search_bilibili / search_youtube |
关键词搜索,返回 bvid/videoId 与元数据 |
| 详情 | get_video_info |
标题、简介、UP主/频道、统计;B站登录后附带你的点赞/投币/收藏状态 |
| 播放 | play_video |
生成聊天播放卡片标签(校验 id、自动补标题) |
| 登录 | save_cookie / cookie_status |
Cookie 保存与在线校验(B站返回用户名) |
| B站互动 | bili_like / bili_coin / bili_favorite / bili_fav_folders / bili_follow |
点赞、投币、收藏、收藏夹列表、关注 |
| YouTube互动 | youtube_like / youtube_subscribe / youtube_playlists / youtube_add_to_playlist |
点赞/点踩、订阅、播放列表、加入播放列表 |
- 已安装包名:
com.operit.video_streamer(子包video_streamer提供工具;父包提供聊天渲染) - 重新安装:用
operit_editor的debug_install_toolpkg,来源指向本包的toolpkg/文件夹 - 或直接导入:
dist/com.operit.video_streamer.toolpkg - 从 GitHub 安装:下载本仓库 Release 里的
com.operit.video_streamer.toolpkg导入(与dist/内文件逐字节相同)
- 把
skill/video_streamer_guide/复制到/sdcard/Download/Operit/skills/ - 在「技能」列表中启用(AI 可见性开关),AI 调用工具前即可读到使用说明
node tests/selftest_vs.js预期:全部通过(SHA-1 测试向量 / 渲染钩子解析 / 工具链路 stub 测试)。
- 调
play_video(platform, id)拿到card_tag - 把 card_tag 原样写进回复正文(不要放进代码块)
- 聊天里渲染为内嵌官方播放器的卡片(播放不落盘)
标签格式:<vsplay platform="bilibili" id="BV号" title="可选标题"></vsplay>
- 插件运行时:
/sdcard/Android/data/com.ai.assistance.operit/files/packages/com.operit.video_streamer.toolpkg - 技能生效位置:
/sdcard/Download/Operit/skills/video_streamer_guide/ - 本交付包:
/sdcard/Download/Operit/video_streamer_bundle/
- v1.0.1(当前)
- B站匿名请求增加「暖场 Cookie」(buvid3,来自 finger/spi)+ 风控拦截自动重试
- 全部关键请求增加超时保护(connect_timeout / read_timeout)
- 修复:工具导出函数必须返回 Promise(否则框架立即判为无输出)
- v1.0.0
- 首个完整版:搜索、详情、播放卡片、Cookie 管理、B站/YouTube 全部互动工具
- 工具调用传输层会解码「引号类命名实体」(quot、apos):源码中需要这些实体时,一律用
AMP + "…"或\u0026拼接构造,避免源码被写坏(历史上曾因此产生语法错误)。 - 应用内调试脚本运行器如遇卡死:重启 Operit 应用以清空挂起队列。
- 播放卡片渲染依赖父包保持启用;iframe 的 referrer 行为最终以真机为准(B站白名单)。
- 修改
toolpkg/后:重新debug_install_toolpkg,并跑一遍tests/selftest_vs.js。