feat(wechat): news002 草稿左上角小图,配图本地化且缺图保留文字卡
Memind CI / Test, build, and release guards (push) Has been cancelled

微信 inline 与静态页 lead-card 统一为左侧缩略图;远程配图下载到当日 public/ 后再上传微信素材。SearXNG 预取与配图 enrichment 链路同步收紧,禁止默认占位小图删卡。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
John
2026-09-22 07:36:20 +08:00
parent 2e436664ce
commit b74ab4ec46
15 changed files with 664 additions and 67 deletions
+10 -7
View File
@@ -60,9 +60,9 @@ prompt 层的「禁止重复」无法验证,所以在落盘后再做一次程
链路:SearXNG `img_src`/`thumbnail` → `normalizeSearchResult()` 透传 `image`/`publishedAt`
→ 预取 brief 里以 `图:{URL}` 单独成行 → Agent 写进 `.card .media > img`。
- 有图:`loading="lazy"` + `referrerpolicy="no-referrer"` + `onerror` 降级为占位
- 无图:`<div class="media ph">{栏目 emoji}</div>`,版式不塌
- 禁止张冠李戴、禁止编造图片地址、禁止整页长图
- 有真实图:必须显示,`loading="lazy"` + `referrerpolicy="no-referrer"`
- 无图:先抓来源页 `og:image` / `twitter:image`;仍没有就不放配图,保留文字卡
- 禁止默认小图凑数、禁止张冠李戴、禁止编造图片地址、禁止整页长图
### 4. 视觉与排版
@@ -99,11 +99,14 @@ CSS 固化在 `NEWS002_STYLE_BLOCK`,直接内嵌进 taskSpec,Agent 照抄即
| 导语 | `.subtitle` | `.lede` |
news002 的卡片图会先上传到微信正文素材接口,再由 inline 渲染器输出微信 CDN 地址。
任一新闻卡缺少真实同源图片、图片上传失败、头条不是 3~4 条、事件卡超过 28 条,
或页面仍混有 news001 DOM,都会由生成/推送闸门阻断,不允许进入草稿箱。
静态页与微信草稿均使用 **左上角 72~92px 小图**(`.card` / `.lead-card` 左侧缩略图),不再用全宽大图。
能拿到真实配图的卡片必须显示并上传;没有真实图就只保留文字卡,不放默认小图。
远程配图会先下载到当日 MindSpace `public/`,改写成本站相对 URL,避免海外图源在国内打不开。
已有配图上传失败、头条不是 3~4 条、事件卡超过 28 条,或页面仍混有 news001 DOM,
才会由生成/推送闸门阻断,不允许进入草稿箱。
真实图片来源按优先级取文章来源的 `og:image:secure_url`、`og:image`、
`twitter:image`;不使用与事件无法核验关系的泛图片搜索结果。
真实图片来源按优先级取 SearXNG 结果里的 `img_src`/`thumbnail`,以及文章来源的
`og:image:secure_url`、`og:image`、`twitter:image`;不使用与事件无法核验关系的泛图片搜索结果。
## 预览与验证