🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

B站侧边栏 tuanzhanghao/dsh-bili-mini

DeepSeek Harness
tuanzhanghao11 天前有提交已提供中文文档扫描:未发现敏感能力

在工作台侧边栏刷推荐、看视频、发弹幕

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add tuanzhanghao/dsh-bili-mini
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · platform
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 11 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 15 处,展示前 12 条)
  • 发起网络请求
    index.js:581
    upstream = await fetch(entry.url, {
  • 发起网络请求
    client.js:415
    const response = await fetch(force ? `${FEED_URL}?refresh=1` : FEED_URL, {
  • 发起网络请求
    client.js:441
    const response = await fetch(`${PLAY_URL}?${params}`, {
  • 发起网络请求
    client.js:454
    const response = await fetch('/bili-mini/api/login/status');
  • 发起网络请求
    client.js:466
    const response = await fetch('/bili-mini/api/login/qr', { signal });
  • 发起网络请求
    client.js:475
    const response = await fetch(
  • 发起网络请求
    client.js:494
    await fetch('/bili-mini/api/login/cancel', {
  • 发起网络请求
    bili.js:616
    response = await fetch(url, {
  • 发起网络请求
    bili.js:649
    response = await fetch(url, {
  • 发起网络请求
    bili.js:683
    response = await fetch(url, {
  • 发起网络请求
    danmaku.js:49
    response = await fetch(url, {
  • 发起网络请求
    auth.js:114
    return fetch(url, {
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

在 DSH 侧边栏看 B 站:支持推荐流、1080P、弹幕、扫码登录与历史同步。不消耗 Token。

README

由 DeepSeek 最新模型翻译生成
BiliMini 为 DeepSeek Harness 打造的极客风 B 站侧边栏 推荐流 · 点击即播 · 实时弹幕 · DASH 1080P · 扫码登录 · 历史同步 · 状态持久化 · 0 Token 不离开工作台,也能刷 B 站。 一眼看懂 ┌─ BiliMini ──────────────────────────────────────────┐ │ 推荐 | 历史 [1080P ▾] [同步] [×] │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ 封面 │ │ 封面 │ │ 封面 │ │ │ │ 标题 │ │ 标题 │ │ 标题 │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ 点击卡片 → ArtPlayer + DASH + 实时弹幕 │ └──────────────────────────────────────────────────────┘ BiliMini 把 B 站推荐流、播放器、弹幕、账号登录、历史记录和画质切换塞进 DSH 的侧边栏。没有额外窗口,没有浏览器标签页,也没有大模型调用。 简介 BiliMini 是第三方侧边栏插件,面向 DeepSeek Harness。
展开完整文档(README 剩余 1 节)
BiliMini

为 DeepSeek Harness 打造的极客风 B 站侧边栏

推荐流 · 点击即播 · 实时弹幕 · DASH 1080P · 扫码登录 · 历史同步 · 状态持久化 · 0 Token

不离开工作台,也能刷 B 站。

一眼看懂

┌─ BiliMini ──────────────────────────────────────────┐
│ 推荐 | 历史 [1080P ▾] [同步] [×] │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ 封面 │ │ 封面 │ │ 封面 │ │ │ │ 标题 │ │ 标题 │ │ 标题 │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ 点击卡片 → ArtPlayer + DASH + 实时弹幕 │ └──────────────────────────────────────────────────────┘

BiliMini 把 B 站推荐流、播放器、弹幕、账号登录、历史记录和画质切换塞进 DSH 的侧边栏。没有额外窗口,没有浏览器标签页,也没有大模型调用。

简介

BiliMini 是第三方侧边栏插件,面向 DeepSeek Harness。它注册在 DSH 的 sidebar.panellist,打开即可浏览推荐视频;点击卡片后在同一面板内播放,支持弹幕、DASH 720P/1080P、扫码登录、个性化推荐、历史记录与可选的观看进度同步。

整个插件运行在本地 DSH Host 中:账号 Cookie 只保存在本机,媒体流通过本地代理转发,前端只拿播放所需的短期令牌。插件不调用任何 LLM API,因此浏览和播放不会消耗 DSH Token。

非 B 站官方项目,与哔哩哔哩、DeepSeek、DSH 官方均无关联。

核心特性

| | 特性 | 说明 |
| 🧩 | 侧边栏推荐 | 直接在 DSH 内刷 B 站推荐流,支持刷新与换一批 |
| 🎬 | 点击即播 | ArtPlayer + 本地流代理,支持 Range 拖动进度 |
| 💬 | 实时弹幕 | B 站 XML 弹幕,支持开关、速度、透明度、字号、模式等设置 |
| 🎚️ | DASH 720P/1080P | 登录态使用 DASH 独立音视频轨;播放器右上角切换画质,保留当前进度 |
| 🔐 | 本地安全登录 | B 站扫码登录;SESSDATA / bili_jct 只存在 Host 本地,前端不可见 |
| ✨ | 个性化推荐 | 登录后自动带 Cookie 请求;退出后回退匿名推荐 |
| 🕘 | 历史记录 | 最近 30 条观看记录,支持继续播放 |
| 🔄 | 历史同步 | 按网页播放器的方式节流上报进度;可选关闭,失败静默 |
| 🧠 | 状态持久化 | 记住 Tab、列表缓存和当前播放进度;切换对话/插件再回来不重置 |
| 🪶 | 0 Token | 不调用大模型,不产生 LLM Token 费用 |
| 📦 | 零构建 | 无 npm 运行时依赖、无构建步骤,播放器/弹幕/DASH/二维码均已内置 |
| 🖥️ | 多端兼容 | macOS 为开发与主要验证平台;Windows 已做路径、权限、回环地址适配 |

安装

从 npm 安装(推荐)

dsh plugin add dsh-bili-mini

如果你的 DSH 版本要求显式 npm spec:

dsh plugin add npm:dsh-bili-mini

如果你的 DSH 使用显式 profile:

桌面版通常使用 desktop
dsh plugin --profile desktop add dsh-bili-mini

Web 版
dsh plugin --profile web add dsh-bili-mini

也可以先检查 npm 包内容:

npm view dsh-bili-mini

安装后完整退出并重新打开 DSH,然后在侧边栏打开 BiliMini。

从 GitHub 安装(源码)

dsh plugin add https://github.com/tuanzhanghao/dsh-bili-mini

部分 DSH 版本也接受 GitHub 简写:

dsh plugin add github:tuanzhanghao/dsh-bili-mini
Host 代码更新后要完整重启,只刷新网页不够。从源码安装时,如果 pnpm 询问 allowBuilds:本项目没有构建脚本、原生依赖或 postinstall,只有你信任本仓库时才授权。

本地开发安装

dsh plugin add /path/to/dsh-bili-mini

把 /path/to/dsh-bili-mini 换成你的本地仓库目录。

环境要求

- DSH 桌面版或 Web 版;
- Node.js 20+(DSH 通常已内置);
- 无需安装 npm 依赖,无需构建;
- 支持 MSE 的 Chromium/Electron 内核(DASH 播放需要)。

使用

1. 在 DSH 侧边栏打开 BiliMini;
2. 浏览推荐流,点击任意卡片开始播放;
3. 播放器支持进度拖动、音量、全屏、画中画;
4. 播放器右上角可选择 720P / 1080P(登录后按视频实际可用轨显示);
5. 弹幕按钮位于播放器控制条,可在设置中调整样式;
6. 点击右上角 登录,用 B 站手机客户端扫码;
7. 登录后推荐流变为个性化,顶部显示头像与昵称;
8. 点击 历史 查看最近观看记录,点击卡片继续播放;
9. 播放器右上角的 同步历史 开关控制是否把进度写回 B 站,默认开启;
10. 切换到其他对话/插件再回来,Tab、列表和播放进度会恢复。

DASH 与画质

| 状态 | 播放模式 | 可用画质 |
| 未登录 | 渐进式 MP4 | 最高 720P |
| 已登录 | DASH(独立视频/音频轨) | 720P / 1080P,取决于视频与账号权益 |
| 1080P+ / 4K | 未在 UI 开放 | 需要对应会员与视频权限 |

实现要点:

- 登录态请求 fnval=16,后端解析 dash.video / dash.audio,生成静态 MPD;
- 视频与音频分别通过本地 /bili-mini/stream/<token> 代理,支持 HTTP Range;
- MPD 通过 /bili-mini/dash/<token> 提供,BaseURL 使用当前 Host 的绝对地址;
- 前端懒加载内置的 dash.js,通过 ArtPlayer customType 接入 MSE;
- 切换画质时重新请求目标画质,记录当前 currentTime,新播放器 ready 后 seek 回原位置;
- 切换/关闭时先 dash.destroy() 再 art.destroy(),避免双音频与实例泄漏。

说明:

- 720P 匿名可用;1080P 需要登录,并且依赖视频本身提供 1080P 轨、账号具备相应权益;
- 1080P+(qn=112)和 4K 当前不在 UI 中暴露;
- 本项目不做 DRM 绕过,只播放账号本来有权访问的流;
- 画质切换是「保留进度的短重载」,不是帧级无缝切换。

状态持久化

状态保存在 client 模块内部的内存对象 panelMemory 中:不挂 window、不写 localStorage/sessionStorage、不写 Cookie。面板组件卸载再挂载时状态仍在;整页刷新会清空。

弹幕偏好与「同步历史」开关仍使用 localStorage,这是纯 UI 设置,不包含 Cookie、UID、昵称或播放令牌。

| 内容 | 行为 |
| 当前 Tab | 推荐/历史;切换对话或插件后保持 |
| 推荐列表 | 5 分钟内直接复用缓存,不显示骨架屏、不重复请求 |
| 历史列表 | 5 分钟内直接复用缓存;手动刷新强制请求 |
| 当前播放 | 记住选中卡片、播放数据与进度;3 小时内切回来自动恢复并 seek |
| 登录/退出 | 清空推荐与历史缓存,避免串号或显示旧账号内容 |
| 整页刷新 | 内存清空,回到默认推荐 Tab |

播放恢复依赖播放响应里的 stream/manifest 临时令牌(有效期约 3 小时),因此缓存时间与令牌 TTL 对齐;过期后不会拿旧令牌强行播放。

安全与隐私

BiliMini 涉及 B 站账号 Cookie,边界如下:

| 项目 | 实现 |
| Cookie 位置 | 仅本地 Host 的 data/cookie.json;不写前端 localStorage/sessionStorage |
| POSIX 权限 | 数据目录 0700,Cookie 文件 0600 |
| Windows 权限 | 不调用 chmod,交由用户目录 ACL |
| 前端可见性 | 前端只拿 loggedIn、昵称、头像;永远拿不到 SESSDATA / bili_jct |
| 网络范围 | 带 Cookie 的请求只发往 .bilibili.com |
| 重定向 | redirect: "error",避免 Cookie 被带到第三方 |
| 二维码 | 后端本地生成,不使用第三方二维码服务 |
| 日志 | 后端错误统一 redact();第一方代码不打印 Cookie、SESSDATA 或接口原始响应 |
| 媒体令牌 | 随机、短期、仅本地使用;不写入磁盘 |
| 退出登录 | 删除 data/cookie.json 及临时文件 |
| 版本管理 | .gitignore 已忽略 data/、cookie.json、.log、.env*、.dsh-ops/ |

BiliMini 没有遥测、埋点、远程配置或第三方中转服务器。推荐、播放、弹幕、登录和历史同步都只在本机 DSH Host 与 B 站之间发生。

发布、打包或分享代码前,请确认 data/cookie.json 不存在。.gitignore 只能阻止 Git 提交,不能阻止手动压缩、网盘同步或上传。

如果使用中的已安装插件仍处于登录状态,请在插件内点「退出登录」,或删除该安装目录下的 data/cookie.json;本仓库源码目录不包含任何 Cookie。

平台支持

| 平台 | 状态 | 说明 |
| macOS | ✅ 完美支持 | 开发与主要验证平台;DASH、弹幕、登录、历史同步均已实机验证 |
| Windows | ✅ 已做适配 | 路径、权限、文件替换、回环地址均已处理;未覆盖所有 Windows 版本 |
| Linux | ⚠️ 理论可用 | 未做专项验证,欢迎反馈 |
| DSH Web | ✅ 支持 | 需要浏览器支持 MSE;Firefox/Safari 的 DASH 行为可能不同 |
| DSH Desktop | ✅ 支持 | Electron/Chromium 内核,推荐使用 |
Windows 细节:

- 所有路径使用 path.join / fileURLToPath,不依赖 /tmp 或 macOS 固定路径;
- Windows 下不调用 fs.chmod,Cookie 文件权限交由用户目录 ACL;
- rename 失败时使用 copyFileSync 兜底,避免杀毒/索引器短暂占用;
- 媒体地址中的 localhost / ::1 归一化为 127.0.0.1,避免系统代理或双栈解析拦截。

已知限制

- 1080P 依赖登录与 DASH:匿名只有 720P;1080P 还取决于视频轨与账号权益;
- 1080P+ / 4K 未开放:qn=112 及更高画质当前不在 UI 中暴露;
- 不提供 DRM 绕过、去广告或付费内容破解;
- B 站接口、风控、区域限制和 Cookie 有效期都可能影响推荐、播放与历史同步;
- 历史同步是 best-effort,失败会静默,不保证 100% 写入;
- 画质切换是短重载,会有一瞬间的播放器初始化;
- 状态持久化是进程内内存,整页刷新或重启 DSH 后会重置;
- 侧边栏宽度有限,复杂播放器设置可能需要横向滚动;
- 本插件不提供视频下载功能。

为什么是 0 Token

BiliMini 只使用 B 站公开接口与本地播放器:

- 不调用大模型;
- 不消耗 LLM Token;
- 不需要 API Key;
- 不把观看内容发送给模型服务。

它消耗的只有正常的网络流量和本地 CPU/GPU 解码资源。

架构

DSH Client (React)
│ /bili-mini/api/feed · /play · /history · /login · /history/report │ /bili-mini/dash/<token> · /bili-mini/stream/<token> ▼ DSH Host (Node.js) │ Cookie 本地保存 · 请求头补齐 · DASH MPD · Range 流代理 · 日志脱敏 ▼ Bilibili API / CDN

主要模块:

- index.js:Host 路由、推荐/播放/历史/登录 API、DASH MPD、流代理、CORS、缓存;
- bili.js:B 站接口封装、DASH 轨道归一化、历史与进度上报;
- auth.js:扫码登录、Cookie 原子写入、权限、脱敏;
- danmaku.js:弹幕 XML 解析与格式转换;
- client.js:React 侧边栏 UI、ArtPlayer、dash.js、弹幕插件、面板状态缓存;
- vendor/:ArtPlayer、artplayer-plugin-danmuku、dash.js、qrcode-generator 的内置版本。

内置依赖:

- ArtPlayer 5.x(MIT);
- artplayer-plugin-danmuku 5.x(MIT);
- dash.js 4.7.4(BSD-3-Clause);
- qrcode-generator 1.4.4(MIT)。

项目结构

dsh-bili-mini/
├── .gitignore
├── LICENSE
├── README.md
├── package.json
├── cordis.patch.yml
├── icon.svg
├── index.js
├── bili.js
├── auth.js
├── danmaku.js
├── client.js
├── locale/
│ ├── en.json
│ └── zh.json
└── vendor/
├── README.md
├── LICENSE.artplayer
├── LICENSE.artplayer-plugin-danmuku
├── LICENSE.dashjs
├── LICENSE.qrcode-generator
├── artplayer.js
├── artplayer-plugin-danmuku.js
├── dash.all.min.js
├── dash.all.min.js.LICENSE.txt
└── qrcode-generator.cjs

data/ 是运行时目录(登录后创建),已被 .gitignore 忽略,不随仓库发布。

开发

本项目没有构建步骤,源码直接运行:

node --check index.js
node --check bili.js
node --check auth.js
node --check danmaku.js
node --check client.js

检查 npm 发布内容,确认不包含 data/、Cookie、日志或本地文件
npm pack --dry-run

约定:

- 保持零运行时 npm 依赖;
- 第三方浏览器资源继续使用 vendor/,不引入 CDN;
- Host 代码中的错误信息统一走 redact();
- 不提交 Cookie、真实 UID、昵称、头像、本地绝对路径或接口原始响应;
- 修改 Windows 相关代码时同时检查路径、权限与回环地址。

常见问题

登录后仍然只有 720P?

先确认当前账号已登录、视频本身提供 1080P DASH 轨,并且账号具备对应权益。部分视频、地区或账号只返回 720P;1080P+ 不在 UI 中开放。

切换 1080P 会闪一下?

这是设计行为:切换画质会重新生成 MPD 并创建 dash.js 实例,随后 seek 回切换前的时间点,不是帧级无缝切换。

切换到其他对话/插件再回来,Tab 或播放进度重置?

正常应保持。若整页刷新或重启 DSH,内存缓存会清空。若面板模块被 DSH 重新加载,也会重置;可在 Issue 中附上 DSH 版本与复现步骤。

历史同步没有记录?

确认已登录且播放器右上角“同步历史”为开启状态。B 站写接口可能触发风控或限流,插件会静默失败,不影响播放。

二维码不显示 / 登录 404?

确认安装后已完整重启 DSH,而不是只刷新页面。Host 代码更新后尤其需要重启。

Cookie 存在哪里?如何退出?

<插件目录>/data/cookie.json

macOS 为 0600;Windows 使用用户目录 ACL。退出登录会自动删除该文件及临时文件。也可以直接删除 data/cookie.json。

Windows 上无法播放或拖动? 确认媒体地址使用 127.0.0.1,而不是 localhost;本项目已自动归一化。若仍有问题,请附上 DSH 日志中的脱敏错误。

免责声明

本项目仅用于学习与技术交流,与哔哩哔哩、DeepSeek、DSH 官方均无关联。

- B 站接口可能随时调整或触发风控,推荐、播放、历史同步等功能不保证长期可用;
- 请遵守 B 站用户协议与相关法律法规,不要用于批量抓取、账号滥用或其他违规用途;
- 本项目不提供破解、去广告或绕过付费内容的能力;
- 使用本项目产生的任何后果由使用者自行承担,作者不对账号风险、数据丢失或服务中断负责。

参与贡献

欢迎提交 Issue 和 Pull Request。

- 提交前请确保不包含 data/cookie.json、Cookie、真实 UID、昵称、头像或本地绝对路径;
- 不要提交接口原始响应、调试日志或带个人信息的截图;
- 代码保持零运行时依赖,优先使用 Node 原生 fetch / fs / path;
- 播放器、弹幕、DASH、二维码资源继续使用 vendored 版本;
- Windows 相关改动请同时验证路径、权限与回环地址。

License

MIT © 2026 tuanzhanghao

致谢

- ArtPlayer — MIT
- artplayer-plugin-danmuku — MIT
- dash.js — BSD-3-Clause
- qrcode-generator — MIT
- DeepSeek Harness

如果 BiliMini 让你的摸鱼更快乐,点个 Star ⭐
预览分享卡片长什么样 ↓tuanzhanghao/dsh-bili-mini
分享 · DeepSeek Harness Hub
tuanzhanghao/dsh-bili-mini

在工作台侧边栏刷推荐、看视频、发弹幕

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部