wewrite/README.md
wangzhuc 40bc8a1ceb 修复排版升级与 workflow 的兼容问题 + 更新 README
兼容修复:
- style-template.md 主题列表从 4 → 16,新增 gallery 提示
- writing-guide.md "客户" → "用户"(单用户模式残留措辞)
- SKILL.md description 新增主题画廊/容器语法触发词
- SKILL.md Step 4 新增容器语法说明(:::dialogue/timeline/callout/quote)
- SKILL.md Step 7 新增 converter 自动修复说明(CJK/脚注/暗黑/列表)
- SKILL.md Step 8 新增"看看有什么主题"/"换主题"用户操作
- SKILL.md Onboard 主题选问新增 gallery 命令提示
- wechat-constraints.md 新增第 8 节"WeWrite 自动修复"
- README 完整更新:排版引擎章节、16 主题分类表、容器语法示例、gallery 命令

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 22:58:32 +08:00

10 KiB
Raw Blame History

WeWrite

公众号文章全流程 AI Skill —— 从热点抓取到草稿箱推送,一句话搞定。

兼容 Claude CodeOpenClaw 的 skill 格式。安装后说「写一篇公众号文章」即可触发完整流程。

它能做什么

"写一篇公众号文章"
  → 抓热点 → 选题评分 → 框架选择 → 写作7层去AI痕迹
  → SEO优化 → AI配图 → 微信排版 → 推送草稿箱

首次使用时会通过对话引导你设置公众号风格,之后每次只需一句话。

核心能力

能力 说明 实现
热点抓取 微博 + 头条 + 百度实时热搜 scripts/fetch_hotspots.py
SEO 评分 百度 + 360 搜索量化评分 scripts/seo_keywords.py
选题生成 10 选题 × 3 维度评分 + 历史去重 references/topic-selection.md
框架生成 5 套写作骨架(痛点/故事/清单/对比/热点) references/frameworks.md
文章写作 7 层去 AI 痕迹 + 维度随机化 + 风格适配 references/writing-guide.md
SEO 优化 标题策略 / 摘要 / 关键词 / 标签 references/seo-rules.md
视觉 AI 封面 3 创意 + 内文 3-6 配图 toolkit/image_gen.py
排版发布 Markdown → 微信内联样式 HTML → 草稿箱 toolkit/cli.py
效果复盘 微信数据分析 API 回填阅读/分享数据 scripts/fetch_stats.py
风格学习 从你的人工修改中提取写作偏好 scripts/learn_edits.py

7 层去 AI 痕迹

WeWrite 的写作不是"写完再改",而是从第一句话开始就像人在写。针对朱雀等 AI 检测工具,在 7 个统计维度同时制造"人味"

对抗目标 手段
1. 词汇层 词汇分布过"中位" 冷/温/热/野四温度梯度混搭
2. 句法层 句子复杂度均匀 破句、自我纠正、长短句剧烈交替
3. 信息密度层 每段信息量均匀 高密度段后必跟低密度段
4. 连贯性打破层 过渡太丝滑 硬切、跑题再回来、非线性展开
5. 具体性注入层 抽象泛化 具体时间/地点/人物/非整数数字
6. 情绪真实感层 情绪平铺 情绪弧线(克制→爆发→犹豫)
7. 维度随机化层 跨文章模式识别 6 维度池随机抽 2-3 个贯穿全文

每篇文章写完后执行 8 项自检,不通过则定向重写。

排版引擎

16 个主题

# 浏览器内预览所有主题
python3 toolkit/cli.py gallery

# 列出主题名称
python3 toolkit/cli.py themes
类别 主题
通用 professional-clean(默认)、minimalnewspaper
科技 tech-modernbytedancegithub
文艺 warm-editorialsspaiinkelegant-rose
商务 bold-navyminimal-goldbold-green
风格 bauhausfocus-redmidnight

所有主题均支持微信暗黑模式(自动注入 data-darkmode-* 属性)。

微信兼容性自动修复

Converter 自动处理以下微信平台限制,无需手动干预:

问题 自动修复
外链被屏蔽 转为上标编号脚注 + 文末参考链接
中英混排无间距 CJK-Latin 边界自动加空格
加粗标点渲染异常 标点自动移到 </strong>
原生列表渲染不稳定 <ul>/<ol> 转为样式化 <section>
暗黑模式颜色反转 注入 data-darkmode-color/bgcolor
<style> 被剥离 所有 CSS 以内联 style 注入

容器语法

适合特定内容类型的富排版块,在 Markdown 中使用 ::: 语法:

:::dialogue
你好,请问这个功能怎么用?
> 很简单,直接在 Markdown 里写就行。
:::

:::timeline
**2024 Q1** 立项启动
**2024 Q3** MVP 上线
**2025 Q1** 用户突破 10 万
:::

:::callout tip
这是一个提示框,支持 tip / warning / info / danger 四种类型。
:::

:::quote
好的排版不是让读者注意到设计,而是让读者忘记设计。
:::

安装

1. 获取代码

git clone https://github.com/oaker-io/wewrite.git

2. 挂载为 Skill

Claude Code

# 方式 A添加 skill 路径到设置
# 方式 B复制到 skills 目录
cp -r wewrite ~/.claude/skills/wewrite

OpenClaw

# 复制到 openclaw skills 目录
cp -r wewrite /path/to/openclaw/skills/wewrite

3. 安装 Python 依赖

pip install -r requirements.txt

4. 配置(可选)

cp config.example.yaml config.yaml

