前言¶
用智能体学网课,常见做法是「收藏链接 + 让模型凭印象总结」。视频字幕和本地讲义往往没有完整读进去,笔记也难和复习节奏对齐。DeepSeek Harness(DSH)支持用插件把能力嵌进宿主:工具、设置页、定时任务都可以由插件提供。
下面介绍维护者 jin-ni 的 B站学习 插件。npm 包名为 dsh-bili-learn,GitHub 仓库为 jin-ni/dsh-bili-study。仓库名与包名不一致;npm 上的 dsh-bili-study 是他人插件,安装时不要装错。
这是什么¶
dsh-bili-learn 是一个 DSH 插件:自己找课或读本地资料 → 完整读入内容 → 写结构化笔记 → 生成间隔重复复习卡,并按设定节奏每天学一点。学什么主题、单元、看哪条视频、读哪份文件由你决定;未指定时插件会按当前单元在 B 站搜课。
定位上它不是收藏夹,也不是单纯的总结工具:会把视频字幕或本地文档完整交给模型,产出可复习、可做题的笔记,并把要点做成复习卡;到点可自动学一课并写学习日报。
核心功能¶
B 站视频学习¶
到点或手动点「学一课」「学这条」时:
- 若已指定视频,直接学该条(不受时长范围限制)。
- 若无指定视频,按当前单元在 B 站搜课(按时长、播放量筛选,跳过已学),逐条试读,选第一条有字幕的;无字幕会跳过,指定视频无字幕会明确报错。
- 带时间戳的字幕交给最小权限 headless 会话(该 profile 无文件、命令、网络,仅模型)。
- 模型只返回 JSON:一句话、要点、概念、公式、例子、易错点、疑问、复习卡、下一步。
- 落盘:
notes/<主题>/<bvid>.md、复习卡、日报、单元进度。
本地资料学习¶
在「资料」页加文件或从文件夹搜索 → 点「总结」:用 DSH 自带 Python 抽取文字(docx、pptx、xlsx、pdf、txt、md、代码等),经同一套 headless 会话生成 JSON 笔记,写入 notes/<主题>/<f-id>.md 及复习卡、日报。
四种学习方式:
- 自动找课:到点学当前单元,插件自行搜索、挑选。
- 指定视频:概览贴 BV 号或 B 站链接后「学这条」,或在主题里「加入自选」;自选优先于自动找课。
- 自定内容:主题下可加单元、改名、设为当前、删除;「当前单元」即下一课方向。
- 本地资料:加文件、扫文件夹、按关键词搜文件,点「总结」写入同一套笔记与复习卡。
指定视频归到「当前单元」下;若要记到某单元,须先在该单元点「设为当前」。
资料格式¶
- 直接读:
.txt、.md、.csv、.tsv、.json、.yaml、.xml、.html、.ipynb、常见代码后缀、.docx、.pptx、.xlsx、.epub。 - PDF:内置纯 Python
pypdf(vendor/pypdf,6.9.2,BSD-3),离线可用。 - 扫描件或纯图片 PDF 抽不到文字会报错;插件只读,不改、不移动、不删除原文件。
13 个工具¶
任意 DSH 会话可用,例如:bili_study_status(进度与单元)、bili_study_learn(立刻学一课或指定 bvid)、bili_study_file_learn(总结资料或按 query+folder 搜一条再总结)、bili_study_review(到期复习卡与评分)等。对话中可直接说「学 BV1…」「把单元换成频域分析」「去某文件夹搜关键词并总结第一篇」。
自动学习轮¶
独立 profile:~/.dsh/profiles/bili-study(首次加载时由 profile-template/ 铺设)。默认模型 deepseek-account / deepseek-flash;文件系统、命令、联网等权限在自动学习轮中关闭。默认 runTimeoutMinutes 12 分钟;失败退避 30 分钟;两课间隔至少 45 分钟。
联网仅两件事:读 B 站公开接口、调用你配置的模型。笔记、资料、复习卡均在本地。
安装与启用¶
从 GitHub 安装(README 推荐用于分享):
dsh plugin --profile desktop add github:jin-ni/dsh-bili-study
# web 版把 desktop 换成 web;装完重启一次 DSH
若 git 报 schannel: SEC_E_NO_CREDENTIALS,可先执行 git config --global http.sslBackend openssl 再试。
package.json 要求 dsh >= 0.1.7-rc.1、node >= 22;README 写明 DSH 桌面版 / web 0.2.x 实测,依赖 webServer、tools、settings。许可证 MIT。
重启后进入 设置 → B站学习。
典型用法¶
首次使用¶
- 登录:「设置 → 环境 → 扫码登录」,或「从『刷B站』导入登录」,或将
bili_credential.json(sessdata/bili_jct/buvid3)放到~/.dsh/bili-study/。无凭证时 B 站不返回字幕,多数视频会被判为无字幕;本地资料总结不受影响。 - 内容:默认含「自动控制原理」与 8 个单元,可在「主题」中修改。
- 视频:概览贴 BV/链接学一条,或在主题「加入自选」。
- 资料:设置「资料文件夹」;资料页贴路径或扫描、搜索后加入。
- 节奏:确认「到点自动学」与每日时间(默认 21:00,每天 1 课)。
- 立即试效果:点「学一课」「学这条」或「总结」,约 1–4 分钟,完成后概览出现日报与笔记。
数据目录¶
全部在 ~/.dsh/bili-study/(或 $DSH_HOME/bili-study/),与插件目录分离。插件目录可拷走分享,不带个人学习数据。主要文件包括 topics.json、notes/、cards.json、materials.json、config.json、out/<日期>.md、study.log 等。
适用场景与注意¶
适合谁:需要在 DSH 内把 B 站系统课或本地讲义落成可复习笔记、并用 SM-2 简化版复习卡巩固的开发者或自学者;希望到点自动学一课、写日报、又能在对话里用工具操控学习库的用户。
环境:B 站阅读用 reader/bili_read.py(标准库);资料抽取优先 DSH 自带 Python(含 python-docx / python-pptx / openpyxl)。设置页若提示没找到 Python,可在「设置 → 环境」填 pythonPath。
安全与权限:插件在 DSH 进程权限下运行;自动学习使用受限 headless profile,但安装前仍应阅读源码与 LICENSE、NOTICE.md。凭证仅用于读字幕,只读、不评论不点赞。
排障要点:「没有字幕」换有 CC/AI 字幕的视频;PDF_NO_TEXT 表示扫描件需 OCR(插件未内置);自动学未跑时查 study.log、确认间隔与 maxPerDay。
结尾¶
dsh-bili-learn 把「找课 / 读入 / 笔记 / 复习卡 / 日报」收进一条可配置的流水线,学习内容由你定,节奏可由定时任务托管。社区目录页见 SkillHub 插件页,源码与完整说明见 GitHub:jin-ni/dsh-bili-study(当前 package.json 版本 0.4.1)。