README 全面更新:反映结构重构 + 素材采集 + 编辑锚点 + 优化循环
- 顶部流程图新增素材采集和编辑锚点环节 - 新增"关于 AI 检测"章节:诚实定位为高质量初稿生成器 - 核心能力表新增素材采集、效果复盘、风格飞轮 - 目录结构反映重构后的 references/(新增 onboard/learn-edits/effect-review) - 目录结构新增 humanness_score.py 和 optimize_loop.py - 工作流程图与 SKILL.md Step 1-8 对齐(去掉 .5/.75 编号) - 新增"优化循环"章节介绍 autoresearch 风格调优 - 快速开始新增"学习我的修改"示例 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
78e8fd666e
commit
eef748f9c3
1 changed files with 106 additions and 175 deletions
281
README.md
281
README.md
|
|
@ -8,11 +8,12 @@
|
|||
|
||||
```
|
||||
"写一篇公众号文章"
|
||||
→ 抓热点 → 选题评分 → 框架选择 → 写作(7层去AI痕迹)
|
||||
→ 抓热点 → 选题评分 → 素材采集 → 框架选择
|
||||
→ 写作(真实信息锚定 + 7层去AI痕迹 + 编辑锚点)
|
||||
→ SEO优化 → AI配图 → 微信排版 → 推送草稿箱
|
||||
```
|
||||
|
||||
首次使用时会通过对话引导你设置公众号风格,之后每次只需一句话。
|
||||
首次使用时会引导你设置公众号风格,之后每次只需一句话。生成的文章带有 2-3 个编辑锚点——花 3-5 分钟加入你自己的话,文章就会从"AI 初稿"变成"你的作品"。
|
||||
|
||||
## 核心能力
|
||||
|
||||
|
|
@ -21,36 +22,33 @@
|
|||
| 热点抓取 | 微博 + 头条 + 百度实时热搜 | `scripts/fetch_hotspots.py` |
|
||||
| SEO 评分 | 百度 + 360 搜索量化评分 | `scripts/seo_keywords.py` |
|
||||
| 选题生成 | 10 选题 × 3 维度评分 + 历史去重 | `references/topic-selection.md` |
|
||||
| 素材采集 | WebSearch 真实数据/引述/案例 | SKILL.md Step 3b |
|
||||
| 框架生成 | 5 套写作骨架(痛点/故事/清单/对比/热点) | `references/frameworks.md` |
|
||||
| 文章写作 | 7 层去 AI 痕迹 + 维度随机化 + 风格适配 | `references/writing-guide.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` |
|
||||
| 排版发布 | 16 主题 + 微信兼容修复 + 暗黑模式 | `toolkit/cli.py` |
|
||||
| 效果复盘 | 微信数据分析 API 回填阅读数据 | `references/effect-review.md` |
|
||||
| 风格飞轮 | 学习你的修改,越用越像你 | `references/learn-edits.md` |
|
||||
|
||||
## 7 层去 AI 痕迹
|
||||
## 关于 AI 检测
|
||||
|
||||
WeWrite 的写作不是"写完再改",而是从第一句话开始就像人在写。针对朱雀等 AI 检测工具,在 7 个统计维度同时制造"人味":
|
||||
WeWrite 生成的是**高质量初稿**,不是"骗过检测器的文本"。
|
||||
|
||||
| 层 | 对抗目标 | 手段 |
|
||||
|---|---------|------|
|
||||
| 1. 词汇层 | 词汇分布过"中位" | 冷/温/热/野四温度梯度混搭 |
|
||||
| 2. 句法层 | 句子复杂度均匀 | 破句、自我纠正、长短句剧烈交替 |
|
||||
| 3. 信息密度层 | 每段信息量均匀 | 高密度段后必跟低密度段 |
|
||||
| 4. 连贯性打破层 | 过渡太丝滑 | 硬切、跑题再回来、非线性展开 |
|
||||
| 5. 具体性注入层 | 抽象泛化 | 具体时间/地点/人物/非整数数字 |
|
||||
| 6. 情绪真实感层 | 情绪平铺 | 情绪弧线(克制→爆发→犹豫) |
|
||||
| 7. 维度随机化层 | 跨文章模式识别 | 6 维度池随机抽 2-3 个贯穿全文 |
|
||||
我们实测过朱雀 AI:纯 AI 生成的内容无论表面技巧多好,底层 token 分布仍然是 AI 的。但如果你在文章的编辑锚点位置加入 3-5 句自己的话,检测通过率会显著提升。
|
||||
|
||||
每篇文章写完后执行 8 项自检,不通过则定向重写。
|
||||
WeWrite 的策略是让你的编辑成本最低:
|
||||
1. **素材采集**:自动搜索真实数据/引述/案例,锚定在文章中(不编造)
|
||||
2. **7 层写作规范**:从词汇、句法、密度、连贯性、情绪等维度制造"人味"
|
||||
3. **编辑锚点**:在 2-3 个关键位置标记"在这里加一句你自己的话"
|
||||
4. **学习飞轮**:每次你编辑后说"学习我的修改",下次初稿更接近你的风格
|
||||
|
||||
## 排版引擎
|
||||
|
||||
### 16 个主题
|
||||
|
||||
```bash
|
||||
# 浏览器内预览所有主题
|
||||
# 浏览器内预览所有主题(并排对比 + 一键复制)
|
||||
python3 toolkit/cli.py gallery
|
||||
|
||||
# 列出主题名称
|
||||
|
|
@ -65,25 +63,21 @@ python3 toolkit/cli.py themes
|
|||
| 商务 | `bold-navy`、`minimal-gold`、`bold-green` |
|
||||
| 风格 | `bauhaus`、`focus-red`、`midnight` |
|
||||
|
||||
所有主题均支持微信暗黑模式(自动注入 `data-darkmode-*` 属性)。
|
||||
所有主题均支持微信暗黑模式。
|
||||
|
||||
### 微信兼容性自动修复
|
||||
|
||||
Converter 自动处理以下微信平台限制,无需手动干预:
|
||||
|
||||
| 问题 | 自动修复 |
|
||||
|------|---------|
|
||||
| 外链被屏蔽 | 转为上标编号脚注 + 文末参考链接 |
|
||||
| 中英混排无间距 | CJK-Latin 边界自动加空格 |
|
||||
| 加粗标点渲染异常 | 标点自动移到 `</strong>` 外 |
|
||||
| 原生列表渲染不稳定 | `<ul>/<ol>` 转为样式化 `<section>` |
|
||||
| 暗黑模式颜色反转 | 注入 `data-darkmode-color/bgcolor` |
|
||||
| `<style>` 被剥离 | 所有 CSS 以内联 `style` 注入 |
|
||||
| 中英混排无间距 | CJK-Latin 自动加空格 |
|
||||
| 加粗标点渲染异常 | 标点移到 `</strong>` 外 |
|
||||
| 原生列表不稳定 | `<ul>/<ol>` 转样式化 `<section>` |
|
||||
| 暗黑模式颜色反转 | 注入 `data-darkmode-*` 属性 |
|
||||
| `<style>` 被剥离 | 所有 CSS 内联注入 |
|
||||
|
||||
### 容器语法
|
||||
|
||||
适合特定内容类型的富排版块,在 Markdown 中使用 `:::` 语法:
|
||||
|
||||
````markdown
|
||||
:::dialogue
|
||||
你好,请问这个功能怎么用?
|
||||
|
|
@ -93,11 +87,10 @@ Converter 自动处理以下微信平台限制,无需手动干预:
|
|||
:::timeline
|
||||
**2024 Q1** 立项启动
|
||||
**2024 Q3** MVP 上线
|
||||
**2025 Q1** 用户突破 10 万
|
||||
:::
|
||||
|
||||
:::callout tip
|
||||
这是一个提示框,支持 tip / warning / info / danger 四种类型。
|
||||
提示框,支持 tip / warning / info / danger。
|
||||
:::
|
||||
|
||||
:::quote
|
||||
|
|
@ -107,203 +100,141 @@ Converter 自动处理以下微信平台限制,无需手动干预:
|
|||
|
||||
## 安装
|
||||
|
||||
### 1. 获取代码
|
||||
|
||||
```bash
|
||||
git clone https://github.com/oaker-io/wewrite.git
|
||||
```
|
||||
|
||||
### 2. 挂载为 Skill
|
||||
|
||||
**Claude Code**:
|
||||
|
||||
```bash
|
||||
# 方式 A:添加 skill 路径到设置
|
||||
# 方式 B:复制到 skills 目录
|
||||
cp -r wewrite ~/.claude/skills/wewrite
|
||||
```
|
||||
|
||||
**OpenClaw**:
|
||||
|
||||
```bash
|
||||
# 复制到 openclaw skills 目录
|
||||
cp -r wewrite /path/to/openclaw/skills/wewrite
|
||||
```
|
||||
|
||||
### 3. 安装 Python 依赖
|
||||
|
||||
```bash
|
||||
cd wewrite
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
### 4. 配置(可选)
|
||||
### 挂载为 Skill
|
||||
|
||||
**Claude Code**:`cp -r wewrite ~/.claude/skills/wewrite`
|
||||
|
||||
**OpenClaw**:`cp -r wewrite /path/to/openclaw/skills/wewrite`
|
||||
|
||||
### 配置(可选)
|
||||
|
||||
```bash
|
||||
cp config.example.yaml config.yaml
|
||||
```
|
||||
|
||||
编辑 `config.yaml`,填入:
|
||||
|
||||
- **微信公众号** `appid` / `secret` — 推送草稿箱和数据统计需要
|
||||
- **图片生成 API key** — doubao-seedream 或 OpenAI DALL-E
|
||||
|
||||
不配也能用——环境检查会自动识别缺失的 API,走降级路径(生成本地 HTML + 输出图片提示词)。
|
||||
填入微信公众号 `appid`/`secret`(推送需要)和图片 API key(生图需要)。不配也能用——自动降级为本地 HTML + 输出图片提示词。
|
||||
|
||||
## 快速开始
|
||||
|
||||
```
|
||||
你:写一篇公众号文章
|
||||
|
||||
(首次使用会引导你设置公众号风格,也可以说"用默认的"跳过)
|
||||
|
||||
你:写一篇关于 AI Agent 的公众号文章
|
||||
你:交互模式,写一篇关于效率工具的推文
|
||||
你:帮我润色一下刚才那篇
|
||||
你:看看有什么主题 → 打开主题画廊
|
||||
你:换成 sspai 主题重新排版 → 切换主题
|
||||
你:看看最近文章数据怎么样 → 效果复盘
|
||||
你:学习我的修改 → 飞轮学习
|
||||
你:看看有什么主题 → 主题画廊
|
||||
你:换成 sspai 主题 → 切换主题
|
||||
你:看看文章数据怎么样 → 效果复盘
|
||||
```
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
wewrite/
|
||||
├── SKILL.md # Skill 主文件(Agent 读取并执行)
|
||||
├── config.example.yaml # API 配置模板
|
||||
├── style.example.yaml # 风格配置模板(首次使用时自动生成 style.yaml)
|
||||
├── SKILL.md # 主管道(273行,Step 1-8)
|
||||
├── config.example.yaml # API 配置模板
|
||||
├── style.example.yaml # 风格配置模板
|
||||
├── writing-config.example.yaml # 写作参数模板(可用 optimize loop 调优)
|
||||
├── requirements.txt
|
||||
│
|
||||
├── scripts/ # 数据采集与学习
|
||||
│ ├── fetch_hotspots.py # 多平台热点抓取
|
||||
│ ├── seo_keywords.py # SEO 关键词分析
|
||||
│ ├── fetch_stats.py # 微信文章数据回填
|
||||
│ ├── build_playbook.py # 从历史文章生成写作 Playbook
|
||||
│ └── learn_edits.py # 学习人工修改
|
||||
├── scripts/ # 数据采集 + 优化
|
||||
│ ├── fetch_hotspots.py # 多平台热点抓取
|
||||
│ ├── seo_keywords.py # SEO 关键词分析
|
||||
│ ├── fetch_stats.py # 微信文章数据回填
|
||||
│ ├── build_playbook.py # 从历史文章生成 Playbook
|
||||
│ ├── learn_edits.py # 学习人工修改
|
||||
│ ├── humanness_score.py # 文章"人味"打分器(客观 checklist + LLM 判官)
|
||||
│ └── optimize_loop.py # autoresearch 风格迭代优化框架
|
||||
│
|
||||
├── toolkit/ # Markdown → 微信工具链
|
||||
│ ├── cli.py # CLI(preview / 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 套排版主题(含暗黑模式)
|
||||
├── toolkit/ # Markdown → 微信工具链
|
||||
│ ├── cli.py # CLI(preview / 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 # 风格配置字段 + 全部主题列表
|
||||
├── 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 # 风格配置字段 + 16 主题列表
|
||||
│ ├── onboard.md # 首次设置流程
|
||||
│ ├── learn-edits.md # 学习飞轮流程
|
||||
│ └── effect-review.md # 效果复盘流程
|
||||
│
|
||||
├── output/ # 生成的文章(运行时产生)
|
||||
├── corpus/ # 历史文章语料(可选,用于 Playbook 学习)
|
||||
└── lessons/ # 修改记录(自动生成)
|
||||
├── output/ # 生成的文章
|
||||
├── corpus/ # 历史语料(可选)
|
||||
└── lessons/ # 修改记录(自动生成)
|
||||
```
|
||||
|
||||
运行时自动生成的文件(不入 git):`style.yaml`、`history.yaml`、`playbook.md`、`corpus/`、`lessons/`
|
||||
运行时自动生成(不入 git):`style.yaml`、`history.yaml`、`playbook.md`、`writing-config.yaml`
|
||||
|
||||
## 风格配置
|
||||
## 工作流程
|
||||
|
||||
首次使用时 Agent 会通过对话引导你生成 `style.yaml`。你也可以手动创建:
|
||||
```
|
||||
Step 1 环境检查 + 加载风格(不存在则 Onboard)
|
||||
↓
|
||||
Step 2 热点抓取 → 历史去重 + SEO → 选题
|
||||
↓
|
||||
Step 3 框架选择 → 素材采集(WebSearch 真实数据)
|
||||
↓
|
||||
Step 4 维度随机化 → 写作(7层规范 + 真实素材锚定 + 编辑锚点)
|
||||
↓
|
||||
Step 5 SEO 优化 → 去 AI 逐层验证(9 项自检)
|
||||
↓
|
||||
Step 6 视觉 AI(封面 + 内文配图)
|
||||
↓
|
||||
Step 7 排版 + 发布(16 主题 + 微信兼容修复)
|
||||
↓
|
||||
Step 8 写入历史 → 回复用户(含编辑建议 + 飞轮提示)
|
||||
```
|
||||
|
||||
默认全自动。说"交互模式"可在选题/框架/配图处暂停确认。
|
||||
|
||||
## 优化循环(实验性)
|
||||
|
||||
借鉴 [autoresearch](https://github.com/karpathy/autoresearch) 的 change→score→keep/rollback 模式,WeWrite 提供写作参数自动调优框架:
|
||||
|
||||
```bash
|
||||
cp style.example.yaml style.yaml
|
||||
# 对一篇文章打分(客观 checklist + 主观 LLM 判官)
|
||||
python3 scripts/humanness_score.py article.md --verbose
|
||||
|
||||
# 迭代优化写作参数
|
||||
python3 scripts/optimize_loop.py --topic "AI Agent" --iterations 10
|
||||
```
|
||||
|
||||
核心字段:
|
||||
|
||||
```yaml
|
||||
name: "公众号名称"
|
||||
industry: "行业"
|
||||
topics:
|
||||
- "方向1"
|
||||
- "方向2"
|
||||
tone: "写作风格描述"
|
||||
theme: "professional-clean" # 排版主题(16 个可选,运行 gallery 预览)
|
||||
```
|
||||
|
||||
详见 `references/style-template.md`。
|
||||
|
||||
## 图片生成
|
||||
|
||||
通过 `config.yaml` 切换 provider:
|
||||
|
||||
| Provider | 适用场景 | 获取 Key |
|
||||
|----------|---------|----------|
|
||||
| `doubao` | 中文提示词效果好,国内快 | [火山引擎 Ark](https://console.volcengine.com/ark) |
|
||||
| `openai` | DALL-E 3,国际通用 | [OpenAI](https://platform.openai.com) |
|
||||
|
||||
不配置时自动跳过生图,输出提示词供手动生成。
|
||||
|
||||
## 风格学习
|
||||
|
||||
WeWrite 能从你的修改中学习写作偏好:
|
||||
|
||||
1. **导入历史文章**:把 `.md` 文件放入 `corpus/`,Agent 会提取风格特征生成 `playbook.md`
|
||||
2. **学习修改**:对 Agent 说"学习我的修改",它会 diff 你的改稿,积累 5 次后自动更新 Playbook
|
||||
3. **Playbook 优先**:一旦生成,Playbook 中的规则优先于通用写作规范
|
||||
框架开源,但优化后的 `writing-config.yaml` 不入 git——每个用户跑出自己的最优参数。
|
||||
|
||||
## Toolkit 独立使用
|
||||
|
||||
即使不用 Agent,工具链也可以独立使用:
|
||||
|
||||
```bash
|
||||
# 预览 Markdown → 微信 HTML
|
||||
# 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 toolkit/cli.py publish article.md --cover cover.png --title "标题"
|
||||
|
||||
# 抓热点
|
||||
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
|
||||
|
|
|
|||
Loading…
Reference in a new issue