对话笔记直发:8.15 公众号工作流修订与草稿清理。分类:AI工程。


tags: [公众号, 工作流, render_fixed, wechat-publisher, Hermes, Obsidian同步, 标题规范, 排版] title: 公众号工作流修订(标题规范落地)与草稿箱清空 date: 2026-08-15

公众号工作流修订(标题规范落地)与草稿箱清空

背景(接手会话的原始任务)

  • 本次延续的会话(OpenCo CLI / agent,fork#2 ses_00051ffb)任务是 NAS hermes 公众号自动发布工作流(v5)的优化调整。v5 在 jp 服务器落地:封面 AI 化(step-image-edit-2)+ 排版双路径(默认 render_fixed.py 固定CSS确定性渲染,替代”每次让 LLM 摸索 HTML”)。
  • 该会话内的原始任务细节(此前已全部完成并部署):
    1. 正文不要重复公众号标题(h1 标题重复问题):给 render_fixed.py 新增 --skip-h1 过滤正文 level-1 标题,SKILL.md 更新铁律7(标题唯一事实源=front matter title:,正文不得用 # 重复,--title 只能取 front matter title:),部署到 NAS 并备份 render_fixed.py.titlebak / SKILL.md.titlebak。
    2. 引用渲染修复:parse_blocks 的 quote 分支原来跳过当前行导致引用内容空白,改为当前行先入 body(render_fixed.py:328)。
    3. 引用样式修复:去掉 font-style:italic,引用颜色从灰色改回正文色 #3f3f3f(quote_html,render_fixed.py:170-173),备份 render_fixed.py.quotefix.bak。
    4. 章节标题规范:章节标题从 ## 改为 ### 三级标题起手(≤11 CJK 字,保证手机端单行整齐)。
    5. 测试草稿验证:推送 5 个测试草稿(local 16~20)——排版验收-标题不重复版 + DS-Harness 多版,人工验收通过。
  • 本次会话(2026-08-15)延续收尾:review 工作流代码 → 清空草稿箱全部 19 篇 → 同步 Obsidian 工作流文档 → 交 Hermes 接手。

本次会话核心动作

  1. review render_fixed.py(本地副本 /tmp/opencode/gzh-title-fix/render_fixed.py,已部署 NAS 并有 .titlebak / .quotefix.bak 备份),确认三个修复全部在位:
    • --skip-h1:过滤正文 level-1 标题(h2~h6 保留);不带时正文含 # 仅打非阻塞 WARN(render_fixed.py:388-389,417-418)。
    • 引用内容修复:引用解析当前行先入 body,不再跳过致空白(render_fixed.py:328)。
    • 引用样式修复:quote_html 非斜体、正文色 #3f3f3f、左边框 #e0e0e0 圆角灰底(render_fixed.py:170-173)。
    • 附带:front matter title: 提取为标题唯一事实源兜底;h2>11 CJK 字打非阻塞 WARN(编号前缀/行内代码剔除)。
  2. 清空草稿箱:ssh root@192.168.2.* 上执行 peterpan draft delete 删除全部 19 篇草稿(含当日 5 个测试草稿 local 1620:排版验收-标题不重复版 + DS-Harness 多版 + 历史旧稿 20232026),验证 No drafts found.。删除命令需 export WECHAT_PUBLISHER_DATA_DIR=/opt/data/.wechat-publisher,入口 node /opt/data/skills/wechat-publisher/wechat-publisher.mjs draft delete <media_id>。
  3. 同步 Obsidian 文档(两份,对齐 NAS SKILL.md v2.1.0):
    • 200_Rules/工作流/公众号发布工作流_现行版.md:新增铁律7 正文标题规范(标题唯一事实源=front matter title:;正文从 ### 三级标题起手,不用 #/##;章节标题 ≤11 字,CJK 计数;render_fixed 必带 --skip-h1;--title 只能取 front matter title:),原铁律 7/8 顺延为 8/9;§2 路径A 命令加 --skip-h1 并补引用样式;§6 标题约定、mermaid 流程图同步;版本 2.1.0,日期 2026-08-15。
    • 200_Rules/工作流/公众号推送全流程SOP.md:对齐铁律7、--skip-h1 命令、标题/引用约定。
    • 未改动(历史/无交集):实施记录、新旧对照、双管道全景图、完整工作流流程、当前完整工作流、初稿生成规则、sop/自动化推送。

关键信息(供 Hermes 接手)

  • 服务器:jp,局域网 192.168.*.*(ssh root@192.168.2.*),多服务 Docker 主机(n8n/ha/hermes 等)。公众号工作流脚本全在 jp 本机 /opt/data/skills/。
  • 编排层 SKILL:/opt/data/skills/wechat-publish-workflow/SKILL.md(v2.1.0)。脚本:scripts/{gzh_cover.py, render_fixed.py, check_placeholder.sh},引用 references/fixed-business.css.md(存档非源)。
  • 排版默认路径:/opt/hermes/.venv/bin/python render_fixed.py <稿.md> --out <dir> --name <名> --skip-h1 [--author 作者名] [--intro 简介](系统 python3 无 PIL,必须 venv)。
  • 封面:gzh_cover.py 三分支(默认 no-text moren;--hint 仅对无文字+moren 生效;带文字封面须人工确认,带文字 15min/无文字 10min 超时中止)。
  • 推送:peterpan publish-file;--thumb 只接受本地封面文件路径(传 media_id 字符串→40007/40013);--title/--digest 必传否则 “Untitled”;个人订阅号无 freepublish,群发永远后台手动。
  • 合规门:validate_gzh_html.py 0 ERROR + check_placeholder.sh 占位符硬门(精确匹配 {{作者名}}/{{简介}},不误伤 {{cmd}})。
  • 凭证:/opt/data/.wechat-publisher/config.json(AppID wx9312... 等,600 勿泄)、stepfun.json。IP 白名单已配。

待办

  • 用户让 Hermes 接手,读现行版文档执行对齐后续工作流(如后续发文)。
  • 草稿箱已空,后续发布从”写稿(front matter title + 起手) → render_fixed —skip-h1 → gzh_cover 封面 → publish-file —title/—digest/—thumb”链路开始。


相关: 00-索引-AI工程索引 8.13 公众号发布工作流v5 Hermes接手文档