[Bug] 漫画阅读任务只读 1 本(或 0 本),未对接“今日推荐 5 本各读 5 分钟”

Author: cirnoice9Created Aug 18, 2026Updated Sep 18, 2026

环境

  • 部署:青龙面板 v2.17.12(NAS docker)
  • BiliBiliToolPro:v3.8.2.0
  • 账号:年度大会员
  • 跑的任务:Manga

现象

  1. 青龙日志显示任务在 13 秒内就完成且 [漫画阅读] 成功
[00:51:56 INF] ---开始 漫画阅读---
[00:52:09 INF] [漫画阅读] 成功
  1. B 站漫画 App「我的」页面,"今日推荐"任务列下 5 个"再读 5 分钟"任务全部 未完成
  • 阿宅的恋爱真难 → 去阅读
  • 巴尔多的宫殿 → 去阅读
  • 想要触碰青野君 → 去阅读
  • 中华小当家!极 → 去阅读
  • 双胞胎兄妹的父亲是 → 去阅读

完整任务线(1本→2本→3本→4本→5本)当天 0 经验、0 进度。

期望 vs 实际

  • 期望:跑完 Manga 任务后,"今日推荐"的 5 本漫画各 +5/+10/+20/+20/+30 经验全部到账(5 本读满共 +85)。
  • 实际:一本都没读,0 经验;工具却报"成功",属于 静默失败 + 谎报成功

根因分析(已读源码确认)

文件 src/Ray.BiliBiliTool.DomainService/MangaDomainService.cs

csharp
public async Task MangaRead(BiliCookie ck)
{
    if (_mangaTaskOptions.CustomComicId <= 0)
        return;                        // ← 未配置时直接 return,啥也不读
    BiliApiResponse response = await mangaApi.ReadManga(
        _dailyTaskOptions.DevicePlatform,
        _mangaTaskOptions.CustomComicId,   // ← 单值
        _mangaTaskOptions.CustomEpId,      // ← 单值
        ck.ToString()
    );
    if (response.Code == 0)
        logger.LogInformation("【漫画阅读】成功");
    ...
}

文件 src/Ray.BiliBiliTool.Agent/BiliBiliAgent/Interfaces/IMangaApi.cs 完整端点只有 3 个(ClockIn / ReadManga / ReceiveMangaVipReward),均无"今日推荐列表"或遍历逻辑。

结论:

  • 早期 B 站漫画阅读奖励是"读 1 本即结算",作者代码契合当年规则;
  • 现版本 B 站已改为"5 本推荐各读 5 分钟"分级奖励,工具没跟上
  • 此外,CustomComicId = 0 时早退却照样打"成功",是误导性日志

改进建议 / 我愿意修

最小修复:

  1. 修掉"未配置 = 假装成功"的日志,至少标 跳过
  2. 调用 B 站推荐列表接口(如果开放)→ 循环 ReadManga,按本日"今日推荐"的 5 本各调一次;
  3. 日志改为分级:读取 X/5
  4. 若 B 站推荐列表接口未公开(socialsisterYi/bilibili-API-collectJunzhouLiu/BILIBILI-HELPER 我都没查到对应 RPC),希望作者指个路。

发这个 issue 是想让作者确认下方案,避免重复工作。已 fork 了源码在本地准备改。

源码位置

  • src/Ray.BiliBiliTool.DomainService/MangaDomainService.cs#L31-L48MangaRead 方法)
  • src/Ray.BiliBiliTool.Agent/BiliBiliAgent/Interfaces/IMangaApi.cs(仅 3 个端点)

Source: RayWangQvQ/BiliBiliToolPro