这里整理了多个自用油猴脚本。脚本文件统一放在 scripts/ 目录;每个脚本独立维护,后续新增脚本时也会在本文档中加入对应分区。
- 安装 Tampermonkey、Violentmonkey 或其他兼容的用户脚本管理器。
- 在脚本管理器中新建脚本。
- 将对应
.js文件内容粘贴进去并保存。 - 打开匹配网站后脚本会自动运行。
用于记录 Bilibili 视频访问和观看进度,并在首页、搜索页、历史页、稍后再看、视频推荐、合集/分 P 列表等位置标记已观看内容。
- 自动记录视频访问状态和观看进度。
- 在视频封面上显示已访问、已观看、观看百分比或多 P 记录提示。
- 支持普通分 P 视频、合集视频、合集变种页面、UP 主投稿播放列表和播放器选集列表。
- 支持进度条显示、标签位置、标签透明度、低/高进度阈值配置。
- 支持续播提示,可跳转到上次观看进度。
- 内置设置面板、历史管理与统计面板,支持可视化统计图表(完成度环形图、状态/进度分布图、近期趋势柱状图)。
- 采用分片存储,减少大量历史记录时的读写压力。
- 提供 localStorage 临时备份恢复,降低异常退出时丢失进度的概率。
- 支持在设置页下载脚本调试日志:当前页面导出完整日志,历史页面仅保留 warning/error、页面异常和控制台 warn/error,便于排查卡死、自动跳转或脚本冲突问题。
- 脚本设置页:配置进度条、标签样式、进度阈值、调试日志等。
- 历史管理:按标题/BV/av 搜索(带清空按钮)、按状态筛选、按多种方式排序、分页浏览、单条/批量删除并支持撤销、导入导出 JSON。
- 统计面板:总记录/已观看/已访问/进度分布等数字卡片,以及完成度环形图、状态进度条形图、近期趋势柱状图。
脚本使用 GM_setValue / GM_getValue 保存数据,并将记录拆分到多个分片键中。历史记录 key 通常为:
BVxxxxxxxxxxBVxxxxxxxxxx?p=2av123456
普通单 P 视频记录为基础 key,多 P 视频会按分 P 保存为 ?p= key。
- 是否显示进度条。
- 是否显示已访问标记。
- 是否显示自动续播提示。
- 是否开启调试日志,并可下载或清空脚本调试日志。
- 标签透明度。
- 标签位置。
- 低进度和高进度阈值。
- 视频页。
- 首页和带查询参数的首页。
- 动态页。
- 空间页。
- 历史页。
- 稍后再看。
- 搜索页。
- 合集、播放列表相关页面,包括
/medialist/play/和/list/投稿播放列表。
用于在 Bilibili 页面显示当前登录账号关注某个用户的时间。脚本会同步并缓存关注列表数据,在关注/粉丝列表、用户主页和全站用户悬浮名片中注入“关注于”时间标签。
- 在关注列表和粉丝列表中显示对应用户的关注时间。
- 在已关注用户的个人主页昵称区域显示关注时间。
- 在视频页、动态页等页面的用户悬浮名片中显示关注时间。
- 自动同步当前登录账号的关注列表,并将关注时间缓存到本地。
- 视频播放相关页面仅显示已有缓存或接口可查询的悬浮名片标签,不触发关注列表全量同步。
- 当页面中出现本地库缺失的用户,或缓存超过一定时间后,会自动触发全量同步。
- 支持 Bilibili SPA 页面切换和 DOM 重绘后的自动补标,减少标签错位或漏标。
脚本使用 GM_setValue / GM_getValue 保存数据,并按登录账号 UID 和列表类型隔离缓存。常见存储键格式为:
BiliFollowDB_followings_登录账号UIDBiliFollowDB_followers_目标账号UID
缓存内容包含最后同步时间、列表总数和用户 UID 到关注时间戳的映射。全量同步时会用最新列表覆盖旧数据,可自动移除已取关用户的旧记录。
- 需要先登录 Bilibili,脚本通过登录 Cookie 中的
DedeUserID区分本地缓存。 - 首次使用或缓存过期时会进行后台同步,同步期间右下角会显示进度提示。
- 为降低接口风控风险,同步关注列表时每页会间隔约 1.5 秒。
- 若关注列表很大,首次同步可能需要等待一段时间;同步完成后后续页面显示会更快。
https://space.bilibili.com/*https://m.bilibili.com/*https://www.bilibili.com/*https://t.bilibili.com/*
GM_xmlhttpRequest:请求 Bilibili 关系接口获取关注时间。GM_setValue/GM_getValue:保存和读取本地关注时间缓存。@connect api.bilibili.com:允许访问 Bilibili API。
用于 Discuz! 论坛浏览辅助。脚本会记录已访问帖子,在论坛列表中标记已读状态,并可在列表页静默自动预览帖子首屏图片;开启后续分页选项后,也可手动继续加载更多图片。
- 自动记录访问过的帖子,并在论坛列表中以“[已访问]”标记显示。
- 在帖子列表中静默自动预览帖子第 1 页图片,默认最多展示 5 张。
- 自动预览不足 5 张时不会继续抓取后续页,降低列表滚动时的请求量。
- 自动预览不会写入“已看图”标记;若第 1 页无图,会隐藏预览区域并将按钮显示为“无图片”。
- 默认只抓取帖子第 1 页图片;若第 1 页图片超过自动预览数量,预览网格末尾会显示“加载更多图片”卡片用于补完本页剩余图片。
- “加载更多图片”卡片会自动对齐当前最后一张图片的高度;开启“允许手动抓取后续分页”后,还可继续抓取后续 3 页图片,并记录看图状态。
- 支持常见动态 URL 和伪静态 URL 的分页预览。
- 图片预览使用瀑布流网格展示,并过滤过小图片。
- 折叠预览后会在按钮上保留已加载图片数量。
- 支持图片灯箱查看,可用左右按钮、图片左右区域点击和键盘方向键翻页,按
Esc关闭。 - 手动预览过图片但未正式打开的帖子会以“[已看图]”标记区分。
- 已访问帖子支持多种显示样式:灰底标签、半透明、删除线、半透明加删除线、仅改变标题颜色或隐藏已读帖子。
- 自动限制历史记录数量,避免长期使用后存储数据持续膨胀。
- 支持同论坛名、不同域名的存储隔离,并包含旧存储键自动迁移逻辑。
脚本在用户脚本管理器菜单和页面右下角可拖动悬浮按钮中提供“Discuz 辅助设置”入口,面板分为图片预览、已读样式和数据管理:
- “图片预览”:开启或关闭图片预览、自动预览、后续分页抓取,设置自动预览数量、自动预览并发数和最小图片边长。
- “已读样式”:选择已访问帖子的显示模式。隐藏已读帖子只隐藏真实访问过的帖子,不隐藏仅看图帖子。
- “数据管理”:查看当前论坛域的足迹数量、已访问数量、仅看图数量、最近记录时间和存储 key,并支持导出、导入、清理 30 天前足迹或清空全部足迹。
导出数据为 JSON 文件,文件名包含论坛名和域名标识。导入时会合并本地数据,并优先保留时间戳较新的记录。
脚本使用 GM_setValue / GM_getValue 保存每个论坛域的记录。当前存储键格式为:
discuz_visited_threads_论坛名_域名
单条记录会保存帖子访问状态、图片预览状态和更新时间戳。记录数量超过阈值时会自动保留较新的记录。
图片预览结果会按论坛域、帖子 ID 和分页结果缓存在当前浏览器会话中,缓存带有时间戳,过期后会重新抓取。默认只使用帖子第 1 页缓存;开启后续分页抓取并手动加载更多图片时,才会继续写入后续分页缓存。
*://*/*forum.php?mod=forumdisplay**://*/*forum.php?mod=viewthread**://*/*forum-*-*.html*://*/*thread-*-*.html
GM_setValue/GM_getValue/GM_deleteValue:保存、读取和删除已读与看图记录。GM_registerMenuCommand:注册 Discuz 辅助设置菜单;页面内还会注入可拖动悬浮设置按钮。GM_addStyle:注入已读标记、预览网格、设置面板和灯箱样式。
用于个人论坛签到和论坛页面辅助。脚本文件内包含具体匹配站点和功能逻辑。
- 本脚本独立维护。
- 后续变更会在 CHANGELOG.md 中按脚本分区记录。
新增脚本时,请将脚本文件放入 scripts/ 目录,并同时更新:
README.md:增加脚本分区、文件链接和功能简介。CHANGELOG.md:增加对应脚本的更新日志分区。
除脚本文件中另有说明外,本仓库脚本按各文件头部声明的许可证发布。