# wx_channel 更新日志

## [5.6.9] - 2026-06-19

### 评论导出稳定性修复

- 评论导出改为分段落盘，导出过程中会先写入 `.partial.json` 检查点文件；若在拉取回复或长任务途中被中断，可保留当前进度，避免下次从头开始。
- 导出评论时会临时锁住页面保活脚本的 15 分钟自动刷新，减少长评论列表任务被页面刷新打断的概率。
- 修复“后端已成功导出评论，但前端仍弹出 `获取评论列表失败<Failed to fetch>`”的误报，成功与失败提示现在按真实链路分别展示。
- 评论导出成功提示补充一级评论数、回复数和总条数，便于直接核对导出结果。
- 同步更新版本号、README、版本说明、About 页面和 Windows 文件版本信息，保证发版展示一致。

## [5.6.8] - 2026-06-05

### 分享链接解析与控制台导入

- 修复 `/api/channels/shared_feed/profile` 分享链接详情链路，恢复历史上的 `finderGetCommentDetail` 主流程。
- 新增 `/api/channels/share/resolve` 分享链接解析接口，支持自动、视频号页面、Cookie/Worker 纯后端三种模式。
- Web 控制台批量下载页新增“分享链接下载”入口，可直接解析分享链接并写入下载列表。
- 设置接口补充 `sharedFeedBackendEnabled` 与 `sharedFeedBackendType`，前端可明确提示后端解析是否已配置。
- 补齐分享短链的 `eid` fallback，`get_feed_info` 失败时可直接回退到短链 ID，减少“之前能用，现在不能用”的回归。
- 同步更新版本号、启动横幅、README、版本说明与 Windows 文件版本信息。

## [5.6.7] - 2026-05-29

### 批量下载稳定性修复

- 加固批量下载文件处理流程：下载、解密、校验与最终落盘分阶段完成，减少异常中断后留下损坏成品文件。
- 修复部分批量下载视频无法播放的问题，重点收敛加密视频在解密失败或校验失败时的恢复与清理行为。
- 批量任务的暂停与恢复改为真实调用 Gopeed 任务级 `Pause` / `Continue`，不再用伪暂停状态重建任务。
- 优化批量下载并发场景下的任务状态一致性，降低“界面显示恢复但实际文件链路异常”的概率。
- 同步更新启动横幅、README、版本说明与 Windows 资源版本号，保证运行时和文档版本一致。

## [5.6.6] - 2026-05-26

### 配置回显与命名链路整理

- 下载文件名模板补齐 `{size}` 占位符，并统一批量下载、下载队列、队列转批量下载链路的命名元数据透传。
- `GET /api/settings` / Web 控制台设置页现在明确展示 `downloadFilenameTemplate` 与 `radarEnabled` 的配置回显语义。
- 雷达开关文档统一为“通过 `config.yaml` 中的 `radar_enabled` 显式控制，修改后需重启程序生效”。
- 启动阶段的日志初始化提示改为安全格式化输出，避免日志路径或提示文案中的 `%` 被误当成格式占位符。
- 同步更新 README、配置文档、控制台文档与 API 文档，避免继续出现“控制台即时启停雷达”的过时说明。

## [5.6.5] - 2026-05-15

### 原始视频、评论导出与命名策略更新

- 完善原始视频下载：原始视频下载完善，修复获取不到原始视频链接的问题。
- 优化评论导出：新增评论列表api，支持获取视频评论列表和回复分页。
- 下载命名优化：下载文件名默认不再附带视频 ID，同标题文件自动追加序号避免覆盖。
- 下载命名模板：新增 `download_filename_template` 配置项，支持 `{date} {datetime} {author} {title} {duration} {video_id} {size}`。
- 依赖补充：补充 `SunnyNet v1.0.3` 到项目 `pkg` 模块，便于后续开发和构建。

## [5.6.2] - 2026-04-26

### 文档与交付整理

