飞书文档转小红书简报图片工具
将飞书云文档中的双语结构化内容,一键生成小红书竖版卡片图片 + 长图。
输入数据格式
工作流依赖一个 JSON 数据文件,结构如下:
{
"prefix": "WB日报_2026-05-27",
"header_label": "WB DAILY",
"title": "市场速递",
"subtitle": "Walter Bloomberg 日报",
"date": "2026-05-27",
"date_display": "2026年5月27日 · 北京时间",
"source": "@DeItaone · x.com",
"footer": "Walter Bloomberg 日报 2026-05-27",
"tag": "WALTER BLOOMBERG DAILY",
"style": "bw",
"meta": [
["来源", "@DeItaone on X (Twitter)"],
["时间范围", "2026-05-27 00:08 ~ 21:10"],
["快讯数量", "共 31 条·全部双语对照"],
["覆盖主题", "能源 · 宏观 · 科技 · 地缘政治"]
],
"items": [
{"index": 1, "time": "21:10", "en": "ENGLISH TEXT...", "cn": "中文翻译..."},
{"index": 2, "time": "21:08", "en": "...", "cn": "..."}
]
}
执行流程
Phase 1:获取数据
若 JSON 数据文件已存在,跳过此阶段。若需从飞书文档读取:
LARK_CLI="$HOME/.workbuddy/binaries/node/versions/22.12.0/bin/lark-cli"
# 从 URL 提取 document-id(URL path 最后一段)
"$LARK_CLI" docs +fetch \
--doc "https://my.feishu.cn/docx/DOC-ID" \
--as user --api-version v2
从返回的 HTML/Markdown 内容中解析双语条目,构造符合上述 JSON 格式的数据文件。
解析规则:
- 英文原文与中文翻译成对出现
- 时间通常以
HH:MM格式出现在行首或编号旁 - 按解析顺序编号(index 从 1 开始)
Phase 2:生成图片
# macOS 上用系统 Python(WorkBuddy 内置 Python 有 Pillow 签名问题)
/opt/miniconda3/bin/python \
SKILL-DIR/scripts/gen_xhs_images.py \
--data input.json \
--output OUTPUT-DIR/ \
--items-per-page 15
参数说明:
| 参数 | 必填 | 说明 |
|------|------|------|
| --data | 是 | JSON 数据文件路径 |
| --output | 是 | 输出图片目录 |
| --config | 否 | JSON 样式配置(见下方) |
| --items-per-page | 否 | 每页条目数(默认 15) |
样式方案(通过 style 字段指定):
| 值 | 描述 |
|----|------|
| bw | 极简黑白灰(默认):白底、黑字、浅灰辅助 |
| dark | 深色夜读:深蓝黑渐变 + 金色强调 |
| gold | 轻奢金:白底 + 暗金点缀 |
样式配置 JSON(可选 --config):
{
"style": "bw",
"width": 1080,
"height": 1440,
"margin": 40,
"items_per_page": 15
}
Phase 3:拼接长图
/opt/miniconda3/bin/python \
SKILL-DIR/scripts/merge_long.py \
--input OUTPUT-DIR/ \
--output OUTPUT-DIR/长图.png \
--bg-color FFFFFF
Phase 4:推送到微信
使用 deliver_attachments 工具将长图推送:
deliver_attachments(attachments=["OUTPUT-DIR/长图.png"])
已知限制与踩坑
- Pillow 签名:WorkBuddy 内置 Python 环境
Pillow有签名校验问题,必须用/opt/miniconda3/bin/python执行 - 字体:脚本自动探测
/System/Library/Fonts/PingFang.ttc等系统字体,macOS 默认可用 - 长图尺寸:小红书建议 1080px 宽,高度不限(脚本用纵向拼接)
- 图片总数:封面 + ceil(总条目 / items_per_page) 页内容
- Playwright 截图方案:之前尝试过但 Chromium 下载超时 + Chrome headless 沙盒限制,已废弃
适用场景
- 财经类日报(如 Walter Bloomberg 快讯)
- 双语新闻速递
- 任何"中英对照 + 时间轴"形式的内容排版
- 需要在小红书发布长文内容的场景
Scan to join WeChat group