BiliFollowGraph
B站关注图 分类:Web / Apps 描述:分析并展示 B 站账号之间的关注关系图。支持递归抓取公开关注列表、查看单向/双向关系、缩放拖拽浏览、缓存关注列表与昵称、实时查看分析进度。
需求
- 安全级别:专业版模块
- 权限需求:无
- 驱动依赖:否
- 联网需求:是
- 开发状态:实验性 / 持续改进
- 版本属性:PRO 可用
介绍
BiliFollowGraph(B站关注图)用于从当前登录的 B 站账号出发,递归分析公开关注列表,并生成一张关注关系图。 适合排查社交圈层、观察互关结构、快速查看谁关注了自己、以及筛选高连接度节点。
使用时可重点关注三类调节:
- 分析范围:Max Depth、Max Nodes、Followings Per User Limit
- 缩放可读性:Node Font Size、Minimum Node Font Size、Minimum Offscreen Tag Font Size
- 布局与缩放时的显示策略:Ring Spacing、Layout Radius Power、Layout Same Depth Edge Ideal Rate、Layout Cross Depth Edge Ideal Rate、Layout Depth Spread Rate、Zoomed Out Visible Budget Scale
配置项
UI Version(界面版本) 类型:下拉;默认:WebUI;选项:WebUI、Legacy 说明:WebUI 优先使用系统已有的 WebView2 内嵌显示;若 Runtime 不可用或初始化失败,则自动使用默认浏览器打开本地网页。Legacy 直接使用原有 raylib Apps 界面。客户端不分发 WebView2 Runtime、Node.js 或 node_modules。
Async(异步) 类型:布尔;默认:true 说明:控制模块是否以异步方式启动分析。保持默认值通常更稳妥,不建议关闭。
Connect Timeout (s)(连接超时(秒)) 类型:数值;默认:5L 说明:控制网络请求超时。网络较慢时可适当增大到 8~12;若你想更快失败返回,可适当减小。
Max Depth(最大深度) 类型:数值;默认:2L 说明:控制从当前账号向外递归多少层。深度越大,图越复杂,耗时越高。 推荐:日常观察用 2;想扩大范围可试 3;超过 3 往往很快变得拥挤。
Max Nodes(最大节点数) 类型:数值;默认:160L 说明:限制图中最多放入多少个用户节点。值越大,分析时间和渲染压力越大。 推荐:流畅优先 120~200;深入分析可试 250~400。
Followings Per User Limit(每用户关注上限) 类型:数值;默认:50L 说明:限制每个用户最多展开多少个关注对象。该项对速度影响很大。 推荐:快速浏览 20~50;结构分析 50~100;若只想看大概关系,不要设太高。
Followings Cache Enabled(关注列表缓存) 类型:布尔;默认:true 说明:启用后会把每个用户的关注列表缓存在系统 temp 中,方便下次快速打开。 推荐:保持开启。只有在你怀疑缓存内容过旧、想强制重新抓取时再临时关闭。
Page Size(每页) 类型:数值;默认:20L 说明:控制拉取关注列表时每页请求数量。一般不需要改。 推荐:保持默认;只有调试抓取行为时再改。
Check Follow Me Relation(检查对方是否关注我) 类型:布尔;默认:true 说明:启用后会额外检查图中节点是否反向关注当前账号,用于标记“被关注”和“互关”。 推荐:保持开启。若只想更快出图、暂时不关心反向关系,可关闭。
Show Single Edge Nodes(显示单边节点) 类型:布尔;默认:false 说明:控制是否显示只有一条边的节点。关闭时图会更干净,开启时图会更完整但更杂乱。 推荐:结构观察时关闭;找边缘关系时开启。
Always Show First Layer Nodes(始终显示第一层节点) 类型:布尔;默认:true 说明:控制当前账号直接关注的第一层节点是否始终可见。 推荐:保持开启,这样缩小时也不容易丢掉最核心的一圈关系。
Hide Single Edge Nodes When Zoomed Out(缩小时隐藏单边节点) 类型:布尔;默认:true 说明:缩放较小时优先隐藏只有一条边的节点,减少杂乱。 推荐:保持开启;如果你更希望缩小时仍尽可能完整展示,可关闭。
Hide Hidden-Followings Nodes When Zoomed Out(缩小时隐藏关注列表私密节点) 类型:布尔;默认:false 说明:控制关注列表私密、难以展开的节点在缩小时是否优先隐藏。 推荐:图太乱时可开启;若你想保留这些节点的位置线索,保持关闭。
Progressive Detail Prioritize Multi-Edge Nodes(渐进细节优先显示多边节点) 类型:布尔;默认:true 说明:缩小时优先保留连接较多的节点。 推荐:保持开启。关闭后显示更平均,但可读性通常更差。
Zoomed Out Visible Budget Scale(缩小时可见节点预算倍率) 类型:数值;默认:1.0f 说明:整体控制缩小时可见节点数量预算。越大,缩小时显示越多;越小,缩小时图越简洁。 推荐:看不清时调低到 0.7~0.9;想尽量多看点关系可调到 1.2~1.6。
Layout Radius Power(布局半径幂次) 类型:数值;默认:0.5f 说明:控制节点层数增加时,离中心扩散的速度。值越大,外层节点离中心越远;值越小,整体更紧凑。 推荐:如果“远处节点太远”,调低到 0.4~0.55;如果“都挤在中心附近”,调高到 0.6~0.8。
Layout Same Depth Edge Ideal Rate(同层边理想距离倍率) 类型:数值;默认:0.78f 说明:控制同一层节点之间的理想间距。值越大,同层节点越分散。 推荐:若根附近太挤,先提高到 0.9~1.1;若图太散,可降到 0.65~0.8。
Layout Cross Depth Edge Ideal Rate(跨层边理想距离倍率) 类型:数值;默认:0.92f 说明:控制相邻层之间的理想边距。值越大,外圈越拉开。 推荐:若跨层挤得太近,调到 1.0~1.2;若找节点要拖很久,调低到 0.75~0.9。
Layout Depth Spread Rate(布局层扩散倍率) 类型:数值;默认:0.26f 说明:控制同一父节点下,子节点沿圆弧展开的幅度。值越大,子节点越展开。 推荐:若同一个人的子节点挤成一团,调高到 0.3~0.45;若太散,调低到 0.15~0.25。
Initial Zoom(初始缩放) 类型:数值;默认:1.0f 说明:打开图或重置视图时使用的默认缩放倍率。 推荐:大图可设 0.7~0.9;节点较少时可设 1.0~1.3。
Zoom Speed(缩放速度) 类型:数值;默认:0.12f 说明:控制滚轮缩放步进速度。 推荐:如果你觉得过快,可降到 0.06~0.1;如果太慢,可升到 0.15~0.25。
Node Font Size(节点字号) 类型:数值;默认:20L 说明:控制节点基础字号。值越大,近距离阅读更轻松,但拥挤时容易遮挡。 推荐:1080p 常用 18~22;高分屏可再略增。
Minimum Node Font Size(最小节点字号) 类型:数值;默认:14L 说明:控制缩小时节点文字的最小字号下限。 推荐:若缩小后完全看不清,可提高到 15~18;若遮挡太多,可降到 11~13。
Minimum Offscreen Tag Font Size(最小离屏标签字号) 类型:数值;默认:11L 说明:控制离屏标签最小字号。 推荐:若边缘标签太难辨认,提高到 12~15;若标签太占空间,可略降。
Node Radius(节点半径) 类型:数值;默认:6.0f 说明:用于影响节点的点击/连接避让范围。通常不需要频繁调整。 推荐:保持默认;若点击节点困难可略增,若边离节点过远可略减。
Ring Spacing(环形间距) 类型:数值;默认:260.0f 说明:控制不同层之间的基础环形间距。 推荐:图太挤可调高到 280~340;图太散可调低到 180~240。
Node Opacity (0~1)(节点不透明度 (0~1)) 类型:数值;默认:1.0f 说明:控制节点文字与相关高亮的整体透明度。 推荐:若挡视线可调到 0.75~0.9;若觉得太虚可保持 1.0。
Line Opacity (0~1)(线条不透明度 (0~1)) 类型:数值;默认:0.7f 说明:控制边线与箭头的透明度。 推荐:图较乱时可降到 0.45~0.6;想更清楚地看方向可提高到 0.8~1.0。
历史更新
- 新增专业版模块
Bili Follow Graph。
- 新增专业版模块
- 改善双向边、节点高亮、关注缓存、渐进展示与基础布局。
- 完善缩放显示控制,增加多项缩小时的显示策略配置。
- 优化 WebUI 节点聚焦、离屏关系指示和详情数据,新增文字缩放、关注用户加载、搜索定位与节点浏览历史。
- 修复 WebUI 文字缩放和历史滚动,关注用户支持分批继续加载,并优化 GUI 开关时的过渡效果。
- 新增最小度数和最少粉丝筛选,修复文字缩放与互关箭头,减少完全离屏连线的渲染开销,并解除详情页继续加载时的总节点上限。
- 选择节点时自动校正与自己的关系和连线,批量补全昵称并按度数优先缓存粉丝数;左栏支持滚动,纯文字改为默认节点风格,并改善大图连线与关注用户加载。
- 大图连线随数量进一步变淡,纯文字节点箭头更贴近目标;修复互关度数、关注加载和公开状态,并新增顶部缓动进度条。浏览器模式不再绘制旧版图谱。
- 连线直接使用更暗的颜色,并修复离屏边淡入淡出仍会跳变的问题;最小度数筛选改用对数映射,低度数更容易精确调节。
备注
- 模块依赖当前 B 站登录状态;若没有可用 Cookies/UID,将无法开始分析。
- WebUI 会保持用户手动调整的视角,并以适配全图作为 100% 缩放基准;右下角可调整 25%~2500% 缩放比例,左下角可调整文字大小。节点默认使用纯文字,也可切换为圆点;选中节点时直接关系边显示为较细的暗橘色,其他边降低到聚焦前的 20% 强度,其他节点保留 70% 不透明度。互关关系使用双向箭头,两个端点均不在屏幕内且不与当前节点相连的边不会绘制;当前画面绘制的边越多,边颜色越接近图谱背景。离屏邻居会避开左右面板、遵循当前筛选条件,并以箭头表示关注方向;点击空白处或按 Esc 取消选择并隐藏详情栏。
- WebUI 左侧可滚动编辑最大深度、最大节点数、每用户关注上限、反向关注检查、粉丝列表检查与缓存开关,重新分析时保存到模块配置;另有位于粉丝筛选上方的最小度数滑块(默认 1),以及默认 0、最大 1000 万的对数粉丝筛选滑块。粉丝数未知的节点会暂时通过筛选,后台按度数从高到低补全并缓存粉丝数;选中节点括号中的度数按当前筛选后的相邻节点计算。节点详情按关注关系着色,显示粉丝数与关注数,并在关注列表未完全载入时提供加载入口,每次最多继续加载 400 位关注用户,主动加载不受分析阶段最大节点数限制;即使后续分页失败,也会保留本轮已加载的节点。同时提供定位节点、个人空间、复制昵称和复制 UID 操作。
- 选择节点时会后台刷新该用户与自己的关系并补齐遗漏连线。关系分析使用批量关系接口,昵称补全优先使用批量用户卡片接口,并保留旧查询方式作为失败回退。
- 可见边越多时,连线颜色会直接向图谱背景色收敛;选中关系使用更细、更暗的橘线。边进入和离开可视区时会在边色与背景色之间平滑过渡,淡出完成后才停止绘制。纯文字节点使用更小的连线半径。互关边会同时计入入度和出度。加载公开关注列表时,后续分页失败不会覆盖已确认的公开状态,也不会丢弃本轮已经加载的节点。
- 最小度数筛选使用对数滑动映射,低度数值之间的滑动距离更宽,高度数区间更紧凑。
- 分析进度未达到 100% 时,图谱顶部显示带缓动百分比标签的进度条。WebUI 模式不会再运行或绘制 Legacy 图谱;回退浏览器时 Apps 区域仅显示本地查看地址。
- 搜索用户、浏览历史前进或后退时会缓动定位到目标节点。详情页最多保留 100 条节点浏览记录,可点击定位或单独删除,并支持
Alt+←/Alt+→前进和后退。 - 关注列表、昵称和部分关系结果会缓存到系统 temp,首次打开会明显更慢,后续通常会快很多。
- 图越大,对 FPS 的压力越高。若感觉卡顿,优先降低
Max Nodes、Followings Per User Limit,或减少缩小时的可见节点数量。 - 如果你主要看结构,建议先保持
Show Single Edge Nodes=false,并开启Progressive Detail Prioritize Multi-Edge Nodes。
相关命令
无
相关模块
相关资料
无