下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/reexin--wechat-business-articles.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @reexin/wechat-business-articles。公众号商业品牌宣传文章生产线(wechat-business-articles)。客户给品牌资料(公司简介 / 活动策划案 / 活动信息 / 现场记录 / 照片 / 产品资料 / 人物资料),AI 自主判定写作方法与结构(不反问客户),直接完成「写作 → 四风格排版 → 封面插图 → 推送草稿箱」全链路。每次生成文章扣 20 点(点数制 pay.reexin.cn)。
阅读全文 (展开查看完整说明)
概述
把「收资料 → 自主定结构 → 写作 → 多风格排版推送」完整链路折叠进一个 skill,对外只暴露一个入口。本文件上半段是「创作链路」(第 1–7 步:收资料、判类型定结构、标题、搭骨架、核验、写正文、价值拉升),下半段是「排版推送能力」(第 8 步,内联四套风格规范全文 + 复用 push_draft.py)。
与 wechat-hotpoint-articles / wechat-reading-articles 的关系:三者是不同产品。本 skill 是商业品牌宣传生产线,资料类型、结构判定、写作铁律、标题公式全部独立重写。仅复用两样东西:① 下半段「四套排版风格规范」(无印良品 / 连线杂志 / 纽约客 / 瑞士国际,规范全文写在本文件下半段,不依赖外部 skill 文件);② push_draft.py 推送能力。其余创作链路(第 1–7 步)均按本文件重写,不照抄热点版或读书版。
推送账号通用:push_draft.py 从本目录 config.json 读 WX_APPID / WX_SECRET,推到用户自己配置的公众号,不写死任何账号名或作者名。
设计原则
- 不问客户写作方法与结构(硬约束):客户把资料给过来,AI 自主判定「资料类型 → 写作结构 → 排版风格 → 钩子 → 贯穿意象」,只汇报判定结果,不反问"你想写成什么"。客户是甲方,不是编辑。
- 文体定位 = 活动纪实型品牌稿:读者读完记住的是一个画面、一句话、一个判断,而不是"某公司举办了某活动"。禁止写成新闻通稿或硬广。
- 严禁编造品牌事实:公司名、成立时间、注册资本、人名职务、产品数据、客户案例,全部来自客户资料或公开检索交叉验证(见第五步)。客户资料里没有的数字,一律不写。
- 四套排版规范的唯一来源 = 本文件下半段。排版时严格按所选风格章节执行,不引用外部 skill 文件。
- 付费门已启用:本技能为收费版,走自建
credits_server(pay.reexin.cn 点数制),每次生成文章扣 20 点。触发后先自检 API Key → 扣点确认 → 跑第 1–8 步 → 失败退点。 - 弹问卡极简制(硬约束):本 skill 不弹"方法类"问卡(不问角度、不问结构、不问风格)。全过程仅两次交互:
- 扣点确认(付费门硬性要求,必须等用户说"继续"才扣)
- 标题候选选择(第 3 步出 3–5 个标题,请用户挑一个;用户不挑则 AI 定首选)
- 封面 / 插图 / 是否推送 全部自动判定,不弹卡(config.json 有 WX 凭证就推,没有就只导出并提示)
付费门(已启用)
⚠️ 状态:付费底座
credits_server(https://pay.reexin.cn)已上线,本技能为收费版,每次生成文章扣 20 点。触发即走付费门:自检 API Key → 扣点确认 → 第 1–8 步 → 失败退点。本门机制与wechat-hotpoint-articles完全一致,仅skill_slug改为wechat-business-articles。
本技能走自建 credits_server(pay.reexin.cn 点数制),非 SkillHub X402。标准架构(落在本技能目录):
config.json:API_KEY(必填,去 https://pay.reexin.cn/recharge 获取——PC 浏览器直接打开即可游客扫码充值,支付成功后自动生成账号与 API Key;微信内打开走 JSAPI 支付体验更佳)+SERVER_URL(默认 https://pay.reexin.cn)+WX_APPID/WX_SECRET(可选,配了才推草稿箱)scripts/credits_sdk.py:点数平台客户端(consume / refund / balance),from_config()自动向上找 3 层父目录读 config.json,仅用标准库、零依赖。内部提供ConsumeSession(一次创作任务 = 一个会话,固定client_request_id,重试复用防二次扣点)scripts/check_payment.py:技能执行前扣点。内部用ConsumeSession(skill="wechat-business-articles"),成功往 stdout 打印{"invocation_id":..., "client_request_id":..., "balance_after":...}后退出 0;不传 points(服务端按 skill 配置定)。Key 无效sys.exit(3)、点数不足sys.exit(4)、其他异常sys.exit(1)scripts/refund_payment.py <invocation_id>:生成失败时退点,成功退出 0;自身失败退出 5- 当前定价:wechat-business-articles = 20 点/次(固定,服务端 skills 表配置)。三档套餐:体验包 200 点 ¥1.9(原价¥3.9)/ 标准包 1000 点 ¥9.9(原价¥19.9)/ 超值包 4000 点 ¥19.9(原价¥39.9)。
执行顺序(agent 必须照做):
- 启动自检:读 config.json 的 API_KEY。无 Key / Key 失效 → 停下引导获取,绝不继续。
- 扣点确认:先告知本次扣 20 点 + 当前余额 + 扣后余额,等用户确认(说"继续/可以")才跑
python scripts/check_payment.py。 - 退出码非 0(3/4/1)→ 立刻停下,按退出码话术表告知用户,引导去 https://pay.reexin.cn/recharge。绝不绕过、绝不免费跑后续步骤。
- 扣点成功(退出 0),才跑第 1–8 步创作链路。
- 第 1–8 步任何环节失败 → 跑
python scripts/refund_payment.py <invocation_id>退点,并明确告知用户。
一、启动自检(技能触发第一动作)
| 情况 | agent 动作 | 话术 |
|---|---|---|
| 有 Key | 静默通过,进扣点确认 | (不说话) |
| 无 Key | 停下引导获取 | "检测到尚未配置 API Key。打开 https://pay.reexin.cn/recharge 充值(PC 浏览器直接扫码,无需登录),支付成功后页面会显示你的 API Key。复制后告诉我,我帮你写入配置。" |
| Key 失效 | 停下引导重取 | "你的 API Key 已失效。请前往 https://pay.reexin.cn/recharge 重新获取,或登录后到个人中心查看。" |
余额不足由扣点时的退出码 4 体现,无需提前查;收到 4 后说:"当前点数不足,余额 XX 点,需要 20 点。前往充值:https://pay.reexin.cn/recharge"。不要报 HTTP 状态码等技术细节。
二、执行前扣点确认(扣点前必须做)
"本次任务预计扣 20 点。当前余额 XX 点,扣完后剩余 XX 点。确认后我开始执行。"
- 用户说"继续 / 对 / 可以" → 跑
check_payment.py - 用户说"等一下 / 先不要" → 停下
扣点成功:"✅ 扣点成功,余额 XX 点。开始为你生产商业品牌宣传文章。"退出码 1(网络异常)可重试(ConsumeSession 复用 client_request_id,不会二次扣点),重试 2 次仍失败才告知用户。
三、进度反馈(每步都有,不静默)
各步开始 / 结束时各说一句;检索超 15 秒无动静,中间补一句"还在检索,稍等…"。
四、失败返点明确告知
创作失败时:① 先说"本次创作未能完成,正在为你退还 20 点。" ② 跑 refund_payment.py <invocation_id> ③ 成功:"✅ 20 点已退回,当前余额 XX 点。你可以重新发起。" ④ 退点脚本自身失败(退出码 5):"退点遇到技术问题。请记录本次任务 ID:XX,联系客服手动处理。"不要静默退点,也不要重复跑 refund。
五、首次使用声明(偏差声明前置)
"首次使用说明:
- 每次生成文章扣 20 点(约 0.2 元/篇)
- 点数长期有效,充值后自动到账
- 品牌事实来自你给的资料 + 公开信息交叉核验,不编造数据
- 支持四套排版风格:无印良品 / 连线杂志 / 纽约客 / 瑞士国际
- 可直接推送到你的公众号草稿箱
确认后我开始执行。"
六、退出码完整话术表(agent 必须按表回应)
| 脚本 | 退出码 | 含义 | agent 话术 | 是否重试 |
|---|---|---|---|---|
| check_payment.py | 0 | 扣点成功 | "✅ 扣点成功,余额 XX 点。开始执行。" | 否 |
| check_payment.py | 3 | Key 无效 | "API Key 无效,前往 https://pay.reexin.cn/recharge 获取。" | 否 |
| check_payment.py | 4 | 余额不足 | "点数不足,余额 XX 点,需 20 点。前往充值:https://pay.reexin.cn/recharge" | 否 |
| check_payment.py | 1 | 网络异常 | "网络波动,正在重试(不会重复扣点)…" | 重试 2 次 |
| refund_payment.py | 0 | 退点成功 | "✅ 20 点已退回,余额 XX 点。可重新发起。" | 否 |
| refund_payment.py | 5 | 退点失败 | "退点异常,请联系客服。任务 ID:XX" | 否,不重复退 |
| 创作主脚本 | 5 | 创作失败 | "本次创作未能完成,正在退点…" | 触发退点 |
机制要点(TW 审查已固化,agent 只需正确调用,无需改代码):
- 防并发:服务端
BEGIN IMMEDIATE(悲观锁)+UPDATE ... WHERE points_balance >= ?(条件更新)两层保护 - 幂等防重复扣(P0 修复点):服务端按
client_request_id(UNIQUE) 查重返回原结果;ConsumeSession重试时复用同一client_request_id,绝不因网络超时重试而二次扣点 - 微信支付回调验签:签名头 RSA-SHA256 + 5 分钟时间窗防重放 + AES-GCM(APIv3) 解密
依赖:credits_sdk.py 仅用标准库(urllib),无需 pip install。
标准工作流(8 步,唯一主链路)
| 步 | 环节 | 关键动作 | 进度反馈 | 产物 |
|---|---|---|---|---|
| 1 | 收资料 | 客户给什么收什么(公司简介/策划案/活动信息/现场记录/照片/产品/人物),AI 结构化提取。不反问"你要写什么类型" | 开始:「正在接收并结构化资料…」结束:「资料已解析,正在判定写法。」 | 结构化资料包 |
| 2 | 判类型定结构(自主) | 按资料类型自动映射结构与排版风格,定钩子 + 贯穿意象。汇报判定结果,不等确认 | 开始:「正在判定写作结构…」结束:「判定完成:XX 型结构 + XX 风格,开始出标题。」 | 结构 + 风格 + 钩子 + 意象 |
| 3 | 标题生成 | 按商业稿标题公式出 3–5 个候选,请用户挑(用户不挑则 AI 定首选) | 开始:「正在生成候选标题…」结束:「出了 N 个标题,挑一个或我直接定首选。」 | 候选标题集 |
| 4 | 搭骨架 | 按「9 段黄金结构」落骨架,标出每段素材缺口 | 开始:「正在搭建文章骨架…」结束:「骨架已成型,开始核验素材。」 | 文章骨架 |
| 5 | 素材核验 | 品牌事实全部回到客户资料核对;缺失公开信息用 WebSearch ≥2 源交叉验证;资料里没有的数字不写 | 开始:「正在核验品牌信息…」结束:「素材已核实,开始写正文。」 | 已核验素材库 |
| 6 | 写正文 | 按 10 条写作铁律 + 层次模块要求,写成全内联 style HTML,标出配图位 | 开始:「正在按 XX 风格写正文…」结束:「正文初稿完成。」 | 排版前正文 HTML |
| 7 | 价值拉升 | 从本次活动/产品 → 品牌信念 / 行业判断,落到一句可传播的话 | 开始:「正在打磨价值拉升…」结束:「全文定稿,准备排版。」 | 定稿正文 |
| 8 | 排版推送 | 复用本文件下半段:按风格排版 → 封面 → 配图卡 → 调 push_draft.py 推草稿箱(无凭证则仅导出) | 开始:「正在按 XX 风格排版…」结束:「排版完成,准备推送/导出。」 | 排版 HTML + MD + media_id |
第一步:收资料(不反问类型)
客户提供的资料,全部接收,AI 自己结构化。唯一要客户做的是"把资料给过来"。
常见资料形态与提取要点:
| 客户给的 | 提取要点 |
|---|---|
| 公司简介 / 招商手册 | 成立时间、所在地、注册资本、业务板块、里程碑、荣誉资质、核心人物 |
| 活动策划案 / 活动信息 | 时间、地点、主题、主办/协办方、议程、嘉宾与职务、人数规模 |
| 现场记录 / 速记 / 录音转写 | 先后顺序、关键发言原话、现场细节(动作/对话/氛围)、授牌签约等实体动作 |
| 照片 / 图片说明 | 场景、人数、可确认的人物与动作(用于插图与配图卡) |
| 产品 / 服务资料 | 解决什么问题、核心功能、参数数据、案例客户、价格/合作方式 |
| 人物资料 / 访谈 | 关键选择、转折点、原话、当下身份 |
铁律:客户资料里的原话优先保留(尤其致辞金句),这是文章里最有价值的部分。
第二步:判类型定结构(自主判定,不问客户)
资料类型 → 结构自动映射
| 客户给的资料 | 判定 | 采用结构 |
|---|---|---|
| 活动信息 + 现场记录 / 照片 / 发言 | 活动纪实型 | 9 段黄金结构(见第四步) |
| 公司简介 / 品牌介绍 / 招商手册 | 品牌叙事型 | 创始人初心 → 关键转折 → 今天的能力盘 → 为什么值得信任 → 行动号召 |
| 产品 / 服务发布资料 | 问题-方案-证据型 | 行业真问题 → 我们的解法 → 数据/案例证据 → 怎么开始 |
| 人物资料 / 企业家故事 / 访谈 | 人物特写型 | 一个反常细节切入 → 关键选择 → 至暗时刻 → 他的判断 → 金句 |
| 资料混杂 | 按主目标选:有活动写活动,有产品写产品,只有简介写品牌叙事 | 主结构 + 局部嵌套 |
判定优先级:现场记录 > 人物 > 产品 > 公司简介(信息越具体,优先级越高)。
排版风格自动选型
| 稿件气质 | 选风格 |
|---|---|
| 观点、方法、商业判断 | 瑞士国际 swiss(商业稿默认首选) |
| 科技、AI、数字化、数据密集 | 连线杂志 wired |
| 人物、深度长文、强故事线 | 纽约客 newyorker |
| 生活方式、温度感、慢节奏品牌 | 无印良品 muji |
版本判定
同一场活动存在两种写法,默认只出深度版:
| 通稿版(品牌官方) | 深度版(传播主推,默认) | |
|---|---|---|
| 用途 | 官网、协会转发、领导审阅 | 公众号推送、朋友圈传播 |
| 开场 | "近日,XX 联合 XX 主办…" | "8月28日下午,顺义区聚源西路18号…" |
| 人称 | 全程第三人称 | 允许"我们",有现场对话 |
| 结构 | 规整分块 ONE/TWO/THREE | 场景流:钩子→痛点→内容→升华 |
| 语言 | 书面、对称、四字词组 | 短句、口语、有停顿 |
| 结尾 | 落款:责编/校对/审核/内容来源 | 金句 + 评论区互动钩子 + 下期预告 |
仅当客户明确说"要官方通稿 / 要发协会 / 要给领导看",才加出通稿版。
输出(汇报,不等确认)
"资料判定:活动纪实型(有现场记录 + 发言)
采用:9 段黄金结构 · 深度版
排版:瑞士国际
钩子:他们不是来谈增长的,是来学"停下来"的
贯穿意象:一株迷迭香
现在出标题。"
第三步:标题生成(商业稿公式,3–5 候选)
| 公式 | 结构 | 示例 |
|---|---|---|
| 场景 + 反常识 | 具体场景,反转预期 | 「8月28日下午,15个老板坐在烛光里,学的不是增长,是怎么停下来」 |
| 数字 + 解法 | N 个解法/场景 | 「一场不谈生意的沙龙,拆出 3 个让老板停下来的解法」 |
| 悬念 + 地名/物 | 具象物作题眼 | 「水上破冰:16位企业家脱下西装后发生的事」 |
| 金句式 | 一句判断 | 「留白,不是偷懒,是给判断留一个缝隙」 |
| 身份代入 | 戳中读者处境 | 「如果你的日程也排满了,这株迷迭香值得看看」 |
标题自检:① 有具体信息(时间/地点/人数/物)?② 有反差或悬念?③ 不出现"成功举办""圆满落幕"?④ 20 字以内有钩子?
第四步:搭骨架(9 段黄金结构 · 活动纪实型)
| 段 | 作用 | 写法要点 |
|---|---|---|
| 1 场景钩子 | 3 秒抓住人 | 精确日期 + 地址 + 人数 + 一个反常识动作 |
| 2 反差定调 | 制造悬念 | "他们不是来 X 的,是来 Y 的" |
| 3 主办与场地 | 品牌背书 | 主办/协办 + 场地意象(写气质,不写地址) |
| 4 致辞引语 | 植入品牌理念 | 2–3 位嘉宾,每人一句直接引语 |
| 5 痛点共识 | 拉读者进来 | "先说个扎心的现实",列 3–4 条具体困境 |
| 6 核心内容 | 交付干货 | 数字清单化:3 个解法 / 13 个场景,每条一个名字 + 一句话 |
| 7 金句升华 | 拔高立意 | 引权威(德鲁克等)或自创对仗金句 |
| 8 价值拉升 | 从活动到行业判断 | 这一场 → 品牌为什么这么做 → 行业结论 |
| 9 亮点 + 收尾 | 收口 | 2 个现场亮点(授牌/签约/对接)+ 金句 + 评论区钩子 + 下期预告 |
其他结构骨架(按第二步映射选用):
- 品牌叙事型:创始人初心(一句话困境)→ 关键转折(做对了什么)→ 今天的能力盘(数字化列举)→ 为什么值得信任(资质/案例/客户原话)→ 行动号召
- 问题-方案-证据型:行业真问题(具体场景,不说空话)→ 我们的解法(分点)→ 数据与案例证据 → 怎么开始(联系/试用)
- 人物特写型:一个反常细节切入 → 关键选择 → 至暗时刻 → 他的判断 → 金句收尾
第五步:素材核验(不编造)
- 品牌事实优先用客户资料:公司名、成立时间、注册资本、人名与职务、产品数据、案例客户——客户资料里有就用客户的。
- 缺失的公开信息用 WebSearch 核验,≥2 个独立来源一致才写入(官网、协会通稿、媒体报道)。
- 红线:客户资料里没有的数字不编;"据说""网传"要标注,不写成确证事实;嘉宾引语必须是资料里有的原话,不代写。
- 缺口处理:骨架某段确实没素材 → 在正文里删掉该段或换成有依据的内容,不用空话填充。
第六步:写正文(10 条铁律 + 层次模块)
10 条写作铁律
- 开头必须具体:日期、地址、人数、一个动作。禁用"近日""圆满举办""成功召开"。
- 反常识是钩子核心:找这场活动里"最不像它自己"的那个点,放开头。
- 品牌靠引语植入,不靠形容词:写"他说了什么",不写"他高度评价"。
- 数字化清单:内容部分必须能数出来(3 个解法、13 个场景、5 步走)。
- 一物贯穿:找一个实物当意象贯穿全文(迷迭香 / 赛艇桨 / 一件样衣),让抽象主题变具体。
- 短句优先:一段 3–5 行,长句拆短。禁用破折号,只用逗号句号断句。
- 禁用空话词:圆满成功、高度评价、纷纷表示、进一步提升、助力赋能、深度赋能、携手共赢(除非是直接引语)。
- 现场要有对话:至少 2 处真实感对话。
- 金句必须有:全文至少 3 处可截图转发的句子,分布在开头、中段、结尾。
- 结尾双动作:互动钩子(评论区提问)+ 下期预告 / 联系方式。
层次与配图(治"排版太素")
- 必上模块中至少用 3 类:引言块 / 数字清单块 / 金句块 / 嘉宾引语块 / 配图卡。
- 配图位:每 800–1200 字一个,用卡片式配图卡在文中标出(含图注 + 建议画面)。
- 交付时列出配图清单:位置序号、建议画面、图注文案。
输出
写成全内联 style 的 HTML(公众号会过滤 class 与外部 css),严格遵守所选风格章节的输出格式要求。
第七步:价值拉升
把这一场活动 / 这个产品,抬到一个可传播的判断上。
- 做法:从具体事件抽出一个行业级结论或品牌信念。例:从"迷迭香沙龙" → "生意的本质,是人与人的信任"。
- 禁空话套话:不写"未来将继续深耕""助力行业高质量发展"这类无信息量的句子。
- 必须留一句可截图的话:对仗、有反差、能独立成立。
- 收尾双动作:评论区互动钩子 + 下期预告或联系方式。
第八步:排版推送能力(内联 mparticle-mulstyle-pline)
本步不重造排版,直接复用本文件下半段「四套风格规范」+ 本目录 push_draft.py。
8.1 封面 / 插图(自动判定,不弹卡)
本 skill 不弹图片问卡,按下面规则自动处理,处理完向用户汇报一句即可。
封面(草稿箱必填,无法省略)——按序兜底:
- 客户资料里有现场 / 产品照片 → 取该图裁成 2.35:1(1536×654) 作封面
- 没有照片 → 按所选风格配色自动生成(ImageGen)
- 生成不可用 → 该风格底色纯色图兜底(仍满足草稿箱必填封面)
正文插图
- 客户提供了照片 → 直接标位用真图。⚠️ 提醒:本地 / 外链图草稿箱不显示,只认
mmbiz.qpic.cn图链,需在公众号后台手动上传替换 - 无照片 → 每 800–1200 字插一个卡片式配图卡(标位 + 建议画面 + 图注文案),交付时列出配图清单(位置序号 / 建议画面 / 图注)
- 插图位置在第 6 步写正文时已标好,此处只做核对,不重复决策
推送判定
config.json有WX_APPID/WX_SECRET→ 直接推草稿箱- 无凭证 → 仅导出 HTML + Markdown,并提示"补凭证后可重推,不重复扣点"
8.2 风格注册表(新增风格在此加行)
| key | 显示名 | 章节 | 适合内容 |
|---|---|---|---|
| muji | 无印良品 | 「风格一:无印良品」 | 生活/读书/人文 |
| wired | 连线杂志 | 「风格二:连线杂志」 | 科技/AI/数码/行业分析 |
| newyorker | 纽约客 | 「风格三:纽约客」 | 人物/深度长文/叙事 |
| swiss | 瑞士国际 | 「风格四:瑞士国际」 | 观点/评论/方法论 |
8.2.1 排版铁律(必须执行,不可绕过)
- 文章标题严禁进正文:文章标题只进草稿箱
title字段(推送时由push_draft.py --title传入),正文(body)里不得出现文章标题——任何<h1>级别的标题文字都不要写进 body,正文从首段或首个二级标题开始。各风格「段落模板」里的<h1>一级标题</h1>一律删除,只保留二级及以下标题。 - 正文标题序号与文字间距 4px:所有风格里"标题序号"(如
010203这类章节 / 段落序号)与后续文字之间,统一用margin-right:4px,禁用全角空格、禁用其他大间距。连线杂志(wired)风格原用全角空格,已改为margin-right:4px(见其序号模板);其余风格同步按下表执行。 - 层次分明(治太素,必做):每篇文章正文必须结构清楚、有节奏,禁止"一段接一段纯文字"。四套风格各自手法:瑞士用导语卡+数据卡+分隔线+金句块+配图卡;连线用信息卡片+标签;纽约客用引文块+配图卡;无印用浅米底区块+配图卡。共性要求:① 顶部有导语 / 点题块,不平铺直叙开头;② 小标题带序号做章节锚点;③ 关键数字 / 观点做成突出块;④ 正文 2–3 处插配图卡(📷 此处配图:XXX,见 8.4);⑤ 章节间有分隔线制造呼吸。模块要轻、不破坏各风格调性。
8.3 四套风格规范(全量)
风格一:无印良品(key: muji · 生活/读书/人文/品牌调性)
把任意一篇公众号文章,排成无印良品那种安静、自然、留白充分的样子。
核心规范(四条,先看这个)
暖色、低饱和、弱对比、少装饰。
不是"加了什么"变高级,而是"拿掉了什么"。执行时始终记住:颜色收进三类、字号收进四级、装饰收进三条,剩下的高级感交给留白。
一、字号与排布
| 层级 | 字号 | 字重 | 用途 |
|---|---|---|---|
| 一级小标题 | 20px | 加粗 | 大段落分段 |
| 二级小标题 | 18px | 加粗 | 段落内小节 |
| 正文 | 16px | 常规 | 主体内容 |
| 辅助文字 | 14px | 常规 | 图片说明、资料来源 |
- 行距:1.8 – 1.85(正文取 1.82)
- 字间距:0 – 0.5px(取 0.5px)
- 页边距:左右各 8px
- 对齐:正文、小标题、图片说明全部左对齐,不来回切居中
- 段落:每段 2 – 4 行,段间距 24 – 28px,段与段之间留明显空白
二、配色(全文只留三类颜色)
| 角色 | 色值 | 用法 |
|---|---|---|
| 软深灰(正文色) | #3D3A36 | 正文、小标题。禁止纯黑 |
| 浅灰(辅助色) | #8C867F | 辅助文字、图注、资料来源 |
| 低饱和暗红(强调色) | #A6554E | 仅用于:序号、关键词、极小装饰元素 |
| 背景 | #FBFAF7(极浅米白)或纯白 | 避免冷灰 |
| 分区底 | #F5F2EC | 需要区分一块内容时用 |
| 细边框 | #E8E4DE | 1px 浅灰边框 |
禁忌:全文不出现鲜艳的红、蓝、黄;强调色不大面积铺陈,一篇文章出现不超过 5 – 8 处。
三、装饰规则
- 圆角:直角或 0 – 4px。禁止 15 – 20px 大圆角
- 阴影:全部去掉,不用 box-shadow
- 区分内容:很浅的米色底
#F5F2EC,或 1px 浅灰边框#E8E4DE - 强调方式:只加粗。禁止同时对同一处内容"放大 + 变色 + 加底纹"
- 分割线:用 1px 浅灰细线即可,不用花式分隔符
四、弱对比
无印良品不是没有层级,而是不把层级做得夸张。标题比正文明显即可,不出现突然一个超大黑体标题把页面压重。
输出格式要求(公众号兼容)
公众号会过滤外部样式表和 class 选择器,所有样式必须写成内联 style。
- 用
<section>+<p>结构,不用<div>堆叠 - 每段一个
<p>,段间距用margin控制 - 表格用
<table>+ 内联样式,1px 浅灰边框 - 图片
width:100%,圆角 0 – 4px,下方配 14px 浅灰图注 - 不用
<style>标签、不用 script、不用外部链接的 css/js
段落模板
<section style="font-size:16px;color:#3D3A36;line-height:1.82;letter-spacing:0.5px;padding:0 8px;">
<p style="margin:0 0 26px 0;">正文段落,控制在两到四行。段与段之间留出明显空白。</p>
<p style="margin:0 0 26px 0;">下一段。<strong style="font-weight:600;">重点内容只加粗</strong>,不叠加放大变色。</p>
<h2 style="font-size:20px;font-weight:700;color:#3D3A36;margin:38px 0 18px 0;line-height:1.5;">一级小标题</h2>
<p style="margin:0 0 26px 0;">标题下的正文。</p>
<h3 style="font-size:18px;font-weight:700;color:#3D3A36;margin:30px 0 16px 0;line-height:1.5;">二级小标题</h3>
<p style="margin:0 0 26px 0;">正文。</p>
<p style="font-size:14px;color:#8C867F;margin:0 0 26px 0;line-height:1.7;">图片说明或资料来源,用浅灰 14 号。</p>
</section>分区块模板(浅米底 + 小圆角,无阴影)
<section style="background:#F5F2EC;border-radius:4px;padding:22px 20px;margin:0 0 28px 0;">
<p style="font-size:16px;color:#3D3A36;line-height:1.82;letter-spacing:0.5px;margin:0;">区块内文字。</p>
</section>关键词强调(唯一允许的彩色)
<span style="color:#A6554E;">关键词</span>发布前自查清单
- [ ] 正文不是纯黑,是暖深灰
#3D3A36 - [ ] 全文无鲜艳红 / 蓝 / 黄
- [ ] 强调色
#A6554E只出现在序号、关键词、小装饰,且不超过 8 处 - [ ] 字号只有 20 / 18 / 16 / 14 四档
- [ ] 重点只加粗,无叠加放大、变色、底纹
- [ ] 圆角 ≤ 4px,全文无阴影
- [ ] 所有文字左对齐,无居中左对齐来回切换
- [ ] 每段 2 – 4 行,段间距 24px 以上
- [ ] 样式全部内联,无
<style>、无 script、无外链
风格二:连线杂志(key: wired · 科技/AI/数码/行业分析)
把科技、AI、数码、行业分析类文章,排成信息清晰、层级硬朗、有专业感的样子。
核心规范
三个参数打底,一种亮色点睛,重点做成卡片。
这套风格是为"信息量大"服务的:把参数收紧、把层级拉开、把颜色砍到只剩一种亮色。不是加装饰,是加秩序。
一、三个基础参数
| 参数 | 值 |
|---|---|
| 正文字号 | 16px |
| 行距 | 1.75 |
| 段后间距 | 16px |
| 每段行数 | 3 – 5 行 |
| 左右边距 | 6px |
科技文章信息量大,正文不能太小,16 号是下限;段落切短,阅读压力才小。段后 16px 比无印良品风的 24–28px 明显更紧,这是刻意的:科技内容要信息流速,不要呼吸感。
二、标题层级(必须拉开,这是这套风格的骨架)
| 层级 | 字号 | 字重 |
|---|---|---|
| 一级标题 | 24 – 26px | 加粗 |
| 二级标题 | 20px | 加粗 |
| 正文 | 16px | 常规 |
| 图注 / 资料来源 | 13 – 14px | 常规 |
一级标题与正文差 8 – 10 号,这个跨度就是"扫一眼知道重点"的物理基础。
三、配色:黑白灰打底 + 一种高饱和强调色
| 角色 | 色值 | 用法 |
|---|---|---|
| 主色(正文 / 标题) | #1A1A1A | 近黑,硬朗 |
| 辅助灰 | #767676 | 图注、资料来源、次要信息 |
| 强调色(默认) | #00C853 荧光绿 | 序号、标签、关键词 |
| 强调色候选 | 电光蓝 #0A5CFF / 亮橙 #FF6A00 | 用户指定时替换 |
| 卡片底 | #F4F4F4 | 信息卡片背景 |
| 卡片边框 | #E0E0E0(1px) | 信息卡片细边框 |
| 背景 | #FFFFFF | 纯白,不用米白 |
铁律:全篇只用一种强调色。
荧光绿 #00C853 使用注意
- 适合:序号(加粗 16–18 号)、标签(绿底白字)、大字号短语、分割元素
- 不适合:正文中细小的关键词——对比度偏低,小字会发虚
- 正文内强调单个词,改用深一档的绿
#00913D,或加粗后再上色 - 做标签时用绿底白字,不要用绿字白底
四、信息卡片(最实用的一招)
数据、引用、关键结论,单独做成卡片:
<section style="background:#F4F4F4;border:1px solid #E0E0E0;padding:20px;margin:0 0 16px 0;">
<p style="font-size:16px;color:#1A1A1A;line-height:1.75;margin:0;">数据、引用、关键结论放这里。</p>
</section>浅灰底 #F4F4F4 + 1px 细边框 #E0E0E0 + 内边距 18 – 20px,卡片内文字仍是 16 号。不要大圆角、不要阴影。
五、输出格式要求(公众号兼容)
- 用
<section>+<p>结构 - 每段一个
<p>,段后用margin:0 0 16px 0 - 表格用
<table>+ 内联样式,1px#E0E0E0边框,表头浅灰底 - 图片
width:100%,下方配 13 – 14px#767676图注 - 不用
<style>、不用 script、不用外链
段落模板
<section style="font-size:16px;color:#1A1A1A;line-height:1.75;letter-spacing:0.2px;padding:0 18px;">
<p style="margin:0 0 16px 0;">正文段落,控制在三到五行。段后固定 16 像素。(文章标题只进草稿箱 title 字段,不写进正文)</p>
<h2 style="font-size:20px;font-weight:700;color:#1A1A1A;margin:28px 0 16px 0;line-height:1.4;">二级标题 20</h2>
<p style="margin:0 0 16px 0;">正文。关键词用 <span style="color:#00C853;font-weight:700;">荧光绿加粗</span> 强调,全文不超过 8 处。</p>
<p style="font-size:13px;color:#767676;margin:0 0 16px 0;line-height:1.6;">图注或资料来源,浅灰 13 号。</p>
</section>序号模板(荧光绿最典型的用法)
<h2 style="font-size:20px;font-weight:700;color:#1A1A1A;margin:28px 0 16px 0;line-height:1.4;">
<span style="color:#00C853;margin-right:4px;">01</span>标题文字
</h2>标签模板(绿底白字)
<span style="display:inline-block;background:#00C853;color:#FFFFFF;font-size:13px;padding:3px 8px;line-height:1.4;">标签</span>发布前自查清单
- [ ] 正文 16,行距 1.75,段后 16px,全篇统一
- [ ] 每段 3 – 5 行
- [ ] 一级标题 24–26,二级 20,与正文层级明显拉开
- [ ] 全文只有一种高饱和强调色(默认荧光绿 #00C853)
- [ ] 强调色只出现在序号、标签、关键词,不超过 8 处
- [ ] 数据 / 引用 / 关键结论已单独做成信息卡片
- [ ] 卡片浅灰底 + 1px 细边框 + 内边距,无大圆角、无阴影
- [ ] 样式全部内联,无
<style>、无 script、无外链
风格三:纽约客(key: newyorker · 人物/深度长文/叙事)
把人物、深度长文、叙事类内容,排出可读、有气质、能一路读下去的杂志感。
核心规范
大标题、长段落、强插图。
这是目前四套排版里唯一一套"反碎片化"的:段落要长,观点要讲完,让读者顺着读下去。它对内容有要求,没有叙事的干货文撑不起这套排版。
一、三个基础参数
| 参数 | 值 |
|---|---|
| 正文字号 | 16px |
| 行距 | 1.7 – 1.8 |
| 字间距 | 0 – 0.5px |
| 每段行数 | 3 – 5 行 |
| 两端留白 | 左右各 5px |
| 段落意图 | 观点完整讲完再分段,不要为了短而硬切 |
二、标题层级(骨架在"大"字上)
| 层级 | 字号 | 字重 |
|---|---|---|
| 大标题 | 24 – 28px | 加粗 |
| 小标题 | 20px | 加粗 |
| 重点内容 | 18px | 加粗(砖红,句/短语级嵌正文) |
| 正文 | 16px | 常规 |
| 图注 | 13 – 14px | 常规 |
三、配色:白或暖白作底,深色正文,只留一种强调色
| 角色 | 色值 | 用法 |
|---|---|---|
| 正文 / 标题 | #23201C | 深色,禁纯黑 |
| 背景 | #FDFCF9 暖白(或 #FFFFFF) | 不用冷灰底 |
| 强调色(默认) | #B23A2B 砖红 | 大标题、小标题序号、少量关键词 |
| 辅助灰 | #857F76 | 图注 |
| 引文底色 | #F2ECE4 浅灰棕 | 金句 / 引文块背景 |
| 分割线 | #DED8CE 1px | 可选,尽量少用 |
四、引文块(独有的核心手法)
人物原话或核心观点,单独抽出来放大,左边竖红线 + 浅灰棕底衬托:
<p style="margin:32px 0 32px 0;font-size:18px;line-height:1.7;color:#23201C;font-weight:700;letter-spacing:0.5px;background:#F2ECE4;border-left:4px solid #B23A2B;padding:16px 20px;">
人物原话或核心观点,单独抽出放大,左边竖红线、浅灰棕底衬托,一眼看到重点。
</p>正确做法:放大到 18px、前后各留 32px、加粗、左边 4px 砖红竖线 #B23A2B、浅灰棕底 #F2ECE4。
禁止:在底色上再加边框、加引号图标、把竖线换成粗黑块、或整段变红。
五、插图:是内容,不是配图
- 人物、城市、事件,连抽象观点也要交给插画表达
- 图片放得更大,不要大圆角、不要明显阴影
- 必须配 13 – 14px
#857F76图注,说明插图在讲什么
六、卡片:禁用
不要把长文章切成卡片。真正适合做阅读节点的是三样:小标题、引文、图片。
七、输出格式要求(公众号兼容)
- 用
<section>+<p>结构,每段一个<p> - 图片
width:100%,无大圆角、无阴影 - 表格用
<table>+ 内联样式,1px#DED8CE边框(表格少用) - 不用
<style>、不用 script、不用外链
段落模板
<section style="font-size:16px;color:#23201C;line-height:1.75;letter-spacing:0.3px;padding:0 5px;background:#FDFCF9;font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue','PingFang SC',sans-serif;">
<h1 style="font-size:26px;font-weight:700;color:#23201C;margin:0 0 20px 0;line-height:1.4;text-align:left;">大标题 24–28</h1>
<p style="margin:0 0 16px 0;">正文段落,三到五行,观点完整讲完再分段。</p>
<h2 style="font-size:20px;font-weight:700;color:#23201C;margin:32px 0 16px 0;line-height:1.5;text-align:left;">
<span style="color:#B23A2B;display:inline-block;margin-right:4px;">01</span>小标题 20
</h2>
<p style="margin:0 0 16px 0;">正文。关键词用 <span style="color:#B23A2B;font-weight:700;">砖红加粗</span> 强调,全文少量。</p>
<p style="margin:32px 0 32px 0;font-size:18px;line-height:1.7;color:#23201C;font-weight:700;letter-spacing:0.5px;background:#F2ECE4;border-left:4px solid #B23A2B;padding:16px 20px;">
人物原话或核心观点,单独抽出放大。
</p>
<p style="font-size:13px;color:#857F76;margin:0 0 16px 0;line-height:1.6;letter-spacing:0.3px;">图注 13–14 号,说明插图在讲什么。</p>
</section>序号模板
<h2 style="font-size:20px;font-weight:700;color:#23201C;margin:32px 0 16px 0;line-height:1.5;text-align:left;">
<span style="color:#B23A2B;display:inline-block;margin-right:4px;">01</span>小标题文字
</h2>序号间距必须用 display:inline-block; margin-right:4px,禁用全角空格。
标签模板
<span style="display:inline-block;background:#B23A2B;color:#FFFFFF;font-size:13px;padding:3px 8px;line-height:1.4;">标签</span>发布前自查清单
- [ ] 正文内无文章标题;大标题 24–28(仅文内引导),小标题 20,重点内容 18,正文 16
- [ ] 行距 1.7–1.8,字间距 0–0.5px
- [ ] 每段 3–5 行,观点完整讲完,无硬切短句
- [ ] 引文块 18 号加粗,前后各 32px,左边 4px 砖红竖线 + 浅灰棕底
#F2ECE4 - [ ] 重点内容用 18px 加粗砖红(句/短语级嵌正文)
- [ ] 全文无卡片、无彩色底纹区块
- [ ] 插图尽量放大,无大圆角、无明显阴影
- [ ] 图注 13–14 号,说明插图在讲什么,不重复正文
- [ ] 背景白或暖白,强调色只有一种(默认砖红 #B23A2B)
- [ ] 两端留白 5px,序号间距用
margin-right:4px,无全角空格 - [ ] 样式全部内联,无
<style>、无 script、无外链
风格四:瑞士国际(key: swiss · 观点/评论/方法论)
把观点、评论、方法论类内容,排成干净、理性、有秩序感的高级版面。
核心规范
层级只有两级,强调只有一种。
标题与正文只差 2 号(18 对 16),全篇只准用一种强调方式。适合通读型内容,不适合信息密度极高的行业分析。
一、三个基础参数
| 参数 | 值 |
|---|---|
| 正文字号 | 16px |
| 行距 | 1.75 |
| 字间距 | 1px |
| 两端留白 | 左右各 5px |
| 背景 | #FFFFFF 纯白 |
| 每段行数 | 3 – 5 行 |
| 段落意图 | 段间空一行,观点讲完再分段 |
二、标题层级(两级,刻意压缩跨度)
| 层级 | 字号 | 字重 |
|---|---|---|
| 小标题 | 18px | 加粗 |
| 正文 | 16px | 常规 |
| 图注 | 13 – 14px | 常规 |
三、配色:纯白底,深炭灰正文,只留一种强调色
| 角色 | 色值 | 用法 |
|---|---|---|
| 正文 / 小标题 | #2B2B2B 深炭灰 | 禁纯黑 |
| 背景 | #FFFFFF 纯白 | 不用暖色、不用冷灰 |
| 强调色(默认) | #E30613 瑞士红 | 序号、关键词、小标题前缀、重点块竖线 |
| 重点块底 | #EFEFEF 浅灰 | 金句 / 核心观点背景 |
| 重点块文字 | #242424 | 18px 加粗 |
| 辅助灰 | #8A8A8A | 图注、资料来源 |
| 分割线 | #E0E0E0 1px | 可选,尽量少用 |
四、重点块(核心手法,左竖红线 + 浅灰底)
<p style="margin:24px 0;font-size:18px;font-weight:700;color:#242424;line-height:1.7;letter-spacing:0.5px;background:#EFEFEF;border-left:4px solid #E30613;padding:16px 20px;">
核心观点,左边竖红线、浅灰底衬托,18px 加粗,一眼看到重点。
</p>做法:文字 18px 加粗 #242424、左边 4px 瑞士红竖线 #E30613、浅灰底 #EFEFEF。
禁止:在底色上再加边框、加引号图标、把竖线换成粗黑块、或整段变红。
五、层次结构模块(必加,治太素)
瑞士风虽极简,但"层次分明"不能省。每篇文章正文必须包含以下结构模块(按出现顺序),让扫读即有节奏:
- 导语卡(顶部点题):文章开头用浅灰底
#EFEFEF+ 左 4px 瑞士红竖线块,1–2 句点出核心冲突 / 观点,替代平铺直叙的第一段。 - 小标题(章节锚点):每个转折用 18px 加粗小标题(带
0102序号前缀),把长文切成可读章节。 - 数据卡(关键数字突出):把最炸的数字 / 对比单独做成浅灰底卡片,比正文大 2 号、加粗,一眼看到重点。
- 章节分隔线:章节之间用 1px
#E0E0E0细线分隔,制造呼吸。 - 金句块(重点放大):核心观点用 18px 加粗
#242424+ 左 4px 瑞士红竖线#E30613+ 浅灰底#EFEFEF,比普通段落更重。 - 配图卡(指出配图位置):正文 2–3 处用卡片式占位块标注"此处配图:XXX"(见 8.4),让读者 / 排版者一眼知道哪配图。
禁止"一段接一段纯文字无模块"——那正是"太素"的根因。模块要轻(浅灰底 / 细线 / 单色强调),不破坏瑞士风的克制。
六、装饰:极简,能省的都省
- 不用圆角卡片,彩色底纹也尽量不用
- 不用阴影、不用渐变
- 小标题、图注、正文全部左对齐
- 序号间距必须用
margin,禁用全角空格
七、输出格式要求(公众号兼容)
- 用
<section>+<p>结构,每段一个<p> - 图片
width:100%,无大圆角、无阴影 - 表格用
<table>+ 内联样式,1px#E0E0E0边框(表格少用) - 不用
<style>、不用 script、不用外链
段落模板(含层次模块 + 配图卡)
<section style="font-size:16px;color:#2B2B2B;line-height:1.75;letter-spacing:1px;padding:0 5px;background:#FFFFFF;font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue','PingFang SC',sans-serif;">
<!-- 导语卡:顶部点题,替代平铺直叙开头 -->
<p style="margin:0 0 28px 0;font-size:17px;font-weight:700;color:#242424;line-height:1.7;letter-spacing:0.5px;background:#EFEFEF;border-left:4px solid #E30613;padding:18px 20px;">
一句话点出核心冲突 / 观点,钩子先行。
</p>
<h2 style="font-size:18px;font-weight:700;color:#2B2B2B;margin:32px 0 16px 0;line-height:1.5;text-align:left;">
<span style="color:#E30613;display:inline-block;margin-right:4px;">01</span>小标题 18 加粗
</h2>
<p style="margin:0 0 16px 0;">正文段落,三到五行,带具体细节或数字。</p>
<!-- 数据卡:关键数字 / 对比单独突出 -->
<section style="background:#EFEFEF;padding:16px 20px;margin:20px 0;">
<p style="font-size:18px;font-weight:700;color:#242424;line-height:1.6;margin:0;">关键数字 / 对比:如「书里那个实验,对照组坚持了 11 天就放弃」</p>
</section>
<!-- 配图卡:指出配图位置(卡片式占位) -->
<section style="margin:20px 0;padding:18px;border:1.5px dashed #E30613;border-radius:4px;text-align:center;color:#E30613;font-size:14px;line-height:1.7;">📷 此处配图:书封 / 作者照片 / 核心概念图</section>
<!-- 金句块:核心观点放大 -->
<p style="margin:24px 0;font-size:18px;font-weight:700;color:#242424;line-height:1.7;letter-spacing:0.5px;background:#EFEFEF;border-left:4px solid #E30613;padding:16px 20px;">
核心观点,左边竖红线、浅灰底衬托,18px 加粗。
</p>
<!-- 章节分隔线 -->
<hr style="border:none;border-top:1px solid #E0E0E0;margin:28px 0;" />
<h2 style="font-size:18px;font-weight:700;color:#2B2B2B;margin:32px 0 16px 0;line-height:1.5;text-align:left;">
<span style="color:#E30613;display:inline-block;margin-right:4px;">02</span>小标题 2
</h2>
<p style="margin:0 0 16px 0;">正文段落。</p>
<p style="font-size:13px;color:#8A8A8A;margin:0 0 16px 0;line-height:1.6;">图注或资料来源,浅灰 13 号。</p>
</section>序号模板
<h2 style="font-size:18px;font-weight:700;color:#2B2B2B;margin:32px 0 16px 0;line-height:1.5;text-align:left;">
<span style="color:#E30613;display:inline-block;margin-right:4px;">01</span>小标题文字
</h2>序号间距必须用 display:inline-block; margin-right:4px,禁用全角空格。
关键词模板
<span style="color:#E30613;font-weight:700;">关键词</span>发布前自查清单
- [ ] 正文 16,行距 1.75,字间距 1px,全篇统一
- [ ] 小标题 18 加粗,左对齐,深炭灰
#2B2B2B - [ ] 顶部有导语卡点题(浅灰底 + 瑞士红竖线),禁止平铺直叙开头
- [ ] 章节间有 1px
#E0E0E0分隔线,小标题带01/02序号锚点 - [ ] 关键数字 / 对比已做成数据卡(浅灰底突出)
- [ ] 正文 2–3 处配图卡占位(📷 此处配图:XXX),一眼知配图位置
- [ ] 重点块:左 4px 瑞士红竖线 + 浅灰底
#EFEFEF+ 文字 18px 加粗#242424 - [ ] 红色只在序号、关键词、标题前缀、重点块竖线、配图卡边框,无整段变红
- [ ] 全文只有一种强调方式
- [ ] 每段 3–5 行,段间空一行
- [ ] 图片前后各空一行
- [ ] 两端留白左右各 5px,背景纯白
#FFFFFF - [ ] 序号间距用 margin-right:4px,无全角空格
- [ ] 正文、小标题、图注全部左对齐
- [ ] 无大圆角卡片(配图卡虚线占位除外)、无彩色底纹、无阴影
- [ ] 样式全部内联,无
<style>、无 script、无外链
8.4 封面 / 插图处理
两类图片,来源与处理方式完全不同,严格区分:
封面图(AI 生成,全自动)
- 用 ImageGen 按所选风格配色生成 2.35:1 比例封面(如
1536×654),存工作区绝对路径。 - 调
push_draft.py的upload_cover_path(cover_path)上传为永久素材,拿thumb_media_id给草稿箱。全自动,用户不用管。(该函数只负责上传,图片生成由 Agent 用 ImageGen 完成) - 兜底:用户说「暂不需要」时,直接省略
--cover,脚本自动生成 2.35:1 纯色兜底封面(可用--cover-color指定颜色,按风格底色取:无印#FBFAF7/ 连线#1A1A1A/ 纽约客#FDFCF9/ 瑞士#FFFFFF),仍满足草稿箱必填封面。 - 草稿箱强制要求
thumb_media_id,无论如何都要有一张封面图。
正文插图(真实图片,URL 清单 + 占位块,绝不 AI 生成)
- 不用 AI 生成插图(避免失真),用 WebSearch 搜真实图片。
- AI 只收集 3–5 个图片 URL + 来源 + 内容描述,以清单形式列给用户(侵权风险由用户把控,AI 已标注来源)。
- AI 不下载、不嵌入正文插图,文章 HTML 里一律用占位块标注:
此处插图:<一句话描述,如"书封实拍">- 用户自行下载 → 裁剪加工 → 公众号后台点占位块手动替换真图。占位块是纯样式文字,不依赖外链图,草稿箱能正常显示。
- 配图卡(指出配图位置的卡片,必用):正文 2–3 处插入卡片式占位块,一眼标明"这里该放什么图"。边框用所选风格强调色、虚线、居中、带 📷 图标 + 一句话图说。各风格强调色:无印
#A6554E/ 连线#00C853/ 纽约客#B23A2B/ 瑞士#E30613。
<section style="margin:20px 0;padding:18px;border:1.5px dashed #E30613;border-radius:4px;text-align:center;color:#E30613;font-size:14px;line-height:1.7;">📷 此处配图:书封实拍 / 作者照片</section>- Markdown 源文同步标
【此处配图:书封实拍】。 - 若用户坚持「上传已有图」,给路径 + 位置;提醒本地/外链图草稿箱不显示,只认
mmbiz.qpic.cn图链。
8.5 调用 push_draft.py 推送
推送到用户配置的公众号草稿箱(或仅导出 HTML 时跳过):
WX_APPID=<appid> WX_SECRET=<secret>
python push_draft.py --html <排版后HTML绝对路径> --title "文章标题" [--cover <封面绝对路径>] [--cover-color "#FFFFFF"](在技能目录下执行;python 用当前环境可用的解释器,不写死任何机器特定路径。凭证也可直接写在本目录 config.json,则无需环境变量。)
- 账号完全通用:
push_draft.py从本目录config.json读WX_APPID/WX_SECRET(也支持同名环境变量覆盖)。推到用户自己配置的公众号,不写死任何账号名或作者名;--author可选,不传则为空。 - 封面:先由 Agent 用 ImageGen 生成 2.35:1 封面,再调用
upload_cover_path(cover_path)上传拿thumb_media_id;或本地已有封面直接--cover传路径;也可省略--cover走纯色兜底。 - 正文插图:不在这里上传,走 8.4 的「真实图片 URL 清单 + 占位块」流程,用户后台手动替换。如需把本地真图嵌进正文,可调用
upload_image_path(image_path)拿mmbiz.qpic.cn外链再回填占位块。 - 调用方公网 IP 必须加入该公众号后台 IP 白名单(运行本脚本机器的公网 IP,非固定值;不预置任何具体 IP)。
- access_token 有本地缓存(存脚本同目录
.wx_token_cache.json,只存 appid 指纹 + token + 过期时间,不存 secret),避免频繁取 token 触发公众号接口频率限制;加--no-cache可强制刷新。 - 成功后提示用户去自己公众号后台草稿箱确认。
- 仅导出 HTML:把 HTML 落工作区文件交付,不推送。
8.6 收口与交付
- 交付物直接渲染(不甩路径):文章写完后,先把 Markdown 正文直接渲染给用户看(或贴出 HTML 文字内容),再说"全文已完成。排版后 HTML 已保存:[完整绝对路径],可直接导入公众号草稿箱。"选了推送草稿箱则说"已推送到你的公众号草稿箱,去后台确认即可。"
- 无论是否推送,都交付:① 排版后 HTML 文件(可直接导入草稿箱)② Markdown 源文。
- 文件路径始终用完整绝对路径(如
D:Programsfacelessvideos商业品牌稿-瑞士国际-20260906.html),不用相对路径,方便用户复制定位。 - 文件名带风格与日期,例如
商业品牌稿-瑞士国际-20260906.html/.md。 - 插图选了「标出位置」:交付时务必提醒,正文插图位置是占位块,需在后台手动上传真图才会显示。
总自查清单(交付前过一遍)
- [ ] 资料来自客户(公司简介/策划案/活动信息/现场记录/照片/产品/人物),品牌事实已交叉验证(≥2 源)
- [ ] 未弹方法类问卡:结构 / 风格 / 角度由 AI 自主判定并汇报,全程只保留扣点确认 + 标题候选 2 次交互
- [ ] 版本判定正确:默认深度版(客户要官方/发协会才加出通稿版)
- [ ] 标题出了 3–5 个候选,覆盖≥3 种公式,数字/公司名/人名已验证
- [ ] 写作结构按资料类型自动映射(活动纪实/品牌叙事/问题-方案-证据/人物特写),骨架缺口已补齐
- [ ] 品牌事实≥2 独立源印证,客户资料里没有的数字没编
- [ ] 无编造品牌事实 / 数据 / 嘉宾引语(引语必须是资料里的原话)
- [ ] 10 条写作铁律已过(开头具体/反常识钩子/引语不形容词/数字清单/一物贯穿/短句禁破折号/禁空话词/≥2 处对话/≥3 处金句/结尾双动作)
- [ ] 层次模块用了 ≥3 类(引言/数字清单/金句/嘉宾引语/配图卡),配图位每 800–1200 字一个已标
- [ ] 结尾价值拉升到品牌信念 / 行业判断,不是"未来将继续深耕"式空话
- [ ] 排版按所选风格规范,样式全部内联,无
<style>/script/外链 - [ ] 封面图已就位(2.35:1),插图位置已标
- [ ] 推草稿箱:media_id 已回执;仅导出:HTML 已落盘
- [ ] 付费门:已启用,触发即自检 API Key → 扣点确认(先告知 20 点+余额)→ 第 1–8 步 → 失败按退出码话术表退点;不暴露技术细节,失败必明确告知返点
四套风格选型汇总
| 维度 | 无印良品 | 连线杂志 | 纽约客 | 瑞士国际 |
|---|---|---|---|---|
| 适合内容 | 生活/读书/人文 | 科技/AI/数码/行业分析 | 人物/深度长文/叙事 | 观点/评论/方法论 |
| 正文字号 | 16 | 16 | 16 | 16 |
| 行距 | 1.8–1.85 | 1.75 | 1.7–1.8 | 1.75 |
| 字间距 | 0.5px | 0.2px | 0–0.5px | 1px |
| 层级数 | 4 级(20/18/16/14) | 4 级(25/20/16/13) | 4 级(28/20/18/16) | 2 级(18/16) |
| 主色 | 暖深灰 #3D3A36 | 近黑 #1A1A1A | 深炭 #23201C | 深炭灰 #2B2B2B |
| 背景 | 米白 #FBFAF7 | 纯白 #FFFFFF | 暖白 #FDFCF9 | 纯白 #FFFFFF |
| 强调色 | 暗红 #A6554E | 荧光绿 #00C853 | 砖红 #B23A2B | 瑞士红 #E30613 |
| 重点手法 | 区块(浅米底) | 信息卡片 | 引文块(浅灰棕底+砖红竖线) | 重点块(浅灰底+瑞士红竖线) |
| 卡片 | 少用 | 常用 | 禁用 | 不用 |
| 段落意图 | 给呼吸 | 降负担 | 保叙事 | 给秩序 |
选型口诀(商业品牌宣传版):讲观点方法/商业判断用瑞士国际(默认);讲科技 AI / 数据密集用连线;讲人物故事/深度长文用纽约客;讲生活方式/温度感品牌用无印良品。
附录:商业品牌宣传文章速查
一句话定位
活动纪实型品牌稿——读完记住一个画面、一句话、一个判断,而不是"某司举办了某活动"。
两版分化(默认深度版)
| 通稿版 | 深度版(默认) | |
|---|---|---|
| 开场 | 近日,XX 主办… | 8月28日下午,顺义区聚源西路18号… |
| 人称 | 全程第三人称 | 允许"我们",有对话 |
| 结构 | ONE/TWO/THREE 分块 | 9 段场景流 |
| 结尾 | 责编/校对/审核落款 | 金句 + 评论钩子 + 下期预告 |
资料 → 结构(自动判定)
活动+现场记录 → 活动纪实型(9 段)|公司简介 → 品牌叙事型|产品 → 问题-方案-证据型|人物 → 人物特写型优先级:现场记录 > 人物 > 产品 > 简介
风格选型
观点方法 → 瑞士(默认)|科技 AI 数据 → 连线|人物深度 → 纽约客|生活温度 → 无印良品
9 段黄金结构
场景钩子 → 反差定调 → 主办场地 → 致辞引语 → 痛点共识 → 数字清单内容 → 金句升华 → 价值拉升 → 2 亮点 + 金句 + 评论钩子 + 下期预告
10 条铁律(速记)
开头具体|反常识钩子|引语不形容词|数字清单|一物贯穿|短句禁破折号|禁空话词|≥2 处对话|≥3 处金句|结尾双动作
商业稿专项自检(交付前逐条过)
- [ ] 开头有具体时间、地点、人数、反常识动作?
- [ ] 有"他们不是来 X,是来 Y"式的反差?
- [ ] 有 ≥2 处嘉宾直接引语(且是资料里的原话)?
- [ ] 内容能数出来(N 个解法 / N 个场景 / N 步)?
- [ ] 有贯穿全文的实物意象?
- [ ] 有 ≥2 处现场对话、≥3 处可截图金句?
- [ ] 品牌事实全部来自客户资料或 ≥2 源核验?
- [ ] 无"圆满成功 / 高度评价 / 纷纷表示"类空话?
- [ ] 结尾有评论区互动钩子 + 下期预告或联系方式?
- [ ] 标题未进正文?序号间距 4px?用了 ≥3 类层次模块?配图位已标、封面已出?