╔══════════════════════════════════════════════════════════════╗
║ 百 年 日 报 · 完 整 生 产 线 ║
╚══════════════════════════════════════════════════════════════╝
┌────────────────────────────────────────────────────────────────┐
│ 📥 一、采集(Internet Archive) │
│ │
│ 申报 ──── shenbao-1926.06-{seq} seq=145+(day-1) ~6版 │
│ 时事新报 ── shishi-xinbao-1926.06.22 ~12版 │
│ 香港工商日报 ─ NPKS{YYYYMMDD} ~4版 │
│ │
│ ⚠ 页数探测:curl -sL 测文件大小,>100KB=有效 │
│ 不能靠状态码302或metadata判断 │
└────────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────┐
│ 🖼 二、图片处理(Baidu OCR + 框选) │
│ │
│ ┌─── 主流程 ──────────────────────────────────────┐ │
│ │ python3 baidu_ocr_box.py input.jpg output.jpg [选项] │ │
│ │ 自动缩放→OCR→坐标还原→画暖棕框(139,58,58)+标签 │ │
│ └──────────────────────────────────────────────────┘ │
│ │
│ 框选模式(可混合使用): │
│ ├── --find "关键词" ← 推荐,零误框 │
│ ├── 两步走:--no-draw→--from-coords ← 最稳 │
│ ├── --box X1,Y1,X2,Y2 ← 手动坐标 │
│ ├── --all-blocks ← 全版框 │
│ └── 自动关键词匹配(默认) │
│ │
│ ⚠ 先决条件:/root/.env 有 BAIDU_API_KEY + BAIDU_SECRET_KEY │
│ ⚠ 每次必须先跑Baidu OCR(免费200页),不行再回退vision │
│ ⚠ 不压缩原图质量,仅当超4096px时才等比例缩放 │
│ │
│ 回退方案(OCR不可用时): │
│ ① curl探测有效页 → ② vision_analyze扫描内容 → │
│ ③ PIL手动宽框 → ④ 参考已知页面尺寸(申报3375×4820等) │
└────────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────┐
│ ✍️ 三、写作 │
│ │
│ 标题:百年日报 #XXX | 一句话标题(选最硬的新闻原文) │
│ │
│ 板块结构: │
│ ┌──────────────────────────────────────────────────┐ │
│ │ 时政风云(张季鸾·老报人视角) │ │
│ │ 格式:「」引用原文 │ │
│ │ ——灰色斜体点评 │ │
│ │ 铁律:每报独立配图,敢下判断不煽情 │ │
│ ├──────────────────────────────────────────────────┤ │
│ │ 市井万花筒(老舍·口语俏皮) │ │
│ │ 格式:事件标题(来源报纸) │ │
│ │ ——灰色斜体点评 │ │
│ │ 铁律:句子短,俏皮不贫,只说事不论人是非 │ │
│ ├──────────────────────────────────────────────────┤ │
│ │ 时光广告铺(街坊邻居·口语点评) │ │
│ │ 格式:**报纸名** + 广告原文 │ │
│ │ ——灰色斜体点评 │ │
│ │ 铁律:不从此往回看,不点评真假好坏 │ │
│ └──────────────────────────────────────────────────┘ │
│ │
│ 全文统一格式: │
│ ┌──────────────────────────────────────────────────┐ │
│ │ 【开头】 │ │
│ │ 民国十五年六月二十二日。 │ │
│ │ 北讯传来,皆于今日刊出;南音递至,俱是此刻新编│ │
│ │ 。诸君请看。 │ │
│ │ │ │
│ │ 【正文】时政风云→市井万花筒→时光广告铺 │ │
│ │ │ │
│ │ 【结尾】本期素材(报名·日期·IA来源) │ │
│ │ → 百年日报·本报启事(求关注转发) │ │
│ └──────────────────────────────────────────────────┘ │
│ │
│ 配图铁律: │
│ ├── 时政风云每报各一张配图 │
│ ├── 市井万花筒至少一张 │
│ ├── 时光广告铺至少一张 │
│ ├── 图注写内容不写技术(❌Baidu OCR→✅申报头版) │
│ ├── 路径用绝对路径 │
│ └── 图注格式:描述文字
│
└────────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────┐
│ 🎨 四、封面 + 发布 │
│ │
│ 封面: │
│ ├── 纯报纸头版顶部裁切 │
│ ├── 宽高比 ≈ 2.35:1 → 900×383 │
│ ├── 不加任何文字/色块/标识叠层 │
│ └── JPEG quality 95 │
│ │
│ 发布(wenyan-mcp → 公众号草稿箱): │
│ ├── theme_id="yigujianjin-v2" │
│ ├── ⚠ 用content参数(不要用file,会报handler错误) │
│ ├── ⚠ 不要传app_id │
│ ├── 不要正文#H1(frontmatter已有)和[^n]脚注 │
│ └── 所有图片路径用绝对路径 │
└────────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────┐
│ 🤖 六、Agent 并行写稿工作流(可选) │
│ │
│ 主控(Hermes) │
│ │ │
│ ├── 采集IA → Baidu OCR → vision扫版 → 整理素材 │
│ │ │
│ ├── delegate_task ─┬── Agent A:时政风云 │
│ │ ├── Agent B:市井万花筒 │
│ │ └── Agent C:时光广告铺 │
│ │ │
│ └── 收集稿件 → 按顺序拼接: │
│ ① 开头引导语 │
│ ② ## 时政风云 │
│ ③ ## 市井万花筒 │
│ ④ ## 时光广告铺 │
│ ⑤ ## 本期素材 │
│ ⑥ 百年日报·本报启事 │
│ ⑦ 检查配图路径+图注格式 │
│ ⑧ 发布到草稿箱 │
│ │
│ 已知限制: │
│ ├── 百度OCR免费200页一次性 │
│ ├── 大公报1926不在IA上,需Playwright │
│ ├── 服务器2核1.9G无OpenCV │
│ └── vision_analyze有429限速 │
└────────────────────────────────────────────────────────────────┘