将飞书云文档中的双语结构化内容,一键生成小红书竖版卡片图片 + 长图。
工作流依赖一个 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": "..."}
]
}
若 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 格式出现在行首或编号旁# 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
}
/opt/miniconda3/bin/python \
SKILL-DIR/scripts/merge_long.py \
--input OUTPUT-DIR/ \
--output OUTPUT-DIR/长图.png \
--bg-color FFFFFF
使用 deliver_attachments 工具将长图推送:
deliver_attachments(attachments=["OUTPUT-DIR/长图.png"])
Pillow 有签名校验问题,必须用 /opt/miniconda3/bin/python 执行/System/Library/Fonts/PingFang.ttc 等系统字体,macOS 默认可用共 1 个版本