Skip to content

接入微信视频号(wechat_channels)转录支持 - #66

Merged
zj1123581321 merged 9 commits into
mainfrom
card/wechat-channels
Sep 1, 2026
Merged

接入微信视频号(wechat_channels)转录支持#66
zj1123581321 merged 9 commits into
mainfrom
card/wechat-channels

Conversation

@zj1123581321

Copy link
Copy Markdown
Collaborator

范围

新增微信视频号链接(https://weixin.qq.com/sph/<sph_code>)转录支持,复用 MediaResolverAPI 集成路径(与抖音/小红书共用 MediaResolverDownloader):

  • url_parser.pyPATTERNSextract_platform 新增 wechat_channels(sph 链接非跳转短链,不进 SHORT_URL_DOMAINS)
  • media_resolver.py_SUPPORTED_DOMAINSweixin.qq.com;新增 _prepare_download_headers——仅当下载 URL 的 netloc 与 media_resolver.base_url 一致时携带 X-API-Key(视频号流式端点需要鉴权;第三方 CDN 直链不带,防密钥外泄),403 force_refresh 重下路径同样生效
  • 通知标题、导出文件名平台映射、前端平台标签与文案、sw.js 缓存版本 v4→v5
  • 文档:docs/guides/media_resolver.md 扩为抖音/小红书/视频号,README 同步

配置触点

不新增配置项。启用前提(文档已写明):downloaders.use_media_resolver=true,且 resolver 主机须在 security.download_url_allowlist。视频号无原生下载器兜底,flag off 时链接落 GenericDownloader 失败属预期。

验证证据

  • uv run pytest tests/unit -q 全量绿(exit=0,base 与分支头各跑一遍)
  • 新增测试 base 红验抽查 7 条全部 AssertionError 转红(平台解析、can_handle、条件 header、force_refresh 重下带头)
  • OCR 前置扫描 status=reviewed,3 条 finding 均为测试可维护性意见(P3,记 backlog 不修)
  • 独立 review(cursor,全新会话输入隔离,H0=ea71bf3..dedd376):pass,无 P1;verdict 入库 docs/sessions/260902-wechat-channels/reviews/01-wechat-channels-verdict.md

后续动作

  • 部署后若启用视频号:线上 config.jsoncdownloaders.use_media_resolver=true 并把 resolver 主机加入 security.download_url_allowlist,重启服务
  • 视频号下载经 resolver 流式端点,受上游每进程并发限制(超限 429,重试即可)

Task-Id: VideoTranscriptAPI-20260902-01

zj1123581321 and others added 9 commits September 2, 2026 02:21
Agent-Executor: agy
Agent-Model: gemini-3.7-flash-high
Agent-Effort: unknown
Dispatch-Id: dlg-20260901-181636-fe8dd0
Task-Id: VideoTranscriptAPI-20260902-01
Agent-Executor: agy
Agent-Model: gemini-3.7-flash-high
Agent-Effort: unknown
Dispatch-Id: dlg-20260901-181636-fe8dd0
Task-Id: VideoTranscriptAPI-20260902-01
Agent-Executor: agy
Agent-Model: gemini-3.7-flash-high
Agent-Effort: unknown
Dispatch-Id: dlg-20260901-181636-fe8dd0
Task-Id: VideoTranscriptAPI-20260902-01
Agent-Executor: agy
Agent-Model: gemini-3.7-flash-high
Agent-Effort: unknown
Dispatch-Id: dlg-20260901-181636-fe8dd0
Task-Id: VideoTranscriptAPI-20260902-01
Agent-Executor: agy
Agent-Model: gemini-3.7-flash-high
Agent-Effort: unknown
Dispatch-Id: dlg-20260901-181636-fe8dd0
Task-Id: VideoTranscriptAPI-20260902-01
Agent-Executor: agy
Agent-Model: gemini-3.7-flash-high
Agent-Effort: unknown
Dispatch-Id: dlg-20260901-181636-fe8dd0
Task-Id: VideoTranscriptAPI-20260902-01
Agent-Executor: agy
Agent-Model: gemini-3.7-flash-high
Agent-Effort: unknown
Dispatch-Id: dlg-20260901-183804-7eb055
Task-Id: VideoTranscriptAPI-20260902-01
Co-authored-by: Cursor <cursoragent@cursor.com>
Agent-Executor: cursor
Agent-Model: cursor-grok-4.6-high
Agent-Effort: unknown
Dispatch-Id: dlg-20260901-185312-a93097
Task-Id: VideoTranscriptAPI-20260902-03
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

diff-coverage: no coverage data

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

Required Gate v2 — 状态面板

当前状态:pass · 可合并

当前裁决:code_pass / primary_pass

历史可能不完整:1 个制品处理失败:URLError

Gate 历史(v1;来源为持久化 gate_terminal 制品)

Run Attempt Head 状态 收件人动作
33548134819 1 460ba53 pass 可合并

历史行按 run_id + run_attempt 去重并只增不删;删除本评论后可由 gate_terminal 制品重建。

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

⚙️ Review ledger state(机器状态记录,非评审结论)

这是 review ledger 的机器状态记录,不代表评审结论,通常无需任何操作。

机器状态明细
  • Commit: 460ba53a7352f05a29b6fbc3eccfb38d3d206561
  • Round: 1
  • Status / findings: pass / 4
  • Reviewer: claude-deepseek-v4-pro (failover)
  • Comparison: first_review

完整数据保存在 codex-review-ledger-v2 artifact;此 sticky comment 仅保存 v2 epoch 的跨 rerun 连续游标。

@zj1123581321
zj1123581321 merged commit 210afa6 into main Sep 1, 2026
10 checks passed
@zj1123581321
zj1123581321 deleted the card/wechat-channels branch September 1, 2026 19:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant