content-engine
智汇AI内容引擎 — 公众号双号日更+口播8篇日更的自动化Skill。覆盖:热点拉取→选题分配→公众号文章生成(Markdown→HTML排版)→口播文案生成→发布→记忆更新。触发词:写文章/写口播/选题/发布/日更/排期/热点
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
智汇AI内容引擎 — 公众号双号日更+口播8篇日更的自动化Skill。覆盖:热点拉取→选题分配→公众号文章生成(Markdown→HTML排版)→口播文案生成→发布→记忆更新。触发词:写文章/写口播/选题/发布/日更/排期/热点
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Koubo 口播稿完整工作流 Skill(v11.7·2026-07-12 约束优先写作法)。当用户要求生成口播稿、8篇口播、写口播、今天的口播、明天的口播、选题、口播稿选题、生成口播内容时使用。v11.7新增:约束优先写作法——每篇动笔前先算预算(字数/我/转折/收藏/教练),写中实时调用 koubo_live_check.py 自查,写完后一次性过门禁,杜绝V1-V20迭代返工。v11.6热点锚定铁律:三层防线体系;Phase 1热点扫描前置为item 1最高优先级。
观点金句型短文生成器 — 100-300字精简内容,一句话说透一个观点。适配微信公众号短文/微头条/微博朋友圈/CSDN知乎多平台分发。触发词:写短文/写观点/金句/微头条/微博/朋友圈文案/短内容
| name | content-engine |
| description | 智汇AI内容引擎 — 公众号双号日更+口播8篇日更的自动化Skill。覆盖:热点拉取→选题分配→公众号文章生成(Markdown→HTML排版)→口播文案生成→发布→记忆更新。触发词:写文章/写口播/选题/发布/日更/排期/热点 |
| version | 6.15 |
| date | 2026-07-11 |
权威参考:
公众号/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词"的问题,是整体质感的要求:
自检方法:写完文章后,大声读一遍。如果听起来像一个人面对面跟你聊天、分享他的发现和判断——过关。如果听起来像一篇报告、一份分析、一个新闻稿——打回重写。
一句话判断标准:你妈/你对象/你学员家长能不能看懂、想不想转发?
公众号文章的读者是普通人——上班族、学生、家长、退休老人、自由职业者。 不是程序员、不是投资人、不是AI从业者。
拿到任何选题,3秒内回答:
同一个热点,必须从普通人角度切入:
核心:根据选题类型自动选择写作模板,不是所有文章都用同一个公式。
拿到选题后,按顺序判断:
0. 【天花板评估】(不过不写)
├─ 受众面 ≤ C级 → 放弃(除非有S级事件加持)
├─ 受众面 B级 + 无具体新闻事件 → 放弃
└─ 受众面 A/S级 或 B级+有事件 ↓
1. 有没有独家实测权限?
├─ 有 → 用【爆款实测模板】
└─ 没有 ↓
2. 是不是大模型/AI工具的重大更新?
├─ 是 + 有对比数据 → 用【爆款实测模板】
└─ 否 ↓
3. 是不是普通人关心的热点?
├─ 是 → 用【内容公式v2】
└─ 否 → 放弃这个选题
| 维度 | 爆款实测模板 | 内容公式v2 |
|---|---|---|
| 选题类型 | 大模型更新/AI工具实测/国产vs海外 | 普通人痛点/热点解读/避坑指南 |
| 内容特点 | 有独家数据、跑分对比、价格表 | 有方法步骤、场景代入、行动建议 |
| 读者收获 | 选型决策依据 | 立刻能用的方法 |
| 篇幅 | 2000-3000字 | 1500-2500字 |
任一条件不满足 → 退回用【内容公式v2】
实测文章会包含技术参数和跑分数据,但通过以下方式保持可读性:每个数据绑定具体场景、用大白话解释术语、突出成本对比、给出明确选型建议。
判断标准不变: 普通人能不能看懂、想不想转发?
一句话总结:从"新闻分析"转向"问题→解决"。你不是记者,你是朋友。
动笔前必须回答3个问题(30秒内):
① 受众面有多宽? S级(全人群) > A级(大群体) > B级(垂直群体) > C级(小众)。底线:B级以下不做。
② 有没有具体新闻事件? 有事件=有紧迫感=有流量。没有事件=流量封顶。
③ 标题有没有"非点不可"的冲动? 好文章标题≠爆款标题。爆款=具体事件+故事+情绪让人非点不可。
⚠️ 铁律:受众面B + 无事件 = 不做。不管validate能拿多少分。
① 品牌名预埋(流量预测·传播力)
② 情感词分布(传播力·情感共鸣)
③ 身份词分布(传播力·身份信号)
AI味计算规则(validate.py,必须≤2%):
写作铁律(3条禁令):
核心原则:生成≥5个候选标题,自动打分,选最优。
HOOKS-LIBRARY.md),生成5个候选铁律:7项必须全部命中,缺任何一项标题打回重写。
核心原则:前200字必须命中≥5种钩子类型。详细模板见
HOOKS-LIBRARY.md。
铁律:前200字命中≥5种。问号+1分,对话引号+1分,上限10分。
命中≥5种钩子时,每句话≤30字,钩子之间必须有叙事连接,不能硬拼。
公众号流量=曝光×点击×读完×互动。每一层都要优化。
要素1:情绪峰值设计(动笔前必做) — 4个情绪锚点:冲击(开头)+扎心(中段)+顿悟(后段)+温度(结尾)。必须用具体的人和事承载。
要素2:截图时刻(每篇≥1个) — 放在highlight组件里,3条件至少满足2个:有数字、有态度、有身份。
要素3:信息缺口(禁止模板化悬念桥) — 禁止"不过XX还不是最X的"模板,必须用具体的人/事/数字制造好奇心。
| 维度 | 分值 | 强制要求 |
|---|---|---|
| 时效性 | 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.py衡量"算法友好度",不是"读者想不想点"。选题天花板在动笔前决定80%的流量上限。
核心原则:写完再发不如验证完再写。选题不对,写得再好也没人看。
第0步:天花板评估(30秒)
第1步:需求验证
lib/all_sources.py 的 cn_hot 段(与口播稿共用同一份注册表),验证时直接按注册表逐源核对,避免漏源。第2步:差异化验证
第3步:时效性验证
第4步:转发潜力验证
| 检查项 | 通过标准 |
|---|---|
| 受众面 | ≥ B级 |
| 事件驱动 | 有具体新闻事件 |
| 点击冲动 | 标题念出来朋友想追问 |
| 抖音相关视频播放量 | TOP3 ≥ 1万 |
| 同角度文章数量 | 前10篇中 ≥ 3篇角度不同 |
| 时效窗口 | 热点24h内 / 常青随时 |
| 转发对象明确 | 能说出具体身份 |
写公众号文章前必须先查 公众号/wechat-article-system/已发布内容记忆.json:
published数组,提取所有已发布文章的title、topic、keywordspublished数组lessons_learned数组本Skill是「智汇AI」全媒体内容生产的核心引擎:
| 内容线 | 账号 | 产量 | 输出格式 |
|---|---|---|---|
| 公众号(单账号) | 普通人AI实操指南 | 3-5篇/周(质量优先) | Markdown→HTML |
| 口播×8「智汇AI社区丨李总」 | AI+教育实操干货 | 8条/天 | MD |
信源注册表(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。
| 分配 | 角度要求 |
|---|---|
| 公众号(单账号) | 偏工具/实操/创业经验 + 行业/资本/战略,落脚到"我怎么做的+这背后的商业逻辑" |
| 口播①-⑧ | 每条独立热点,落脚到"孩子教育/家长认知" |
去重检查:对比 MEMORY.md §五 + 已发布内容记忆.json + 当天口播选题
文章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
# 加 --dry-run 只跑 渲染+自检门禁+重点组件检查+DOCX构建,不推送(用于本地验证)
该脚本内部顺序(硬结构,不可跳过):
lib/moyu_green_renderer.md_to_moyu_green_html 生成摸鱼绿主题HTML(官方 emerald 13组件,纯内联,微信可用)build_gpt56_sol.build_docx 构建摸鱼绿DOCX(全标记兼容)每篇文章都必须生成摸鱼绿排版的 DOCX 文件(不仅限于CSDN发布),且必须是"美化版":
publish_pipeline.py 自动执行):使用 build_gpt56_sol.py 的 build_docx()(v5 极致美化版,已参数化,禁止再手写 builder.py)
#059669 + 左边条引用块 + 关键词绿色加粗 #059669 + 编辑按语浅绿底 #F0FDF4 + 编辑按语绿色左边框 #059669PAGE 字段 + NUMPAGES 总页数)#F9FAFB + emerald 虚线左边框 + 段首「"」大引号符号#059669 + 浅绿边框 #BBF7D0 + 浅绿底 #F0FDF4#ECFDF5 + 虚线边框 #BBF7D0 + 黄色点睛下划线 #FDE68A + 段首「"」大引号#0F172A 底 + mac 三色圆点)+ 代码正文 #1E293B 底 浅色字#E5E7EB + 轻微阴影### 小标题/> 引用/:::oneliner/:::tip/```/1. 有序列表/==高亮==/**加粗**/行内代码{文章标题}.docx(必须用标题原文、不加任何装饰后缀,例:AI删光了创业者的硬盘,3个普通人避坑真相.docx)publish_pipeline.py 自动执行):使用 export_csdn_md.py
:::/== 等 CSDN 不支持语法,发 CSDN 前必须转成通用版(否则用户没法直接发):::oneliner/:::quote→引用;:::tip/:::warning/:::note→引用+加粗标签;==高亮==保留(CSDN支持);图片→占位URL + 文末配图清单;跳过公众号点赞/关注图{文章标题}.md,直接给用户发 CSDN 用注意:不是每篇都发CSDN。含具体平台名的实操文建议只发公众号;技术工具类/实测类文章适合双发。CSDN 发文需用户自行把图片上传到 CSDN 图床并替换 URL(文末已附清单)。
在排版前或排版后,对文章Markdown内容运行自检:
# 22项内容自检
python lib/validate.py output/文章.md
# 事实核查
python lib/fact_check.py # 基于文章内容的事实核查
文章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) # 返回URL字符串,不是dict
if wx_url and isinstance(wx_url, str) and wx_url.startswith('http'):
url_map[local_path] = wx_url
# 替换HTML
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)
铁律:不上传图片直接发布 = 文章中图片全部空白。每次发布前必须执行此步骤。
python lib/wechat_publish.py publish output/文章.html "文章标题"
WECHAT_APP_ID/WECHAT_APP_SECRETupload_permanent_media(path, 'thumb')上传获取media_idneed_open_comment: 1),无需手动设置摸鱼绿主题的 footer-cta组件(13a) 已自带点赞/在看/转发SVG图标三连区,不需要额外插入assets/images/点赞.jpg图片。
禁止插入assets/images/公众号置底.png(含二维码,会被微信判定为营销内容导致限流)。
禁止在文章footer中写"信源:xxx"行。数据来源在正文中引用即可,文末不单独列出。
python lib/csdn_publish.py auto output/文章.md "标签1,标签2"python 口播稿/koubo/project_hygiene.py每项:检查项 + 通过标准。详细规则见前文各章节和参考文件。
★★★ 满分铁律(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-docxinline_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/ 代码标签#F3F4F67. 内容标签组 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.py22项,三项满分(可读性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字) |
AI删光了创业者的硬盘,3个普通人避坑真相.md/.html/.docx);严禁拼音缩写/英文slug或_摸鱼绿/_CSDN等装饰后缀瞎起名(如gpt56_sol_delete_disk.docx之类一律禁止)写完文章后、运行build之前,大声把全文读一遍:
CSDN-GUIDE.md自媒体/
├── 公众号/
│ ├── 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( |
| 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 | 初版:内容引擎完整工作流 |