[Bug] 个别视频无法自动下载,手动点视频号页面上注入的“下载”功能正常
Author: dearvccCreated Sep 13, 2026Updated Sep 14, 2026
Labelsbug
提交前确认
- 我已搜索过现有 Issues/讨论,未发现类似问题
- 我已阅读快速开始指南 https://ltaoo.github.io/wx_channels_download/guide/start.html
下载器版本号
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();
});
});
}系统代理截图
正常
视频号版本及页面截图
视频号页面地址
https://weixin.qq.com/sph/AEqb5c3KUJ
操作系统
Windows
Source: ltaoo/wx_channels_download