feat(perf-data): add WeChat Channels and extend Bilibili adapters#47
feat(perf-data): add WeChat Channels and extend Bilibili adapters#47NEYMAR946 wants to merge 2 commits into
Conversation
Jooonnn
left a comment
There was a problem hiding this comment.
谢谢 @NEYMAR946 这个 PR。wechat-channels adapter 本身是真贡献——架构跟 douyin-session 对齐、Privacy 写得很自觉(不持久化内部用户名 / 签名 URL)、cheat-retro 集成完整。但 PR 现在绑了 3 件事,其中 bilibili 那块比 description 写的影响更大。需要拆 + 澄清后再合。
🔴 1. bilibili-stat 是 rewrite,不是 extension
PR description 说:
"removes mandatory httpx dependency from single-video public retrieval"
读起来像"httpx 变成可选"。但 requirements.txt 的实际改动是:
```diff
-httpx>=0.27
+playwright>=1.44
```
httpx 被直接删掉,crawler.py 改了 ~300 行。这跟 #41 刚合时的 USP 完全相反——#41 的卖点是 "纯 httpx,clone 下来 pip install httpx 就用" (~10MB),比其他 adapter 轻一个数量级。
PR 把这条 lightweight 路径移除而不是保留为可选模式。对只想抓单视频公开数据的用户(B 站 USP 受众),现在要被迫装 Playwright Chromium(~500MB)。
解决路径,二选一:
- A(推荐):把 bilibili 改动从本 PR 剥离,单独开 PR,明确说明 architectural rewrite,让维护方独立 review
- B:保留 bilibili 但真正落实 "httpx 可选"——
requirements.txt同时含 httpx 和 playwright,run.sh 检测,单视频路径继续走 httpx,创作者空间路径走 Playwright。#41的"纯 httpx, pip install httpx" 安装故事必须保留
🟠 2. PR 绑 3 件事,建议拆
当前 PR 同时改:
- NEW wechat-channels adapter(7 文件)
- bilibili-stat rewrite(7 文件,影响 #41 用户)
- xhs-explore 小修(login readiness wait,1 文件)
3 个改动各自的风险面、回滚边界、review 重点都不一样。建议拆:
- PR A:wechat-channels(新增,干净,低风险)
- PR B:bilibili 改造(按上面问题 1 处理)
- PR C:xhs-explore 小修(trivial)
特别是 PR C 跟 #46(已合)改同一个文件 — 拆出来后 rebase 才看得清是 trivial 还是有实质冲突。
🟠 3. wechat-channels 没接 cheat-init Q2.1
skills/cheat-init/SKILL.md Q2.1 "你内容主要在哪个平台" 当前选项是:抖音 / 小红书 / YouTube / B站 / 其他。本 PR 加了 wechat-channels 到 cheat-retro 表,但没加进 Q2.1 平台选项——新用户 init 时看不到"微信视频号"选项。
参考 #41 的范式(同时改 cheat-init Q2.1 + state.enabled_perf_adapters 映射),拆出来的 PR A(wechat-channels)需要补上这个集成。
🟡 4. wechat-channels 的 TOS 信号要再确认
PR description 写:
"avoids persisting internal usernames and signed media URLs"
——意识到了,赞。但 wechat 是封闭生态,TOS 比抖音/小红书更严。建议 wechat-channels README 单开一节"TOS 与风险",明确:
- 用户自己抓自己视频号后台数据(个人用途)是用户与微信间的事,cheat-on-content 不背书
- 不抓他人作品 / 不批量爬取 / 不绕过登录
- 提示用户阅读视频号助手用户协议
跟 douyin-session README 的"TOS 风险"块同范式。
推荐路径
把 PR 拆成 A / B / C 三个,A(wechat-channels)+ C(xhs-explore 小修)我估计能直接合,B(bilibili)按问题 1 单独走 review。要全部 squash 进一个 PR 也行,但 bilibili 那块必须保留 httpx 的轻量路径——回归 #41 的设计意图,不要把 bilibili 变成跟其他 adapter 一样重的实现。
你拍板怎么改。
|
@NEYMAR946 看到 PR 有 force-push(head 移到 `85865ef`)但文件清单和 `bilibili-stat/requirements.txt`(仍是 `httpx → playwright` 一行替换)跟我之前 review 时一模一样——所以前 review 的 4 个关切(bilibili 是 rewrite 不是 extension / 3 件事建议拆 3 个 PR / cheat-init Q2.1 没加微信视频号 / wechat TOS 段建议补)还成立。 是 force-push 只是 rebase 没改 scope,还是打算等 follow-up 一起改?告诉我意向我决定继续等还是 close as won't-address。 特别是 bilibili 那块——希望保留 #41 的"`pip install httpx` 就能用"的轻量路径作为单视频公开数据 fallback。 |
|
感谢贡献!新的 wechat-channels 适配器和 bilibili 扩展整体不错,安全姿态干净(auth 目录已 gitignore,无 secret/cookie/
|
Summary
This contribution adds a WeChat Channels creator adapter and extends the existing Bilibili adapter after end-to-end validation on Windows with NAS-mapped content projects.
WeChat Channels
.auth-wechat-channels/wechat_channelsintegration incheat-retrowith manual fallbackBilibili
httpxdependency from single-video public retrievalrun.shAdditional fix
Validation
py_compilepasses for all changed Python modulesrun.shgeneratedreport.mdend to end on a Windows NAS-mapped path containing Chinese charactersPrivacy and scope
.auth-wechat-channels/and.auth-bilibili/are gitignored