dsh-bilibili-plugin
Verified@seiuna/dsh-bilibili-plugin · v1.0.4 · MIT · Web UI
Bilibili plugin for DeepSeek Harness (DSH)
Install
dsh plugin add @seiuna/dsh-bilibili-plugin Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Creators
Readme
dsh-bilibili-plugin
一个给 DeepSeek Harness(DSH) 用的 B站插件。
想让 Agent 帮你找视频、翻评论,或者接着 B站评论区里的话题聊下去,可以试试这个插件。它把 B站工具和登录面板接进了 DSH,不用另外启动 MCP 服务。
登录后,还能查观看历史、整理稍后再看,以及点赞、投币和回复评论。登录、模型和自动回复等设置都在 DSH 顶部的 B站按钮里。
可以拿它做什么
- 找内容:搜视频、UP 主、直播和专栏,看看热搜、热门视频和排行榜。
- 看内容:读取视频详情、官方 AI 摘要、评论、弹幕、动态和专栏正文,查询直播间状态。
- 处理自己的账号内容:查看观看历史、稍后再看和收藏夹,添加或移除稍后再看。
- 参与互动:点赞、投币、一键三连、发评论,以及关注、取消关注或拉黑用户。
- 接入评论区:轮询回复和 @ 通知,把消息交给 DSH Agent;也可以在面板中开启自动点赞、自动回复。
目前有 24 个工具,基于 @seiuna/[email protected]。完整工具列表见下文。
安装
先准备好能正常运行的 DSH 和 Node.js 22 或更新版本。@deepseek-ai/* 依赖由 DSH 宿主提供。
进入你使用的 DSH profile 目录安装。下面以 web 为例,桌面端换成自己的 profile 目录:
cd ~/.dsh/profiles/web
pnpm add dsh-bilibili-plugin
然后打开同目录的 package.json,在 dsh.profile.bundles 里加上 dsh-bilibili-plugin。原来的配置保留,只补这一项:
{
"dependencies": {
"dsh-bilibili-plugin": "^0.1.0"
},
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-bilibili-plugin"
]
}
}
}
这里有两步:pnpm add 把包安装下来,bundles 让 DSH 加载它。配好后,退出并重新启动 DSH。顶部出现 B站按钮,就可以开始用了。只刷新网页不会重新加载后端插件。
如果 npm 暂时没有可用版本,可以按后面的「本地开发」步骤从源码安装。
升级和卸载
升级时,在同一个 profile 目录运行:
pnpm add dsh-bilibili-plugin@latest
卸载时运行 pnpm remove dsh-bilibili-plugin,再从 bundles 中删掉插件。两种操作完成后都需要重启 DSH。
登录和使用
点击顶部的 B站按钮,用 B站客户端扫码,在手机上确认登录,再按提示设置本地解锁密码。插件只提供扫码登录,不需要输入 B站账号密码。
登录后,可以在面板里设置通知轮询、自动回复、使用的模型和工作区。也可以直接在 DSH 对话里提出请求,比如:
帮我找几个讲二叉树遍历的视频。
看看这个视频的热门评论。
把这个视频加到稍后再看。
工具能获取官方 AI 摘要,但前提是 B站已经为该视频生成了摘要。播放地址也有时效,DASH 通常是音视频分离的,拿到地址后不一定能直接在浏览器里播放。
点赞、评论等操作怎么确认
点赞、投币、一键三连、动态点赞和发评论,默认会先返回操作预览。Agent 应先告诉你要对什么内容做什么,得到同意后,再用 confirm=true 执行。
关注、取消关注、拉黑,以及添加或移除稍后再看,没有额外的 confirm 参数,调用后会直接执行,调用前同样需要你的授权。
自动点赞和自动回复开启后会在后台按配置运行,不会逐条询问。 开启前先检查面板中的设置。
登录信息存在哪里
登录凭据加密保存在 ~/.dsh/storages/bilibili-vault.json,使用 AES-256-GCM 加密,密钥通过 PBKDF2-HMAC-SHA256 派生(100,000 次迭代)。默认需要在界面中输入密码解锁,也可以通过环境变量 BILIBILI_VAULT_PWD 提供密码。
如果勾选「记住密码」,插件会在独立的 bilibili-key.json 中保存明文解锁材料,供下次启动时自动解锁。共用电脑上请留意这一点;Windows 下的文件访问保护依赖目录 ACL。
SDK 1.1.3 的凭据自动刷新存在多 Cookie 解析问题,登录失效后可能需要重新扫码,进展见 上游 issue #11。
评论区接入 DSH 后是什么样的
同一个视频或动态下的评论会进入同一个 DSH 会话,不同用户、不同楼层可以接着聊。不同内容、工作区和模型配置之间仍然分开。旧版按用户划分的会话会保留,历史记录不会自动合并。
收到通知时,插件会尽量补上视频标题或动态正文,以及相关的根评论和机器人回复,让 Agent 知道在聊什么。查不到的信息会标记为缺失。图片附件只使用当前评论自带的图片。
目前每轮轮询只读取已启用通知类型的一页结果,不会继续翻页。如果短时间内通知很多,可能漏掉较早的消息。
工具列表
下面的「无需登录」指工具不要求本地解锁。B站仍可能因为风控、地区、会员或接口权限限制请求,不能保证所有内容都能匿名读取。
| 工具 | 用途 | 需要登录 |
|---|---|---|
bilibili_search |
综合搜索,可按视频、UP 主、直播和专栏筛选本页结果 | 否 |
bilibili_get_trends |
热搜、热门视频、排行榜和入站必刷 | 否 |
bilibili_get_video_info |
视频详情、统计数据、分 P 和标签 | 否 |
bilibili_get_video_ai_summary |
官方 AI 摘要和分段大纲 | 否 |
bilibili_get_video_play_url |
MP4 / DASH 播放地址,画质取决于账号权限 | 否 |
bilibili_get_video_recommend |
视频相关推荐 | 否 |
bilibili_get_danmaku |
当前弹幕池中的弹幕,不含全量历史弹幕 | 否 |
bilibili_get_comments |
评论区内容,支持热度和时间排序 | 否 |
bilibili_get_comment_detail |
根据评论区 ID 和评论 ID 定位单条评论 | 否 |
bilibili_get_sub_comments |
指定根评论下的一页楼中楼回复 | 否 |
bilibili_get_dynamic_detail |
动态正文、配图、作者和评论区信息 | 否 |
bilibili_get_user_dynamics |
分页读取 UP 主动态 | 否 |
bilibili_get_article_info |
专栏标题、作者、统计数据和正文文本 | 否 |
bilibili_get_live_info |
直播间状态、标题、分区和人气值 | 否 |
bilibili_get_user_info |
UP 主资料、粉丝数和关注数等 | 否 |
bilibili_get_user_videos |
分页读取 UP 主投稿 | 否 |
bilibili_get_my_info |
当前账号信息和未读通知数量 | 是 |
bilibili_view_history |
观看历史和播放进度 | 是 |
bilibili_manage_toview |
查询、添加和移除稍后再看 | 是 |
bilibili_manage_favorite |
读取收藏夹列表和收藏夹内容 | 是 |
bilibili_video_interact |
点赞、投币和一键三连,需确认 | 是 |
bilibili_dynamic_interact |
点赞或取消点赞动态,需确认 | 是 |
bilibili_send_comment |
在视频或动态下评论、回复,需确认 | 是 |
bilibili_user_relation |
关注、取消关注或拉黑用户 | 是 |
收藏夹目前只能读取,不能创建、删除或修改。各工具的参数、分页限制和 SDK 调用见 工具与 API 对照。
本地开发
git clone https://github.com/seiuna/dsh-bilibili-plugin.git
cd dsh-bilibili-plugin
pnpm install
pnpm run build
构建产物在 lib/ 中,index.js 是宿主端插件,client.js 是 Web 界面模块。
在目标 DSH profile 的 package.json 中添加本地依赖,路径换成你的仓库路径:
{
"dependencies": {
"dsh-bilibili-plugin": "link:D:/project/dsh-bilibili-plugin"
}
}
再在该 profile 的 cordis.patch.yml 中添加:
- insert:
- id: bilibili
name: dsh-bilibili-plugin
pnpm run dev 可以监听源码并重新构建。修改后端后需要重建并重启 DSH;只改前端时,重建后刷新页面即可。宿主是否自动重载,取决于当前 DSH 环境。
检查和测试
pnpm run typecheck
pnpm test
pnpm run build
也可以运行 pnpm run check,一次执行这三项。
默认测试使用模拟请求,真实账号预览测试默认跳过。只有在明确授权并设置 BILI_STATIC_TEST=1 后才运行真实账号预览。离线测试通过,只能说明对应的模拟场景通过,不能代替真实 B站请求和 DSH 中的完整使用验证。
SDK 适配和已知问题记录在 1.1.3 重构与验证记录。
发布
发布前先运行 pnpm run check,再用 npm publish --dry-run 查看打包内容。lib/ 不提交到仓库,需要先构建;正式发布时,prepublishOnly 也会执行完整检查。
git switch main
git pull
pnpm version patch
git push origin main --follow-tags
然后在 GitHub 发布对应 tag 的 Release。tag 去掉 v 后,要与 package.json 中的版本一致。
仓库 CI 会在推送到 main 或提交 PR 时运行检查。npm 发布由 Release 的 published 事件触发,使用 Trusted Publishing,无需配置 NPM_TOKEN。首次手动发布后,在 npm 包设置的 Trusted Publisher 中选择 GitHub Actions,填写用户 seiuna、仓库 dsh-bilibili-plugin、工作流文件名 publish-package.yml,环境名留空,并允许直接发布。发布工作流已指定 npm 官方源。
遇到问题
欢迎到 Issues 反馈。带上 DSH 和插件版本、复现步骤、相关报错日志,会更容易定位。
贴日志前,记得去掉 Cookie、密码、Token 和私人评论内容。