📦 bilibili-reader-skill — bilibili 阅读技能
v1.0.0B站收藏夹视频智能总结:随机选取收藏视频,阅读字幕/评论/弹幕,生成中英双语总结PDF 可以翻译为: B站收藏夹视频智能总结:随机选取收藏的视频,读取字幕、评论和弹幕,生成中英文双语总结的PDF文件。
运行时依赖
安装命令
点击复制技能文档
bilibili-reader — B站收藏夹视频智能总结 定期从B站收藏夹中随机选取视频,自动阅读字幕、高赞评论和弹幕,生成结构清晰的中英双语总结PDF。解决"收藏了但不看"的痛点。
何时使用 当用户说以下内容时触发此skill: "总结一个B站视频" "从收藏夹随机选个视频看看" "帮我看看收藏了什么" "今天推送一个视频总结" "bilibili reader" "扫码登录B站" "看看我的考古进度" "搜索我总结过的视频" "搜索我之前总结的 xxx 内容" "给我出几道测验题"
快速参考 命令 说明 python -m src 运行一次完整的视频总结流程(交互式,需输入选择) python -m src --login 扫码登录 B站(首次配置第一步) python -m src --config 配置推送平台(首次配置第二步) python -m src --progress 查看收藏夹考古进度 python -m src --search <关键词> 搜索已总结的视频记录 python -m src --stats 显示统计信息(已处理数量、体裁分布等) python scripts/run_noninteractive.py <收藏夹名> latest 最新收藏的未处理视频(默认) python scripts/run_noninteractive.py <收藏夹名> random 随机选一个未处理视频 python scripts/run_noninteractive.py <收藏夹名> search <关键词> 搜索已总结记录和未处理视频 python scripts/run_noninteractive.py <收藏夹名> 指定BV号 hermes --toolsets skills -q "用bilibili-reader总结一个视频" 通过hermes调用 Procedure API 细节和降级方案:参见 references/bilibili-api-notes.md
步骤 1:前置配置 Agent 行为规则: 当检测到 .env 中缺少 B站Cookie 时,必须执行以下两步完成首次配置: 第一步:扫码登录 B站 cd ${HERMES_SKILL_DIR} && python -m src --login 这会打开浏览器让用户扫码登录,自动提取 Cookie 并保存到 .env。 第二步:配置推送平台(可选) cd ${HERMES_SKILL_DIR} && python -m src --config 选择推送平台(微信/飞书/Telegram/Discord 等),或选择"不推送"只在本地生成 PDF。 两步都完成后,配置向导会显示: Cookie 状态 推送平台 配置文件路径 首次安装还需要运行(Hermes 沙箱环境必须用 uv): uv venv .venv && uv pip install --python .venv/bin/python -r requirements.txt playwright install chromium 重要:不要引导用户手动从浏览器 F12 复制 Cookie。 使用 python -m src --login 自动获取。
步骤 2:Agent 三步工作流(核心) Agent 行为规则: 当用户要求总结视频时,严格按以下三步执行: 第一步:获取视频数据 cd ${HERMES_SKILL_DIR} && python scripts/fetch_data.py <收藏夹名称> [latest|random|] 这会输出一个 JSON,包含:bvid、title、desc、owner、duration、subtitles、comments、danmakus。 第二步:Agent 生成总结(用你自己的 LLM) 读取第一步的 JSON 输出,根据视频标题、简介、字幕内容判断体裁(见下方 10 种体裁表),然后用对应的提示词模板生成结构化总结。 字幕处理规则: 字幕少于 500 条 → 直接概括 字幕 500-2000 条 → 分段概括(每段约 500 条),合并后再总结 字幕超过 2000 条 → 取前 1000 条 + 后 500 条概括 第三步:渲染 PDF 把第二步生成的总结 JSON 写入临时文件,然后调用渲染脚本: cd ${HERMES_SKILL_DIR} && python scripts/render_pdf.py /tmp/summary.json 脚本会输出 PDF 文件路径。将路径告诉用户,并附上一句话 TLDR。 收藏时间排序说明:API按收藏时间倒序返回视频,第一个即为最新收藏的视频。
意图路由(Intent Routing) 系统会自动判断视频体裁,使用对应的专用提示词生成总结: 编号 体裁 触发特征 1 💻 技术教程与实操 软件使用/编程教学/工具配置/开发实战 2 🎓 学科与考试教育 考研/四六级/公考/高校公开课/K12 3 🗣️ 语言学习 外语听说读写/语法/语料跟读 4 🔬 硬核科普与深度解析 科技前沿/商业财经/政经地缘 5 🧠 方法论与自我提升 学习方法/时间管理/心理学 6 💼 茁场与商业技能 求职/茁场生存/副业搞钱 7 🎨 艺术创造与设计美学 绘画/摄影/音乐/写作 8 📖 书籍拆解与文献综述 速读/拆书/论文解读 9 🛠️ 生活技能与日常经验 家居维修/烹饪/生活防坑 10 📚 通用知识 不属于以上任何类型(fallback) 每种体裁的提示词会强调不同的输出结构: 技术教程 → 工具清单(含门槛)、保姆级SOP、代码/提示词原文提取、避坑指南、原理解析 学科类 → 考点、公式、应试技巧 语言类 → 词汇、语法点、练习建议 科普类 → 论点-论据链条、批判性思考 方法论 → 可执行框架、行动步骤 茁场类 → 话术模板、场景SOP 创意类 → 技法要点、工具参数、审美规律 书籍类 → 核心论点、知识框架 生活类 → 材料清单、操作步骤、验收标准 通用 → 深入浅出讲明白内容
总结 JSON 输出格式 Agent 在第二步生成总结时,必须输出以下 JSON 格式(写入 /tmp/summary.json)。 ★ v2.0 核心变更:双视角结构 my_analysis:我的解读(认知层)—— 核心概念的定义、原理、类比、洞察 video_transcript:视频完整陈述(内容层)—— 按时间顺序的详细记录 { "bvid": "视频BV号(从fetch_data输出中获取)", "title_cn": "中文标题(可对原标题做提炼或意译)", "title_en": "English title", "owner": "UP主名称", "duration_str": "时长格式化 如 23:45", "view_count": 12345, "like_count": 678, "genre": "体裁显示名 如 💻 技术教程与实操", "genre_list": ["💻 技术教程与实操", "🔬 硬核科普"], "tldr_cn": "一句话中文总结(50字内)", "tldr_en": "One-sentence TL;DR (under 50 words)", "my_analysis": { "overview": "对本视频的整体解读:核心主题、UP主教学风格、概念之间的逻辑关系(150-200字)", "concepts": [ { "name": "核心概念名称", "definition": "概念的精确定义,用一句话说明它是什么(50-80字)", "principle": "理论阐述:深入讲解这个概念的工作机制/运行原理。必须覆盖:1) 从输入到输出的完整过程 2) 核心组成部分及职责 3) 为什么会这样设计 4) 与相近概念的本质区别。450-550字,纯理论无类比。", "analogy": { "scenario": "生活场景描述(50-80字)", "mapping": "类比映射:A对应B的句式逐条列出对应关系(50-80字)", "limitation": "类比局限性:哪些方面无法解释(30-50字)" }, "insight": "个人洞察:对原理的