| name | content-engine |
| description | 智汇AI内容引擎 — 公众号双号日更+口播8篇日更的自动化Skill。覆盖:热点拉取→选题分配→公众号文章生成(Markdown→HTML排版)→口播文案生成→发布→记忆更新。触发词:写文章/写口播/选题/发布/日更/排期/热点 |
| version | 6.15 |
| date | 2026-07-11 |
智汇AI 内容引擎 SKILL v6.0
权威参考:公众号/AGENTS.md(项目级最高权威,本文件为执行手册)
详细长期规则见 REFERENCE.md(按需加载)
CSDN适配规则见 CSDN-GUIDE.md(按需加载)
开头钩子/标题公式见 HOOKS-LIBRARY.md(按需加载)
口播稿规则见 ~/.qoderworkcn/skills/koubo-daily/SKILL.md
已发布记录(口播)见 口播稿/koubo/已发布内容记忆.json
已发布记录(公众号)见 公众号/wechat-article-system/已发布内容记忆.json
按需加载参考文件(不每次全量加载):
- 爆款实测模板/SEO/数据反馈/系列化/跨平台/情绪工程等 →
REFERENCE.md
- CSDN改写工作流/广告防御/GEO内CSDN防御 →
CSDN-GUIDE.md
- 开头钩子模板/标题公式/情绪词库 →
HOOKS-LIBRARY.md
★★ 写作第一原则:必须像真人深度思考手写(永久硬规则·最高优先级)
铁律:每一篇文章读起来必须像一个有血有肉的人,深度思考后亲手写出来的。不允许有一点AI写的味道和感觉。
这不是"避免几个AI词"的问题,是整体质感的要求:
- 有"我"的存在感:全文必须有作者本人的判断、体感、情绪。"我关注这个行业快3年了""说实话,这条新闻让我意识到""说点个人判断"——这些不是装饰,是灵魂。没有"我"的文章=AI文章。
- 口语化≠不专业:说人话、像跟朋友聊天一样讲事情,但每句话背后有真实的信息量和思考深度。"翻译成大白话""打个比方""什么概念?"这些口语标记是真人写作的证据,必须保留。
- 有情绪波动:真人写文章会激动、会意外、会扎心、会无奈。"没想到""让人意外的是""说实话我越看越觉得"——这些情绪标记让文章有温度。AI写不出真正的情绪。
- 有不完美的真实感:真人写作会有口语化的转折("但话说回来""不过有个问题")、会有自我纠正("等等,这里我说的不准确")、会有主观偏见("我个人更看好XX")。太工整、太面面俱到、太客观中立=AI味道。
- 禁止"上帝视角":AI文章最大的特征是站在高处俯瞰一切、什么都知道、什么都分析到位。真人写作是从自己的视角出发,有认知边界,有"我不确定的地方",有"我只说我知道的"。
- info_card/建议段落:口语化亲切的建议语气完全没问题,像朋友给你出主意一样写。但禁止"帮你XX"推销句式、禁止"避坑指南"营销标签、禁止"收藏起来"社交CTA——这些是触发词问题,不是语气问题。
自检方法:写完文章后,大声读一遍。如果听起来像一个人面对面跟你聊天、分享他的发现和判断——过关。如果听起来像一篇报告、一份分析、一个新闻稿——打回重写。
★ 受众对齐铁律(永久硬规则·最高优先级)
一句话判断标准:你妈/你对象/你学员家长能不能看懂、想不想转发?
公众号文章的读者是普通人——上班族、学生、家长、退休老人、自由职业者。
不是程序员、不是投资人、不是AI从业者。
选题判断3秒法则
拿到任何选题,3秒内回答:
- 这个选题跟普通人有什么关系? → 答不上来就换选题
- 普通人看到这个标题会不会点进来? → 不会就换标题
- 普通人看完会不会转发给朋友? → 不会就改角度
选题红线(永久禁止)
- ❌ 纯技术拆解(向量数据库、推理加速框架、API架构设计)
- ❌ 纯开发者工具评测(IDE、编程框架、代码编辑器)
- ❌ 纯行业战略分析(融资、IPO、商业布局、生态位)
- ❌ 纯参数对比(模型跑分、吞吐量、延迟指标)
选题绿灯(鼓励方向)
- ✅ AI工具实操(普通人拿来就能用的)
- ✅ AI影响解读(对普通人工作/学习/生活/教育的影响)
- ✅ AI避坑指南(普通人容易踩的坑、容易交的智商税)
- ✅ AI+教育 / AI+副业/职场 / AI热点人话解读
角度转换公式
同一个热点,必须从普通人角度切入:
- ❌ "DSpark推理加速框架技术分析" → ✅ "AI回答越来越快了,背后原因跟你有什么关系"
- ❌ "Claude Code Hook玩法" → ✅ "我用AI每天省2小时,就靠这3个自动设置"
- ❌ "GPT-5.6的150万上下文" → ✅ "AI一次能读4本《三体》了,对你意味着什么"
与口播稿选题打通
- 每周选题统一规划:口播讲短视频版,公众号写同一话题的深度长文版
- 口播稿中数据好的话题(播放量>500),优先写成公众号长文
- 两者互相导流
★ 双模板工作流
核心:根据选题类型自动选择写作模板,不是所有文章都用同一个公式。
模板选择决策树
拿到选题后,按顺序判断:
0. 【天花板评估】(不过不写)
├─ 受众面 ≤ C级 → 放弃(除非有S级事件加持)
├─ 受众面 B级 + 无具体新闻事件 → 放弃
└─ 受众面 A/S级 或 B级+有事件 ↓
1. 有没有独家实测权限?
├─ 有 → 用【爆款实测模板】
└─ 没有 ↓
2. 是不是大模型/AI工具的重大更新?
├─ 是 + 有对比数据 → 用【爆款实测模板】
└─ 否 ↓
3. 是不是普通人关心的热点?
├─ 是 → 用【内容公式v2】
└─ 否 → 放弃这个选题
两个模板的适用场景对比
| 维度 | 爆款实测模板 | 内容公式v2 |
|---|
| 选题类型 | 大模型更新/AI工具实测/国产vs海外 | 普通人痛点/热点解读/避坑指南 |
| 内容特点 | 有独家数据、跑分对比、价格表 | 有方法步骤、场景代入、行动建议 |
| 读者收获 | 选型决策依据 | 立刻能用的方法 |
| 篇幅 | 2000-3000字 | 1500-2500字 |
爆款实测模板的4个硬性条件(必须同时满足)
- 信息稀缺性 — 灰度/内测/首发/独家权限
- 自带热点词 — 产品名有搜索流量
- 对比冲突 — 国产vs海外、新vs旧、便宜vs贵
- 实用价值 — 读者看完能直接用
任一条件不满足 → 退回用【内容公式v2】
受众对齐铁律的例外说明
实测文章会包含技术参数和跑分数据,但通过以下方式保持可读性:每个数据绑定具体场景、用大白话解释术语、突出成本对比、给出明确选型建议。
判断标准不变: 普通人能不能看懂、想不想转发?
★★ 内容公式v2(核心策略)
一句话总结:从"新闻分析"转向"问题→解决"。你不是记者,你是朋友。
爆款内容5步公式
- 钩子(前3句):个人见闻或具体场景,让读者觉得"这说的就是我"
- 问题:这件事跟普通人有什么关系?影响你的钱包/工作/孩子/时间?
- 解决:具体方法、步骤、避坑指南——读者看完能立刻行动
- 冲击:真实数据、反转、意外发现——让人"哇"的瞬间
- 收尾:一句话总结 + 转发理由("转给你那个正在XX的朋友")
选题来源(优先级排序)
- 抖音数据验证:口播稿中播放量>500的话题 → 立刻写成公众号深度版
- 普通人痛点:赚钱/省钱/避坑/教育焦虑/求职/副业
- 热点人话解读:大事件用普通人能懂的话讲清楚 → 24小时内发
纯技术分析 → 永久禁止
选题天花板评估(动笔前第一关,不过不写)
动笔前必须回答3个问题(30秒内):
① 受众面有多宽? S级(全人群) > A级(大群体) > B级(垂直群体) > C级(小众)。底线:B级以下不做。
② 有没有具体新闻事件? 有事件=有紧迫感=有流量。没有事件=流量封顶。
③ 标题有没有"非点不可"的冲动? 好文章标题≠爆款标题。爆款=具体事件+故事+情绪让人非点不可。
⚠️ 铁律:受众面B + 无事件 = 不做。不管validate能拿多少分。
写作前自检(动笔前30秒)
流量满分预检(动笔前必做)
① 品牌名预埋(流量预测·传播力)
- validate.py规则:标题+前1000字内必须出现至少1个知名品牌名
- 品牌名清单:GPT / OpenAI / Claude / Anthropic / Google / Gemini / Apple / Meta / Microsoft / Nvidia / SpaceX / Tesla / 百度 / 阿里 / 腾讯 / 华为 / 字节
- lead段写完立即检查
② 情感词分布(传播力·情感共鸣)
- 全文需含≥3个情感冲击词:震惊 / 意外 / 没想到 / 真相 / 揭秘 / 竟然 / 居然 / 后背发凉 / 颠覆 / 反转
- 按section分布:lead段1个、第1章1个、第2-3章1个、结尾1个
③ 身份词分布(传播力·身份信号)
- 全文需含≥3种不同身份词:普通人 / 上班族 / 学生 / 家长 / 宝妈 / 打工人 / 毕业生 / 职场人 / 创业者 / 自由职业者
AI味清零预检(写作中持续规避)
AI味计算规则(validate.py,必须≤2%):
- 强AI词(句首,权重1.0):需要指出的是 / 值得注意的是 / 综上所述 / 总而言之 / 换言之 / 不难发现 / 由此可见 / 从某种意义上说 / 毋庸置疑 / 显而易见
- 弱AI词(句首,权重0.3):这一 / 这种 / 这样 / 这些
- 对称句式(权重0.3):不仅是…更是 / 一方面…另一方面 / 既…又 / 不是…而是 / 首先…其次…最后 / 既…也
写作铁律(3条禁令):
- 禁止句首强AI词:用"我认为""说白了""其实""问题是"等口语化过渡替代
- 禁止句首弱AI词:把"这些"换成具体名词,或调整语序让"这些"不出现在句首
- 对称句式全文≤1处:用"其实是…""关键在于…""问题出在…"等不对称表达
★★ 标题生成工作流
核心原则:生成≥5个候选标题,自动打分,选最优。
生成流程
- 确定核心卖点:这篇文章最吸引人的1个信息点
- 套用标题公式(详见
HOOKS-LIBRARY.md),生成5个候选
- 自动打分:用validate.py的标题吸引力评分(0-10分)
- 选最优:取分数最高的标题
标题7要素检查(目标10/10)
铁律:7项必须全部命中,缺任何一项标题打回重写。
★★ 开头钩子工作流
核心原则:前200字必须命中≥5种钩子类型。详细模板见 HOOKS-LIBRARY.md。
7种钩子类型(validate.py检测,每种+2分)
- 个人故事:我(去/试/用/发现/看到)、(上周/昨天/前几天)
- 对话引用:跟我说、(问/告诉/喊)我
- 数据冲击:\d+[%%]、(暴涨/暴跌/翻倍/腰斩)、\d+倍
- 直接提问:(你/大家)...(知道/有没有/想过/觉得)
- 场景代入:(想象/假设/如果你/当你/每次)
- 争议声明:(其实/事实上/说实话/直说了)、(很多人/大部分人)
- 反常识:(不是/并非)...(而是/其实)、(反而/恰恰相反)
铁律:前200字命中≥5种。问号+1分,对话引号+1分,上限10分。
开头禁忌
- ❌ "随着AI技术的不断发展..." / "众所周知..." / "今天我们来聊聊..." / "XX公司近日发布了..."
开头信息密度上限
命中≥5种钩子时,每句话≤30字,钩子之间必须有叙事连接,不能硬拼。
★★ 流量优化工作流
公众号流量=曝光×点击×读完×互动。每一层都要优化。
副标题/摘要
- ≤35字,1句话,必须有好奇心缺口
- 禁止关键词堆砌,必须用具体数据或反差制造悬念
爆款三要素
要素1:情绪峰值设计(动笔前必做) — 4个情绪锚点:冲击(开头)+扎心(中段)+顿悟(后段)+温度(结尾)。必须用具体的人和事承载。
要素2:截图时刻(每篇≥1个) — 放在highlight组件里,3条件至少满足2个:有数字、有态度、有身份。
要素3:信息缺口(禁止模板化悬念桥) — 禁止"不过XX还不是最X的"模板,必须用具体的人/事/数字制造好奇心。
结尾互动三件套(CSDN安全版)
- 评论引导:提具体问题(❌"评论区说说/聊聊/告诉我")
- 分享引导:给具体分享理由(❌"收藏起来""转发给")
- 复访引导:给下次来看的理由(❌"点个关注""下周")
流量预测评分要素(validate.py第12项,≥6/10通过)
| 维度 | 分值 | 强制要求 |
|---|
| 时效性 | 0-2分 | 前2段lead至少1个时效词 |
| 冲突性 | 0-3分 | 前2段lead至少1个冲突词 |
| 共鸣度 | 0-3分 | 前2段lead至少1个共鸣词 |
| 稀缺性 | 0-1分 | 选题不重复即可 |
| 传播力 | 0-1分 | 标题或前1000字必须有品牌名 |
前2段lead最低要求:时效性词≥1 + 冲突性词≥1 + 共鸣度词≥1 + 品牌名≥1 = 4个维度全覆盖
⚠️ validate满分 ≠ 流量保证
validate.py衡量"算法友好度",不是"读者想不想点"。选题天花板在动笔前决定80%的流量上限。
★★ 选题验证工作流
核心原则:写完再发不如验证完再写。选题不对,写得再好也没人看。
选题验证5步法
第0步:天花板评估(30秒)
- 受众面 ≥ B级 / 有具体新闻事件 / 标题有点击冲动
- 铁律:受众B + 无事件 = 不做
第1步:需求验证
- 抖音搜索相关视频播放量TOP3 ≥ 1万
- 微信搜一搜有相关热搜词
- 知乎热榜关注>1000、回答>50
- 信源覆盖:上述热榜均登记在
lib/all_sources.py 的 cn_hot 段(与口播稿共用同一份注册表),验证时直接按注册表逐源核对,避免漏源。
第2步:差异化验证
- 微信搜一搜看前10篇,角度不能雷同
- 别人都写跑分→你写价格算账;别人写技术→你写对普通人的影响
第3步:时效性验证
- 热点类:24小时内发;常青类:任何时间;周期类:匹配时间节点
第4步:转发潜力验证
选题验证速查表
| 检查项 | 通过标准 |
|---|
| 受众面 | ≥ B级 |
| 事件驱动 | 有具体新闻事件 |
| 点击冲动 | 标题念出来朋友想追问 |
| 抖音相关视频播放量 | TOP3 ≥ 1万 |
| 同角度文章数量 | 前10篇中 ≥ 3篇角度不同 |
| 时效窗口 | 热点24h内 / 常青随时 |
| 转发对象明确 | 能说出具体身份 |
选题前置规则(永久硬规则)
写公众号文章前必须先查 公众号/wechat-article-system/已发布内容记忆.json:
- 读取
published数组,提取所有已发布文章的title、topic、keywords
- 新选题不得与已发布文章重复或高度相似
- 如有重复,必须更换选题方向
- 文章发布后,必须将新文章元数据追加到
published数组
- 如遇审核未通过等教训,必须将经验记入
lessons_learned数组
一、总览
本Skill是「智汇AI」全媒体内容生产的核心引擎:
| 内容线 | 账号 | 产量 | 输出格式 |
|---|
| 公众号(单账号) | 普通人AI实操指南 | 3-5篇/周(质量优先) | Markdown→HTML |
| 口播×8「智汇AI社区丨李总」 | AI+教育实操干货 | 8条/天 | MD |
二、每日工作流程(公众号端)
Step 1:拉取热点
信源注册表(2026-07-16 全网扩展·与口播稿共用同一份):lib/all_sources.py(共 88 个信源、9 大类:X官方/国内官方/国际国内媒体/开发者社区/论文/中文热榜/视频平台/聚合)。更新须同步复制至 口播稿/koubo/工具脚本/all_sources.py,两份同一份信源。
$UA = "Mozilla/5.0 aihot-skill/0.2.0"
$headers = @{"User-Agent" = $UA}
$resp = Invoke-RestMethod -Uri "https://aihot.virxact.com/api/public/items?mode=selected&take=80" -Headers $headers
$resp.items | ForEach-Object { "$($_.publishedAt) | $($_.source) | $($_.title)" }
X 官方/国内官方/媒体/中文热榜/视频平台真实动态需经 WebFetch 抓官方账号(Python 直连被 Cloudflare/登录墙挡),见 lib/all_sources.py 各信源 url。
Step 2:选题分配 + 搜图
| 分配 | 角度要求 |
|---|
| 公众号(单账号) | 偏工具/实操/创业经验 + 行业/资本/战略,落脚到"我怎么做的+这背后的商业逻辑" |
| 口播①-⑧ | 每条独立热点,落脚到"孩子教育/家长认知" |
去重检查:对比 MEMORY.md §五 + 已发布内容记忆.json + 当天口播选题
Step 3:排版为HTML — 公众号路径(摸鱼绿固定工作流)
文章Markdown写完后,一律走统一流水线 publish_pipeline.py(禁止分步裸跑 renderer / validate / push):
cd wechat-article-system
python publish_pipeline.py --md output/文章标题.md --title "文章标题" --digest "摘要" \
--cover output/images/sec1.jpg --images output/images
该脚本内部顺序(硬结构,不可跳过):
lib/moyu_green_renderer.md_to_moyu_green_html 生成摸鱼绿主题HTML(官方 emerald 13组件,纯内联,微信可用)
- 门禁A·22项自检:可读性=100/传播力=10/开头钩子≥9/GEO=100/原创度=100/AI味≤2/风险=0,未过直接中止
- 门禁B·重点组件检查:渲染HTML必须含足够多重点颜色组件(金句卡/提示块/引用块/代码块/小标题/有序列表 + 绿色加粗≥5处),不足直接中止——这是"文章无重点标注"的根因防护
build_gpt56_sol.build_docx 构建摸鱼绿DOCX(全标记兼容)
- 验证DOCX内嵌图片≥6(4正文+2文末)
- 上传图片+封面→按标题删除旧草稿→创建新草稿推送到草稿箱
Step 3b:DOCX生成(美化版)+ CSDN通用md导出
每篇文章都必须生成摸鱼绿排版的 DOCX 文件(不仅限于CSDN发布),且必须是"美化版":
- 生成DOCX(必做,已由
publish_pipeline.py 自动执行):使用 build_gpt56_sol.py 的 build_docx()(v5 极致美化版,已参数化,禁止再手写 builder.py)
- 摸鱼绿色彩体系(官方 emerald,禁止Material绿):绿色章节编号
#059669 + 左边条引用块 + 关键词绿色加粗 #059669 + 编辑按语浅绿底 #F0FDF4 + 编辑按语绿色左边框 #059669
- 必须含以下美化要素(v5 极致美化铁律,缺一不可):
- 独立封面页(emerald 顶部+底部装饰条 + 栏目标签「深度解读 · 智汇AI」徽章底块 + 大标题 + 副标题 + 分页符;禁止渲染元信息行「智汇AI社区 · 日期 · 公众号「智汇AI」」,用户明确说不该出现在文章里)
- 「本文导读」目录页:封面后独立一页(不同首页,无页眉),列出各章节编号+标题,顶格不缩进,形成杂志目录感
- 页眉品牌「智汇AI · 深度解读」+ 页脚页码(
PAGE 字段 + NUMPAGES 总页数)
- 图片下方居中灰色斜体说明文字(caption,9pt)
- 正文首行缩进 2 字符(中文排版规范)
- 章节前 emerald 分割细线 + 放大编号标题(29px 编号 + 竖条 + 大标题,杂志感)
- 引用块大引号装饰:浅灰底
#F9FAFB + emerald 虚线左边框 + 段首「"」大引号符号
- 提示块/编辑按语做成卡片盒:emerald 左粗竖条
#059669 + 浅绿边框 #BBF7D0 + 浅绿底 #F0FDF4
- 金句卡:浅绿底
#ECFDF5 + 虚线边框 #BBF7D0 + 黄色点睛下划线 #FDE68A + 段首「"」大引号
- 代码块顶部语言标签条(深色
#0F172A 底 + mac 三色圆点)+ 代码正文 #1E293B 底 浅色字
- 图片相框感:浅灰细边框
#E5E7EB + 轻微阴影
- 文末 emerald 渐变关注引导横幅 + 点赞/关注图(严禁用表格 table 包裹:部分平台/笔记工具无法识别表格内图片导致丢失;改为两张图各占一个独立居中段落上下排列)
- 全标记兼容:
### 小标题/> 引用/:::oneliner/:::tip/```/1. 有序列表/==高亮==/**加粗**/行内代码
- 输出文件命名:
{文章标题}.docx(必须用标题原文、不加任何装饰后缀,例:AI删光了创业者的硬盘,3个普通人避坑真相.docx)
- 导出 CSDN 通用 md(必做,已由
publish_pipeline.py 自动执行):使用 export_csdn_md.py
- 公众号 md 含
:::/== 等 CSDN 不支持语法,发 CSDN 前必须转成通用版(否则用户没法直接发)
- 转换规则:
:::oneliner/:::quote→引用;:::tip/:::warning/:::note→引用+加粗标签;==高亮==保留(CSDN支持);图片→占位URL + 文末配图清单;跳过公众号点赞/关注图
- 输出:
{文章标题}.md,直接给用户发 CSDN 用
注意:不是每篇都发CSDN。含具体平台名的实操文建议只发公众号;技术工具类/实测类文章适合双发。CSDN 发文需用户自行把图片上传到 CSDN 图床并替换 URL(文末已附清单)。
Step 3.5:内容自检(validate.py + fact_check.py)
在排版前或排版后,对文章Markdown内容运行自检:
python lib/validate.py output/文章.md
python lib/fact_check.py
Step 4:发布
4a. 图片上传微信图床(发布前必做,不可跳过)
文章HTML中的本地图片在微信服务器上无法访问,必须先上传到微信图床获取CDN链接,再替换HTML中的本地路径:
import sys, re, os; sys.path.insert(0, 'lib')
from wechat_publish import upload_image
html_path = 'output/文章.html'
with open(html_path, encoding='utf-8') as f:
html = f.read()
img_paths = re.findall(r'src="([^"]+)"', html)
url_map = {}
for local_path in img_paths:
abs_path = os.path.join(os.path.dirname(os.path.abspath(html_path)), local_path)
abs_path = os.path.normpath(abs_path)
if os.path.exists(abs_path):
wx_url = upload_image(abs_path)
if wx_url and isinstance(wx_url, str) and wx_url.startswith('http'):
url_map[local_path] = wx_url
for local_path, wx_url in url_map.items():
html = html.replace(local_path, wx_url)
with open(html_path, 'w', encoding='utf-8') as f:
f.write(html)
铁律:不上传图片直接发布 = 文章中图片全部空白。每次发布前必须执行此步骤。
4b. 公众号发布
- 自动发布:
python lib/wechat_publish.py publish output/文章.html "文章标题"
- 需先配置.env中的
WECHAT_APP_ID/WECHAT_APP_SECRET
- 服务器IP必须在公众号后台IP白名单中
- 封面图必须用
upload_permanent_media(path, 'thumb')上传获取media_id
- 留言默认开启(
need_open_comment: 1),无需手动设置
- 赞赏功能:在公众号后台「赞赏功能」中开通,文章发布后手动开启
- 手动发布:浏览器打开gzh-design预览页 → 复制到微信编辑器粘贴
4c. 文末固定元素(gzh-design主题自带,无需额外插入)
摸鱼绿主题的 footer-cta组件(13a) 已自带点赞/在看/转发SVG图标三连区,不需要额外插入assets/images/点赞.jpg图片。
禁止插入assets/images/公众号置底.png(含二维码,会被微信判定为营销内容导致限流)。
禁止在文章footer中写"信源:xxx"行。数据来源在正文中引用即可,文末不单独列出。
4d. CSDN + 多平台
- CSDN(自动):
python lib/csdn_publish.py auto output/文章.md "标签1,标签2"
- CSDN(手动):上传DOCX文件 → 按CSDN编辑器流程发布
- 多平台同步(备选):Wechatsync浏览器插件 → 一键同步到31个平台
Step 5:发布后清理 + 记忆更新
- 清理:output/内HTML+DOCX+MD+images/目录+构建脚本
- 保留:output/目录本身 + assets/ + lib/
- 记忆更新同前
- 卫生检查:
python 口播稿/koubo/project_hygiene.py
三、公众号文章质量检查清单(精简版)
每项:检查项 + 通过标准。详细规则见前文各章节和参考文件。
最高优先级3项(不过直接打回重写)
★★★ 满分铁律(2026-07-11 用户强制指令,永久固化)★★★
用户原话:"未达到满分 怎么能停下来交付给我呢 这个问题请彻底杜绝 不允许再发生"
以下三项不仅"通过",必须冲到满分才允许向用户交付:
- 可读性必须 = 100/100(术语密度≤3/千字 + 0个未解释术语 + ≥3处类比)
- 传播力必须 = 10/10(身份信号≥3 + 情感共鸣≥3 + 实用价值≥5 + 分享触发≥2)
- 开头钩子必须 ≥ 9/10(前200字命中≥4种钩子类型 + 提问式/对话式加分)
满分校验门禁(交付前必做):
- 跑完22项自检后,逐项核对第15/16/19项分数
- 任何一项未达满分(可读性<100 / 传播力<10 / 开头钩子<9)→ 禁止交付,立即打回重写
- 交付前必须在聊天框明确展示这三项分数,不允许只说"全部通过"
- 配图必须用Pillow
Image.verify() 验证完整性 + 用python-docx inline_shapes 计数≥3张真实嵌入
- 修复方向参考:
- 术语密度超标 → 把TECH_JARGON_TERMS里的词替换成"AI助手/AI程序"等口语化表达,给"参数"加"你可以把参数理解为AI的'脑容量'"类比
- 开头钩子不足 → 前200字必须命中:个人故事(我去/我看到/一位朋友)+对话引用(朋友给我发消息说:...)+数据冲击(\d+倍/暴涨)+场景代入(想象一下/如果你)+争议声明(真相/事实)+提问式(?)+反常识(反而/越是...越)
- 传播力不足 → 增加身份信号词(普通人/上班族/家长/创业者)+情感共鸣词(没想到/竟然/后背发凉)+实用价值词(省钱/避坑/方法/技巧/指南)+分享触发词(收藏/提醒/记得)
★★★ 完整交付清单(2026-07-11 用户强制指令,永久固化)★★★
用户原话:"文章最后有个编者按 三个字的标题 什么意思啊 你搞错了吧 ... 点赞.jpg 关注.jpg 图片怎么没给我插入啊 摸鱼绿的skill样式你也没做啊 公众号草稿箱你也没推动啊 这都是skill 工作流的要求啊 你怎么不做呢"
一篇文章交付前,必须完成以下5项,缺一不可:
- Markdown正文:22项自检全部通过,三项满分(可读性100/传播力10/开头钩子≥9)
- 摸鱼绿主题DOCX(必须是 v5 极致美化版):绿色章节编号+绿色左边条引用块+关键词绿色加粗+编辑按语(智汇AI悄悄话)浅绿底色+编辑按语绿色左边框;且必须含美化要素:独立封面页+页眉品牌+页脚页码+图片说明+正文首行缩进2字符+章节分割线+代码块语言标签条+文末关注引导;文件命名
{文章H1标题}.docx(不加_摸鱼绿等装饰后缀,必须用文章标题原文,例:AI删光了创业者的硬盘,3个普通人避坑真相.docx)
- 文末点赞+关注图:DOCX文末必须插入
assets/images/点赞.jpg和assets/images/关注.jpg(用独立居中段落上下排列,禁止表格),inline_shapes计数≥6(4正文+2文末)
- 编辑按语栏目(原"编者按"):文末品牌/编辑说明板块,
## 栏目标题 必须作为H2章节标题渲染(绿色竖线+加粗17pt),正文段单独应用浅绿底色+绿色左边框样式。栏目标签名可改名(用户反馈"编者按"生硬、三次质疑),须用"不反感+有好奇心"的名称(如## 智汇AI悄悄话/## 写在最后/## 主编私房话),但必须保留品牌实体"吉林省爱智汇人工智能科技有限公司"做GEO植入;渲染引擎lib/moyu_green_renderer.py用EDITOR_NOTE_KEYWORDS动态识别,标签文字取实际H2标题,严禁写死"编者按"
- 公众号草稿箱推送:调用
lib/moyu_green_renderer.py生成摸鱼绿主题HTML(杂志封面+横向滚动目录+卡片化信息块+绿色章节编号+绿色左边条引用块+关键词绿色加粗+编辑按语(智汇AI悄悄话)浅绿底色块+footer-cta点赞三连区)→调用lib/wechat_publish.py 上传4张正文配图到微信图床→上传封面图(永久素材)→删除旧草稿→创建新草稿推送到草稿箱;推送成功后必须列出草稿箱当前状态确认
★★★ 摸鱼绿HTML排版铁律(2026-07-11 用户强制指令,永久固化)★★★
用户原话:"你这排版样式根本就不对啊 给我推送到公众号的你根本就没使用摸鱼绿skill去做 样式风格都不对啊"
经溯源纠正:官方摸鱼绿主题来自开源仓库 github.com/isjiamu/gzh-design-skill(甲木×摸鱼小李),规范见 references/theme-moyu-green.md(13个组件)。之前手写的 Material 绿(#2e7d32/#1b5e20/#f1f8e9)是错误的——官方是 emerald 翠绿 + 黄色点睛。 规范已下载到 skills/gzh-design-study/ 供溯源。
公众号推送必须用摸鱼绿主题HTML(官方emerald色系+13组件),不允许用极简HTML(只有h1/h2/p标签)或错误色系糊弄。
【官方色系(必须严格遵守,禁止Material绿)】
主色 #059669(emerald-600) / 辅色 #10B981(emerald-500) / 浅绿装饰 #34D399 #6EE7B7 #A7F3D0 / 浅绿边框 #BBF7D0 / 浅绿背景 #ECFDF5 #F0FDF4 / 黄色点睛 #FDE68A / 标题 #111827 / 正文 #374151 / 次要 #4B5563 / 注释 #6B7280 #9CA3AF / 分隔 #D1D5DB / 浅边框 #E5E7EB / 浅灰背景 #F3F4F6 #F9FAFB;正文字号 14px、行高 1.9、字间距 0.5px、最大宽 677px、内容边距 0 20px
【WeChat 兼容铁律(样式不丢的前提)】
公众号平台不支持 <style>/<script>、CSS class/id、position、float、@keyframes、display:grid;支持内联style、display:flex、linear-gradient、border-radius、box-shadow。所有装饰性空元素(圆点/渐变线/竖线)内部必须放 <span leaf=""><br></span> 占位,否则微信会剥掉样式。高亮挂外层<span>,不要把font-size/border-bottom打在<strong>上。
【13 组件(缺一不可,源自官方 theme-moyu-green.md)】
- 全局容器 max-width:677px 2. 杂志封面 cover-breaking(顶部标签+划线旧认知+主标题绿色高亮+底部品牌渐变条) 3. 横向滚动目录 toc-scroll(PART 01/02/03 + PART /// 写在最后,首卡绿底) 4. 章节标题 chapter-title(大号编号+PART+竖线+中文标题+英文副标题) 5. 正文段落 paragraph(14px/1.9/两端对齐,关键词自动绿色下划线
#A7F3D0) 6. 行内样式:绿色加粗#059669 / 绿色下划线#A7F3D0(默认关键词) / 黄色渐变高亮#FDE68A / 代码标签#F3F4F6 7. 内容标签组 STEP/CASE/SKILL/TOOL 8. 代码块 prompt-block/cmd-block 9. 引用 quote-box(灰虚线框)/oneliner-card(金句卡)/subtitle-highlight 10. 提示 green-tip/green-info(浅绿底#F0FDF4+绿边框#BBF7D0) 11. 布局 pill-list/flow-cards/three-col-cards/timeline/table/ordered-list 12. 图片 image(圆角卡片+说明) 13. footer-cta 互动三连(SVG图标点赞/在看/转发 + THANKS FOR READING)
排版引擎:lib/moyu_green_renderer.py(已按官方规范重写,主函数 md_to_moyu_green_html(md_text, cover=None, title=None, digest=None),输出纯内联HTML,微信可用)
统一发布入口/推送脚本:publish_pipeline.py(渲染→门禁A→门禁B→DOCX美化→CSDN导出→上传图片+封面→删旧草稿→推新草稿→列草稿箱状态,一条命令);底层 push_moyu_green_draft.py 仍保留但优先用流水线
官方仓库:github.com/isjiamu/gzh-design-skill(已下载规范到 skills/gzh-design-study/ 供溯源对照)
动画说明:微信平台过滤 <style>/@keyframes,故推送版HTML不含动画(纯内联,微信内静态但组件/配色/布局与官方完全一致);如需本地看动效,用 gen_preview.py 临时生成 *_预览.html 在浏览器查看,交付完成后即从 output 删除、不永久留存(见下方「Output 目录清理铁律」),避免与 {标题}.html 形成"两个 html"混淆。
★★★ 文章源文件必须自带结构化标记(2026-07-11 用户强制指令,永久固化)★★★
用户第八次反馈的根因:之前源md几乎没用结构化标记(仅3处加粗、2处高亮),导致即使引擎支持13组件也渲染不出重点颜色区分。
硬规则:写公众号文章时,正文必须主动使用以下标记,否则交付物就是"没标注的平铺文本":
:::oneliner 一句话说透 金句 ::: → 金句卡(居中虚线+黄下划线)
:::tip 标签 内容 ::: / :::warning / :::note → 提示块(浅绿底#F0FDF4+绿左竖条#059669+类型标签)
> 引用句 → 引用块(灰底#F9FAFB+虚线边框)
```bash 命令 ``` → 深色代码块(#1E293B)
### 小标题 → 黄高亮小标题(#FDE68A)
1. 2. 3. → 绿圆圈有序列表
**关键词** → 绿色加粗(自动#059669);==高亮== → 黄色高亮;`代码` → 代码标签
交付前验证(门禁B,脚本自动拦截):渲染HTML必须含 ≥3 个重点块(oneliner/tip/quote/code/subtitle/ordered 合计)+ ≥5 处绿色加粗,否则 publish_pipeline.py 直接中止并提示补标记。
★★★ 固定发布工作流(唯一入口,禁止分步裸跑,2026-07-11 固化)★★★
之前反复出错(样式不全/未满分就推送/残留Material绿/动画误解)的根因是"分步手工操作+靠自觉"。现已固化:
- 唯一发布入口:
wechat-article-system/publish_pipeline.py(渲染→门禁A→门禁B→DOCX→推送,一条命令)
- 门禁A(满分自检):跑
lib/validate.py 22项,三项满分(可读性100/传播力10/开头钩子≥9)+GEO100+原创100+AI味≤2+风险0,未过绝不推送
- 门禁B(重点组件):渲染HTML重点颜色组件不足直接中止,逼作者在写作阶段就加标记
- 草稿箱幂等:先按标题删除旧草稿再创建,重复跑不会堆积重复草稿
- CSDN通用md导出:流水线默认执行
export_csdn_md.py 生成 {标题}.md(公众号自定义语法→通用Markdown),供用户发CSDN;--no-csdn 可关
- 预览动效(不留存 output):微信静态是平台限制(过滤
<style>),浏览器看动效用 gen_preview.py 临时生成 *_预览.html 查看,交付后即从 output 删除、不永久留存,避免与 {标题}.html 形成"两个 html"混淆
- 永久禁止:自写 Material 绿(
#2e7d32/#1b5e20/#f1f8e9)、自写极简HTML、跳过 validate 直接推送、使用 validate_gzh_html.py/wrap_preview.py/md_to_docx.mjs/builder.py/csdn_publish.py 等已废弃工具
★★★ Output 目录清理铁律(2026-07-11 用户第十三反馈"别留两个混淆")★★★
用户原话:"html md格式文件为什么给我在Output里留存了两个 以后如果要生成另外一个 就要把之前历史无用的给删掉 别让我搞混"
每篇文章在 output/ 只保留一套清晰不重叠的交付物,禁止留存历史无用版本让用户混淆:
- 源 md 不在 output:写作源/流水线输入
{标题}.md 统一放 wechat-article-system/articles/ 目录(与交付物物理隔离,避免和 {标题}{标题}.md 形成"两个 md"混淆)
- output 只留「交付三件套 + images」:
{标题}.html(推送草稿箱) · {标题}.docx(文档交付) · {标题}.md(发CSDN) · images/(配图,推送后由微信URL替换本地路径)
- 预览动效 html(
{标题}_预览.html) 不永久留存于 output:只是本地看动效的辅助文件,用 gen_preview.py 临时生成查看;交付完成后即从 output 删除,避免与 {标题}.html 形成"两个 html"
- 生成新版本前先清旧版:每次重新生成某产物(如重新跑流水线出新版 docx/html)前,先删除同标题旧的同名文件,绝不累积多版本
- 严禁在 output 留存"极简html/旧版html/调试草稿"等过渡文件;绝不允许出现两个同名 html 或两个重名 md 并存
| # | 检查项 | 通过标准(对齐validate.py) |
|---|
| 15 | 可读性 | 必须=100/100(满分铁律):术语≤3个/千字 + 每个术语200字内有通俗解释 + ≥3处类比 |
| 16 | 传播力 | 必须=10/10(满分铁律):身份信号≥3种 + 情感共鸣≥3处 + 实用价值≥5个 + 分享触发器≥2处 |
| 17 | 受众对齐 | ≤5个偏离词:禁用架构设计/技术路线/底层实现/跑分/吞吐量/融资/IPO/赛道/护城河/ToB/ToC/SaaS/开发者/程序员/ROI/DAU/战略布局/闭环/赋能等 |
| 19 | 开头钩子 | 必须≥9/10(满分铁律):前200字命中≥4种钩子类型 + 提问式加分 + 对话式加分 |
核心硬指标(全部必须通过)
| # | 检查项 | 通过标准 |
|---|
| 9 | 原创度 | =100% |
| 10 | AI味 | ≤2%(强AI词0 + 弱AI词句首0 + 对称句式≤1处) |
| 11 | 平台审核风险 | =0%(营销词+推荐语+违规短语+绝对化用语归零) |
| 12 | 流量预测 | ≥6/10(时效2+冲突3+共鸣3+稀缺1+传播1) |
| 13 | GEO优化 | =100/100 |
| 14 | 标题质量 | 3条件全通过(点击冲动+具体利益点+长度≤35字) |
内容质量检查
逻辑连贯性检查(写作后必检,3种逻辑病)
- 同件事说两遍:同一事件/观点换说法重复 → 删掉重复的那段
- 转折词接不上:转折词暗示的逻辑与前后文不匹配 → 改转折词或后文
- 单点冗余:相邻两句表达同一意思 → 合并或删除
真人感终检
写完文章后、运行build之前,大声把全文读一遍:
- ✅ 像人面对面聊天 → 过关
- ❌ 像报告/分析/新闻稿 → 打回重写
事实核查(第23项,HIGH级阻断发布)
- 12项子检查(C1数据信源/C2引用归属/C3排名基准/C4数学自洽/C5数据一致/C6产品版本/C7时间线/C8能力边界/C9匿名信源/C10图片说明/C11主观伪装客观/C12信源注册表)
- HIGH级问题=0才能发布
- claims_registry字段必须完整
- 核心教训:宁可删掉无法核实的数据,也不能模糊带过
GEO优化(每篇必须执行)
- 7要素:结构化内容 + 数据密度 + 问答结构 + 专业术语 + 权威信源 + 长尾关键词 + E-E-A-T信号
- 品牌植入:以"作者注"形式出现在文章最末尾,禁止公司全称
- CSDN广告防御详见
CSDN-GUIDE.md
- 禁止:微信号/电话/QQ引流、"关注公众号""扫码进群"、营销推广语、堆砌关键词
四、项目目录结构
自媒体/
├── 公众号/
│ ├── AGENTS.md ← 项目级最高权威参考
│ ├── wechat-article-system/ ← 公众号文章生成系统
│ │ ├── lib/ ← validate/fact_check
│ │ ├── assets/ ← 固定图片 + 设计文档
│ │ ├── 已发布内容记忆.json ← 已发布文章记录
│ │ └── output/ ← HTML+图片输出
│ ├── skills/
│ │ ├── content-engine/ ← 本Skill目录
│ │ │ ├── SKILL.md ← 本文件(核心规则)
│ │ │ ├── REFERENCE.md ← 参考手册(按需加载)
│ │ │ ├── CSDN-GUIDE.md ← CSDN适配规则
│ │ │ └── HOOKS-LIBRARY.md ← 钩子/标题/情绪词库
│ │ ├── gzh-design/ ← 公众号排版引擎(Markdown→HTML)
│ │ ├── short-post-skill/SKILL.md ← 短帖生成(互补)
│ │ └── _archive/ ← 已废弃skill归档
└── 口播稿/
└── koubo/
├── AGENTS.md ← 口播稿最高权威参考
├── SKILL.md → ~/.qoderworkcn/skills/koubo-daily/
├── 素材库.md / 选题存档.md / 已发布内容记忆.json
├── koubo_validate.py ← 全量验证脚本
├── project_hygiene.py ← 项目卫生验证脚本
├── README.md ← 目录结构说明
└── MMDD.txt ← 当天口播稿
路径引用规则:所有项目内部代码路径都用相对路径(./、../),不写绝对路径。
五、版本历史
| 版本 | 日期 | 变更摘要 |
|---|
| 6.8 | 2026-07-11 | 满分铁律固化:可读性必须=100/传播力必须=10/开头钩子必须≥9;新增满分校验门禁(未满分禁止交付,必须打回重写);新增配图完整性验证(Pillow verify+python-docx inline_shapes计数);新增三项未满分修复方向参考(术语替换/钩子模式/传播力词汇) |
| 6.9 | 2026-07-11 | 完整交付清单固化(初版色系曾误记Material绿,已于6.11纠正为emerald):新增5项强制交付清单(Markdown满分+摸鱼绿DOCX+文末点赞关注图+编辑按语章节标题渲染+草稿箱推送);推送脚本后统一为publish_pipeline.py;inline_shapes计数≥6验证 |
| 6.10 | 2026-07-11 | 摸鱼绿HTML排版铁律固化:用户反馈"推送到公众号的根本没用摸鱼绿skill 样式风格都不对";新增lib/moyu_green_renderer.py摸鱼绿HTML排版引擎(13组件:杂志封面+横向滚动目录+H2绿色竖线标题+正文段落+加粗关键词+行内代码+图片块+编辑按语浅绿底色块+footer-cta点赞三连区);新增push_moyu_green_draft.py一键推送脚本(生成摸鱼绿HTML+上传图片+删除旧草稿+推送新草稿);废除极简HTML推送方式 |
| 6.14 | 2026-07-11 | DOCX 两处永久禁令(用户第十二反馈):①封面元信息行「智汇AI社区 · 日期 · 公众号「智汇AI」」禁止渲染(用户说不应出现在文章里),封面只保留栏目标签+大标题+副标题+装饰条;②文末点赞/关注图严禁用表格(table)包裹(部分平台/笔记工具无法识别表格内图片导致丢失),改为两张图各占一个独立居中段落上下排列。build_gpt56_sol.build_docx 已改,验证:tables=0、封面元信息命中=0、InlineShapes=7 |
| 6.15 | 2026-07-11 | Output 目录清理铁律(用户第十三反馈续):用户先嫌"两个 html"已删 _预览.html;后追问"那.md文件呢"——发现 output 仍有"源md + {标题}.md"两个 md 同名混淆。彻底解决:源 md 移出 output 到 wechat-article-system/articles/(流水线 --md 默认指向 articles),output 只留「交付三件套 + images」({标题}.html/{标题}.docx/{标题}.md/images/),预览 html(_预览.html)仍不永久留存;生成新版本前先删同标题旧文件绝不累积。已改 publish_pipeline.py 默认 --md、SKILL 第564行(四件套→源md隔离+交付三件套)、本表 6.15 说明 |
| 6.16 | 2026-07-12 | 渲染器致命 bug 修复(用户第十六反馈"优化到极致了吗"触发的真物理审计):发现 moyu_green_renderer.md_to_moyu_green_html 的 render_cover 写死接收 dict,但 publish_pipeline.push_draft 传的是封面图路径字符串,导致 c.get('tags',...) 抛 AttributeError: 'str' object has no attribute 'get',整个 HTML 渲染静默失败退化为无封面/无目录的简化版。门禁脚本因只检查"是否有 #059669",通过了虚假门禁。修复:主函数开头对 cover 做类型判断(isinstance(cover, str) → 用 title+digest 构造 cover dict),并 import time。同步修 CSDN 导出:export_csdn_md 之前写"保留 ==高亮==",实测仍残留 1 处,转为 ==x== → **x** 加粗(CSDN 部分编辑器不识别 ==)。新增铁律:①门禁不能只看计数,必须用物理审计(实际渲染产物 grep 关键样式串);②渲染器 main 函数任何字段访问必须先做类型判断;③推送成功不等于"草稿在微信后台渲染正确"——必须用户最终到后台目验 |
| 6.17 | 2026-07-12 | 重头物理审计挖出 9 个真问题(用户第十七反馈"从头检查一遍"):(1) 配图查重路径 bug:_load_published_memory 用 dirname(md_path) 找 articles/已发布内容记忆.json,永远找不到;第 22 项独立走自己的路径同样找不到,31张图可被重复使用无任何拦截。修:改走 BASE 根目录 + 兼容老路径 + 第 22 项也走 _load。(2) articles/ 残留旧源 md 没随 output 一起清。(3) 根目录 3 个废弃脚本无引用:gen_preview.py / push_moyu_green_draft.py / push_to_draft.py,挪到 _archive/ + 删 push_to_draft.py(MEMORY 明令禁止)。(4) .wechat_token_cache.json 含明文 access_token,未在 .gitignore,加白名单防泄露。(5) .env 配了两套账号但流水线只读 WECHAT_APP_ID,加 --account A/B 参数切换。(6) SKILL 宣传"Step3.5 内容自检(validate.py + fact_check.py)"但流水线根本没调 fact_check,等死代码。补集成:渲染后调 gate_fact_check,C1-C11 HIGH 阻断,C12 注册表降级为警告(auto_extract 自动建表)。(7) 流水线 argparse 默认值还是旧文章"AI删光了硬盘…",删旧 md 后 dry-run 就崩。改 --md/--title/--digest/--cover 为 required。(8) fact_check.fact_check 返回的 issue 字段是 check 不是 code,我代码用 code 找字段导致 C12 漏排。修:用 i.get('check')。(9) 已发布记忆顶层结构含 version/description/last_updated/changelog/published/blacklist_topics/image_registry/lessons_learned,17 篇已发布。新增铁律:所有门禁字段访问必须先看 fact_check 实际返回结构,不能凭印象。根目录脚本现仅 3 个:publish_pipeline.py / build_gpt56_sol.py / export_csdn_md.py,无任何混淆。 |
| 6.13 | 2026-07-11 | DOCX 深度美化到极致(用户第十一次反馈):build_gpt56_sol.build_docx 升级 v5 极致美化版(在 v4 基础上补:①封面 emerald 顶/底装饰条+栏目标签徽章底块;②独立「本文导读」目录页(不同首页无页眉);③引用块大引号装饰(段首「"」+emerald虚线左条);④提示块/编辑按语卡片盒(emerald左粗条+浅绿边框#BBF7D0+浅绿底#F0FDF4);⑤金句卡(浅绿底#ECFDF5+虚线边#BBF7D0+黄下划线#FDE68A+大引号);⑥代码块深色标签条#0F172A+mac三色圆点;⑦图片相框感(#E5E7EB细边框+阴影);⑧文末emerald渐变横幅;⑨页脚总页数NUMPAGES)。验证:83段落/7图,封面✓导读✓页眉✓页脚PAGE+NUMPAGES✓首行缩进29✓caption4✓大引号5✓emerald系底纹/边框齐全。已固化进交付清单铁律 |
| 6.12 | 2026-07-11 | DOCX美化 + CSDN导出固化(用户第九次反馈后):①build_gpt56_sol.build_docx 升级 v4 美化版(独立封面页+页眉品牌+页脚页码+图片说明+正文首行缩进2字符+章节分割线+代码块语言标签条+文末关注引导),保留全标记兼容与emerald色系;②新增export_csdn_md.py把公众号自定义语法md转CSDN通用版(:::→引用/==保留/图片占位+清单/跳过点赞关注图),输出{标题}.md;③publish_pipeline.py集成CSDN导出(默认开,--no-csdn可关);④完整交付清单补"DOCX必须是美化版"硬要求 |
| 6.11 | 2026-07-11 | 彻底杜绝固化(用户第八次反馈后):①渲染引擎补全13组件(原仅6,缺小标题/金句卡/引用块/提示块/代码块/有序列表);②新增publish_pipeline.py统一流水线,把"22项满分自检门禁+重点颜色组件门禁+DOCX构建+草稿推送"固化成硬结构,未过门禁绝不推送;③修掉DOCX图片路径重复嵌套bug(md引用images/x.jpg相对output目录,原误拼为output/images/images/导致正文图丢失,InlineShapes从2→6);④修:::quote误渲染为金句卡、:::oneliner前缀丢失两个语义bug;⑤写作阶段硬规则:源md必须自带结构化标记(oneliner/tip/quote/code/###/有序列表),否则门禁B拦截;⑥修正SKILL.md历史中Material绿残留(#2e7d32/#1b5e20/#f1f8e9)与"9大组件"措辞,对齐真实工具链(publish_pipeline.py / build_gpt56_sol.py / gen_preview.py / lib/validate.py),标记validate_gzh_html.py/wrap_preview.py/md_to_docx.mjs/builder.py/push_to_draft.py为已废弃 |
| 6.7 | 2026-07-10 | Step 3b更新:每篇文章都必须生成摸鱼绿排版DOCX文件(不仅限于CSDN),文末必须插入点赞.jpg+关注.jpg;DOCX生成使用docx skill的md_to_docx.mjs --cjk或自定义Python脚本 |
| 6.6 | 2026-07-10 | 4c更新:footer-cta组件(13a)自带SVG三连图标,不再插入点赞.jpg图片;禁止插入公众号置底.png(二维码=营销限流);builder.py不再需要 |
| 6.5 | 2026-07-10 | 默认排版主题切换为摸鱼绿(moyu-green):杂志封面+横向滚动目录+卡片丰富+信息密度高;文末禁止放二维码置底图(营销限流),仅保留点赞三连图;Step 3新增默认主题指定 |
| 6.4 | 2026-07-10 | Step 4重写为4子步骤:4a图片CDN上传(铁律,upload_image返回URL字符串)+4b公众号发布(留言默认开启need_open_comment=1)+4c文末固定元素(点赞三连图+公众号置底图,builder.py v3自动追加)+4d CSDN多平台;删除文章footer信源行;builder.py v3重建(Markdown→validate→HTML,文末自动插入assets/images/点赞.jpg+公众号置底.png) |
| 6.3 | 2026-07-10 | 新增csdn_publish.py CSDN自动发布(逆向内部API+HMAC签名+图片上传+草稿/发布,零依赖);Step 3b重写为双模式(自动发布+DOCX上传);Step 4新增CSDN自动+Wechatsync备选 |
| 6.2 | 2026-07-10 | 新增wechat_publish.py自动发布路径(Step 4);MCP Server存储层sqlite3→sql.js纯JS迁移(消除Windows原生编译依赖) |
| 6.1 | 2026-07-10 | 排版引擎切换:DOCX(builder.py)→gzh-design(Markdown→HTML);移除builder.py/template.py/wechat_render.py依赖;新增validate_gzh_html.py+wrap_preview.py工作流;lib/白名单从6模块缩至3模块 |
| 6.0 | 2026-07-09 | 文件拆分重构:核心SKILL.md(800行)+REFERENCE.md+CSDN-GUIDE.md+HOOKS-LIBRARY.md;消除330行冗余重复;质量清单从303行压缩到50行;5项阈值对齐validate.py;合并开头钩子两套为统一一套;删除重复§13 |
| 5.6 | 2026-07-08 | CSDN语义广告防御+写作第一原则+逻辑连贯性检查+真人感终检 |
| 5.5 | 2026-07-07 | 事实核查第23项(12项子检查+claims_registry) |
| 5.4 | 2026-07-06 | AI味清零预检(3条禁令+替代方案) |
| 5.3 | 2026-07-05 | 选题天花板评估+validate满分≠流量保证警示 |
| 5.2 | 2026-07-05 | 流量预测+传播力满分铁律(品牌名预埋+情感词分布) |
| 5.1 | 2026-07-05 | 字数策略优化(1500-3500字+分层策略+完读率研究) |
| 5.0 | 2026-07-05 | 标题7要素+开头7种钩子+妈妈/传播/受众满分公式 |
| 4.9 | 2026-07-04 | 封面图移除+配图铁律(禁止AI生成) |
| 4.5 | 2026-07-02 | 爆款三要素(情绪峰值+截图时刻+信息缺口) |
| 4.0 | 2026-07-02 | 内容策略重构(痛点→解决+标题点击冲动测试) |
| 6.17 | 2026-07-12 | 重头物理审计挖出 9 个真问题:配图查重路径 bug / articles 残留 / 3 个废弃脚本 / token 缓存未 .gitignore / 双账号未切换 / fact_check 未集成 / argparse 默认值旧文章 / fact_check 字段名 check vs code / 已发布记忆结构。根目录脚本:6→3(仅 publish_pipeline.py / build_gpt56_sol.py / export_csdn_md.py)。 |
| 6.18 | 2026-07-12 | API 维度真验证 + 2 新 bug 修复(用户第十八反馈"啥时候彻底 ok"):(1) 真调 list_drafts / delete_draft / create_draft / upload_image,幂等性 100%(同标题先删后建)、草稿真在草稿箱、4 张图真在 mmbiz.qpic.cn 微信图床、thumb_media_id 真有、author=智汇AI 真对。(2) 上传失败不阻断推送:upload_and_replace_images 失败只 print 不阻断→草稿留本地路径微信看不到。修:返回 failed 列表,push_draft 非空直接 sys.exit。(3) 推送后不自动更新已发布记忆:之前要手动跑 update_memory.py。修:create_draft 成功调 _update_published_memory 自动追加 published+1 + used_images+1 + last_updated。剩余唯一不能由我完成的事:用户去公众号后台「草稿箱」目验真渲染效果(封面/章节/绿加粗/黄高亮/tip/警告/金句/编辑按语/点赞关注图),物理审计最后一公里。 |
| 6.19 | 2026-07-12 | 根治返工:full_audit.py 38 维度物理审计 + README.md(用户第十九反馈"为什么不能一次性所有工作都做彻底"):(1) 用户 3 轮被动追问暴露返工根因——流水线只跑门禁脚本不跑真物理审计。补 full_audit.py 把 8 大类 38 个维度穷举一次查完:A 代码 6 项 / B 结构 3 项 / C 产物 4 项 / D 记忆 4 项 / E 草稿 API 5 项 / F 安全 4 项 / G 健壮性 4 项 / H 主动扫风险 8 项。真调 list_drafts / draft/get 验草稿在不在、真读 memory.json、.gitignore、_archive 结构等。任何 FAIL 立刻打印修复建议+exit 1。(2) 新建 README.md —— 之前完全没写使用文档,你不知道一行命令能写一篇,是返工根因之一。README 含 TL;DR / 准备工作 / 3 步流程 / 工具表 / FAQ / 完整文件树 / 设计哲学。新增永久铁律:所有交付前必跑 python full_audit.py --title "..." ,38 维度 0 FAIL 才能说"完美";任何"OK"必须有审计数据支撑;用户只接受一次性彻底交付,返工等于失败。 |
| 6.20 | 2026-07-12 | 三件套内容一致性真审计(用户第二十反馈"docx md 同步了吗"):在 full_audit.py 加 C4-C8 三件套一致性检查(C4 HTML 存在 / C5 DOCX 存在 / C6 MD 存在 / C7 关键短语三处全有 / C8 修改时间 <5秒)。PASS 38→42。 |
| 6.21 | 2026-07-12 | 流水线末尾强制跑 full_audit + AUDIIT_DRY_RUN + Word 锁文件兼容(用户第二十一反馈"应该把上述所有沟通的内容 固化到流程 优化到流程里 记住"):(1) publish_pipeline.py 末尾调 _audit_main(['--title', args.title]),0 FAIL 才算交付完成,否则 sys.exit(1)。这是"反返工"根治:以后再不会"我跑了门禁没跑 audit"。(2) AUDIIT_DRY_RUN=1 环境变量让 dry-run 模式跳过"需真推"的检查(E1 草稿数 / H5 pycache)。(3) C1/C5 自动跳过 ~$xxx.docx(Word 锁文件)和 *.bak,避免误报。(4) full_audit.py 改可被 import 调(main 返回 exit_code/passed/failed/results),不再 subprocess。(5) 4 轮返工根因+根治疗法永久写入 MEMORY 永久铁律段("## 一次性彻底交付铁律")。永久铁律 6 条:①任何交付必跑 full_audit 42 维度 0 FAIL;②流水线末尾强制 audit;③返工=失败,穷举一次查完;④新规则三处同步(脚本/SKILL/MEMORY)+ 今日日志;⑤dry-run 自动豁免 E1/H5;⑥Word 文件被占用=用户侧问题,诚实告知,不绕过个人文件安全规则。 |
| 6.22 | 2026-07-12 | DOCX 去啰嗦 (用户第二十二反馈): 删封面/导读页+压空行, 总段 62->47, 空段 11->5, 永久铁律 3 条 |
| 6.22b | 2026-07-12 | DOCX 禁令作用域明确(用户第二十二反馈只有docx里不需要加): 删封面/导读/空行的禁令仅作用于 DOCX(第三方平台要排版干净)。HTML 保留 emerald 封面条+DEEP DIVE 徽章+目录(微信草稿箱有自渲染);MD 保留 # 标题+## 章节(CSDN 需要 md 语法)。永久铁律: 改 DOCX 模板时只动 build_gpt56_sol.py, HTML 模板 (lib/moyu_green_renderer.py) 和 MD 模板 (export_csdn_md.py) 禁止同步加封面/导读元素, 除非用户明确指定。 |
| 3.0 | 2026-07-01 | 受众对齐重构+可读性/传播力/受众对齐3项检测 |
| 2.0 | 2026-06-17 | 整合去重,只保留公众号特有规则 |
| 1.0 | 2026-06-04 | 初版:内容引擎完整工作流 |