[Bug] 个别视频无法自动下载,手动点视频号页面上注入的“下载”功能正常

Author: dearvccCreated Sep 13, 2026Updated Sep 14, 2026
Labelsbug

提交前确认

下载器版本号

260907

详细描述

大部分视频正常,个别无法下载,报:download service probe failed

终端截图 / 输出

[FRONTEND]loaded
[FRONTEND]before observer .home-header
[FRONTEND ERROR]download service probe failed
[FRONTEND]feed profile callback
[FRONTEND]set_feed
[FRONTEND]create browse history
[FRONTEND]in observer callback
[FRONTEND]before insert_downloader
[FRONTEND]task resp
[FRONTEND]add success handler
[FRONTEND]before subscribe task status change
[FRONTEND]update - check whether the task is completed
[FRONTEND]task created
[FRONTEND]add success handler
[FRONTEND]start download websocket connection
[FRONTEND]download websocket connection opened
[FRONTEND]handle_task_websocket_message
[FRONTEND]apply_task_websocket_record
[FRONTEND]update - check whether the task is completed
[FRONTEND ERROR]download task failed
[GIN] 2026/09/13 - 18:57:56 | 200 |    2.2518058s |       127.0.0.1 | GET      "/ws/channels"

global.js代码:

function wxlog(...args) {
  const parts = args.map(arg => {
    if (typeof arg === 'object' && arg !== null) {
      try {
        return JSON.stringify(arg, null, 2);
      } catch (e) {
        // 处理循环引用
        return String(arg);
      }
    }
    return String(arg);
  });
  WXU.log({ msg: parts.join(' ') });
}
if (WXU.onFetchFeedProfile) {
  const created_tasks = {};
  WXU.onFetchFeedProfile(async (feed) => {
    WXU.log
      .Info()
      .Str("file", "global.js")
      .JSON("feed", feed)
      .Msg("feed profile callback");
    if (!dl$) {
      WXU.log.Error().Str("file", "global.js").Msg("missing dl$ in window");
      return;
    }
    if (!feed.id) {
      WXU.log.Error().Str("file", "global.js").Msg("the feed missing id field");
      return;
    }
    if (created_tasks[feed.id]) {
      WXU.log
        .Info()
        .Str("file", "global.js")
        .Msg("the feed has created in this time");
      return;
    }
    var r = await dl$.create(feed, { platform: "wxchannels", skip: true });
    created_tasks[feed.id] = true;
    if (r.error) {
      WXU.log
        .Error()
        .Str("file", "global.js")
        .Str("error", error.message)
        .Msg("create download task failed");
      return;
    }
    const task$ = r.data;
    WXU.log
      .Info()
      .Str("file", "global.js")
      .Str("id", task$.id)
      .Msg("task created");
    task$.onSuccess(async(task) => {
      WXU.log
        .Info()
        .Str("file", "global.js")
        .JSON("task", task)
        .Str("id", task.id)
        .Str("name", task.name)
        .Str("filepath", task.files[0].file_path)
        .Msg("download task success");
      // wxlog(task)
      const BASE = "http://127.0.0.1:2022";
      let author = "未知作者";
      try {
      const detailResp = await fetch(`${BASE}/api/v1/download_task/detail?id=${task.id}`);
      const detailJson = await detailResp.json();
      const content = detailJson.data?.content;
      author = content?.accounts?.[0]?.nickname || "未知作者";
      } catch (e){
        wxlog(e)
      }
      const vdfile=task["files"][0]["name"]
      const dotPos=vdfile.lastIndexOf(".");
      wxlog(author,':',task.name)
      wxlog('file:',vdfile)
      sig='sig'
      cver=''
      bgm=''
      const formData = {
        author: author,
        tit:task.name,
        file:vdfile,
        sig:sig,
        coverurl:cver,
        bgmurl:bgm,
      };
      const response = await fetch('http://localhost:88/addvd', {
        method: 'POST',
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded'
        },
        body: new URLSearchParams(formData)
      });
      window.close();
    });
    task$.onFailed((error) => {
      WXU.log
        .Error()
        .Str("file", "global.js")
        .JSON("error", error.message)
        .Msg("download task failed");
      window.close();
    });
  });
}

系统代理截图

正常

视频号版本及页面截图

Image

视频号页面地址

https://weixin.qq.com/sph/AEqb5c3KUJ

操作系统

Windows

Source: ltaoo/wx_channels_download