- 清理已下线的视频号搜索页面相关代码与文档说明。
- 保留 API 搜索能力，不影响控制台和接口侧搜索调用。
- 调整仓库忽略规则，允许 `web/` 目录相关站点资源纳入版本管理。

## [5.6.1] - 2026-03-16

### 补丁修复

- 修复 `Home` 路径下分享直达视频、个人页跳转视频等“详情页模式”被误判为普通首页，导致下载按钮灰色不可用的问题。
- 修复 `Home` 路径下详情页模式点击“采集评论”提示“评论采集功能尚未就绪”的问题，补齐评论采集脚本注入。
- 优化 `Home` 页面直达视频链接识别，兼容 `oid/nid`、`context_id`、`fromSubPage=profile` 等不同 URL 形态。

## [5.6.0] - 2026-03-15

### 重点更新

- 适配微信视频号新版页面结构，重点修复 `Home / Feed / Profile / 赞和收藏(account/like)` 页面。
- 重构本地 WebSocket 与 Hub 设备选择逻辑，解决新版页面下“连上但不可用”导致的搜索和详情调用失败问题。
- 对标雷达默认改为关闭，并改为由 `config.yaml` 中的 `radar_enabled` 显式控制。

### 页面适配与稳定性修复

#### 首页 Home
- 适配新版顶部四标签结构：`直播 / 关注 / 朋友 / 推荐`
- 移除旧版左侧 12 模块相关残留逻辑
- 修复首页刷新卡在“加载中”、首屏空白等问题
- 改为更保守的首页数据同步方式，避免旧版 bundle 重写破坏新版页面初始化
- 首页切换视频后，重新输出当前视频详细信息，行为与 `feed` 页保持一致

#### Feed 页
- 适配新版 `feed` 页面头部与视频切换结构
- 修复切换上下一个视频后，下载仍指向上一条视频的问题
- 修复评论采集入口，支持先自动打开评论侧栏再开始采集
- 评论采集改为兼容新版侧栏 DOM 结构，支持从页面 DOM 直接解析评论与回复
- 优化评论采集进度提示与自动滚动逻辑，优先滚动评论区而非主视频区域
- 修复评论保存文件命名，使其与视频命名风格统一
- 后续版本已退役上述评论采集链路，改为统一的评论列表 API 获取方式

#### Profile / 赞和收藏
- 适配新版 `profile` 页面资料区按钮布局
- 批量下载按钮改为跟随新版原生操作区位置
- 修复 `account/like` 页面空白问题
- 支持“赞和收藏”页面按当前子标签单独显示批量下载内容，不再混合全部数据
- 修复滚动加载更多后批量下载数量不更新的问题

### WebSocket 与 Hub 联动增强

- 本地 `/ws/api` 增加客户端状态上报，包含：
  - 当前页面路径
  - 当前 URL
  - API 是否就绪
  - 支持的方法集合
- Hub 端记录并展示设备能力：
  - 搜索能力
  - 视频列表能力
  - 视频详情能力
  - ready 页面数量
- Hub 搜索、视频列表、视频详情调用改为优先选择真正具备对应能力的设备
- `/api/status` 返回更完整的客户端能力列表，便于排查“已连接但不可用”的问题
- Hub 前端 Dashboard / Search 页面增加能力状态展示，并优化“自动选择设备”逻辑

### 雷达与控制台

- 新增 `radar_enabled` 配置项，默认值为 `false`
- 程序启动时仅在显式启用时启动雷达服务
- 本地 Web 控制台“设置”页展示当前 `radar_enabled` 状态，但不负责持久化修改
- 雷达页面在未开启时明确提示需修改 `config.yaml` 并重启程序

### 兼容性说明

- 为保证新版视频号页面稳定，已停用部分旧版首页 JS 源码重写逻辑
- 新版页面优先采用运行时状态与页面结构识别，不再依赖高风险的旧 bundle 硬编码替换