编辑 config.yaml,填入:

  • 微信公众号 appid / secret — 推送草稿箱和数据统计需要
  • 图片生成 API key — doubao-seedream 或 OpenAI DALL-E

不配也能用——环境检查会自动识别缺失的 API走降级路径生成本地 HTML + 输出图片提示词)。

快速开始

你:写一篇公众号文章

(首次使用会引导你设置公众号风格,也可以说"用默认的"跳过)

你:写一篇关于 AI Agent 的公众号文章
你:交互模式,写一篇关于效率工具的推文
你:帮我润色一下刚才那篇
你:看看有什么主题              → 打开主题画廊
你:换成 sspai 主题重新排版     → 切换主题
你:看看最近文章数据怎么样      → 效果复盘

目录结构

wewrite/
├── SKILL.md                # Skill 主文件Agent 读取并执行)
├── config.example.yaml     # API 配置模板
├── style.example.yaml      # 风格配置模板(首次使用时自动生成 style.yaml
├── requirements.txt
│
├── scripts/                # 数据采集与学习
│   ├── fetch_hotspots.py     # 多平台热点抓取
│   ├── seo_keywords.py       # SEO 关键词分析
│   ├── fetch_stats.py        # 微信文章数据回填
│   ├── build_playbook.py     # 从历史文章生成写作 Playbook
│   └── learn_edits.py        # 学习人工修改
│
├── toolkit/                # Markdown → 微信工具链
│   ├── cli.py                # CLIpreview / publish / gallery / themes
│   ├── converter.py          # Markdown → 内联样式 HTML + 微信兼容修复
│   ├── theme.py              # YAML 主题引擎
│   ├── publisher.py          # 微信草稿箱 API
│   ├── wechat_api.py         # access_token / 图片上传
│   ├── image_gen.py          # AI 图片生成doubao / OpenAI
│   └── themes/               # 16 套排版主题(含暗黑模式)
│
├── references/             # Agent 按需读取的参考文档
│   ├── writing-guide.md      # 写作规范 + 7 层去 AI 痕迹
│   ├── frameworks.md         # 5 种写作框架
│   ├── topic-selection.md    # 选题评估规则
│   ├── seo-rules.md          # 微信 SEO 规则
│   ├── visual-prompts.md     # 视觉 AI 提示词规范
│   ├── wechat-constraints.md # 微信平台限制 + 自动修复说明
│   └── style-template.md    # 风格配置字段 + 全部主题列表
│
├── output/                 # 生成的文章(运行时产生)
├── corpus/                 # 历史文章语料(可选,用于 Playbook 学习)
└── lessons/                # 修改记录(自动生成)

运行时自动生成的文件(不入 gitstyle.yamlhistory.yamlplaybook.mdcorpus/lessons/

风格配置

首次使用时 Agent 会通过对话引导你生成 style.yaml。你也可以手动创建:

cp style.example.yaml style.yaml

核心字段:

name: "公众号名称"
industry: "行业"
topics:
  - "方向1"
  - "方向2"
tone: "写作风格描述"
theme: "professional-clean"  # 排版主题16 个可选,运行 gallery 预览)

详见 references/style-template.md

图片生成

通过 config.yaml 切换 provider

Provider 适用场景 获取 Key
doubao 中文提示词效果好,国内快 火山引擎 Ark
openai DALL-E 3国际通用 OpenAI

不配置时自动跳过生图,输出提示词供手动生成。

风格学习

WeWrite 能从你的修改中学习写作偏好:

  1. 导入历史文章:把 .md 文件放入 corpus/Agent 会提取风格特征生成 playbook.md
  2. 学习修改:对 Agent 说"学习我的修改",它会 diff 你的改稿,积累 5 次后自动更新 Playbook
  3. Playbook 优先一旦生成Playbook 中的规则优先于通用写作规范

Toolkit 独立使用

即使不用 Agent工具链也可以独立使用

# 预览 Markdown → 微信 HTML
python3 toolkit/cli.py preview article.md --theme sspai

# 浏览器内主题画廊16 主题并排预览 + 一键复制)
python3 toolkit/cli.py gallery
python3 toolkit/cli.py gallery article.md  # 用自己的文章预览

# 发布到微信草稿箱
python3 toolkit/cli.py publish article.md --cover cover.png --title "文章标题"

# 列出所有主题
python3 toolkit/cli.py themes

# 抓热点
python3 scripts/fetch_hotspots.py --limit 20

# SEO 分析
python3 scripts/seo_keywords.py --json "AI大模型" "科技股"

# AI 生图
python3 toolkit/image_gen.py --prompt "描述" --output cover.png --size cover

工作流程

Step 0  环境检查(静默通过或引导修复,设置降级标记)
  ↓
Step 1  加载风格配置(不存在则进入 Onboard
  ↓
Step 2  热点抓取降级WebSearch
  ↓
Step 2.5 历史去重 + SEO 数据
  ↓
Step 3  选题生成10 选题 × 评分)
  ↓
Step 3.5 框架选择5 套骨架)
  ↓
Step 4  维度随机化 + 文章写作7 层去 AI 痕迹 + 可选容器语法)
  ↓
Step 5  SEO 优化 + 去 AI 逐层验证8 项自检)
  ↓
Step 6  视觉 AI封面 + 内文配图)
  ↓
Step 7  排版推送(自动 CJK 修复/外链脚注/暗黑模式,降级:本地 HTML
  ↓
Step 7.5 写入发布历史
  ↓
Step 8  回复用户

默认全自动。说"交互模式"可在选题/框架/配图处暂停确认。

License

MIT