A

AI写作

作者:鹿Sir内容创作v1

公众号文章创作、改写、排版与发布一体化流程。

下载量
376
点赞
94
价格
¥0.99
精选

技能文档

---
name: ai-writer
description: 公众号文章创作、改写、排版与发布一体化流程。
title: AI写作
category: 内容创作
---

# AI写作技能

支持两种模式:
1. **改写模式**:采集微信公众号文章,基于原文搜索补充最新内容,生成改写后的文章
2. **创作模式**:根据用户提供的主题/核心观点,自动扩展创作文章,搜索相关素材,生成完整文章

所有文章通过可视化编辑器实时预览和复制。

## 触发条件

当用户发送以下内容的任意一种时自动触发:

### 模式A:改写模式
- 微信公众号文章链接(包含 mp.weixin.qq.com 域名)
- 明确说"保存这篇文章"并附带链接

### 模式B:创作模式
- 用户提供一个主题或话题(如"帮我写一篇关于AI编程工具的文章")
- 用户提供几个核心观点要求扩展(如"围绕这3个观点写一篇文章:...")
- 用户说"创作一篇文章"、"写一篇关于XXX的文章"等明确创作意图

## 执行流程

### 模式判断

首先判断用户输入类型:
- 如果包含 `mp.weixin.qq.com` 链接 → 进入**改写模式**,执行流程A
- 如果是主题/观点描述 → 进入**创作模式**,执行流程B

---

## 流程A:改写模式(公众号文章)

### A1. 访问文章

使用浏览器工具访问文章链接:
```
mcp__builtin_browser__navigate(url="文章链接")
```

### A2. 提取内容

获取页面快照提取文章信息:
```
mcp__builtin_browser__snapshot()
```

需要提取的信息:
- 文章标题
- 作者/公众号名称
- 发布时间
- 正文内容(保留段落结构)
- **文章中的图片(重要!提取所有图片的URL)**

**图片提取要求**:
- 必须提取文章中所有图片的完整URL
- 图片在正文中用 Markdown 格式 `![描述](图片URL)` 保留
- 微信文章图片通常是 `https://mmbiz.qpic.cn/...` 格式

### A3. 保存原稿并处理图片

**保存路径**:`~/Documents/文章/原稿/`

**文件命名**:使用文章标题作为文件名,去除特殊字符,后缀为 `.md`

**文件格式**:
```markdown
---
title: 文章标题
cover: /Users/username/Documents/文章/images/文章标题/封面图.jpg
digest: 可选摘要
---

正文内容...(包含图片 ![描述](./images/文章标题/img_xxx_xxxx.webp))

```

**⚠️ 关键要求**:
- 绝对不要使用 `#` 一级标题
- frontmatter 的 `title` 字段会自动作为文章标题

**⚠️ 关键步骤:保存原稿后立即下载图片**

创建原稿文件后,**必须立即执行以下命令**下载图片:

```bash
python3 ai-writer/scripts/download_images.py "~/Documents/文章/原稿/<文件名>.md" --in-place
```

**执行顺序**:
1. 先保存原稿(包含微信图片URL)
2. **立即执行** download_images.py 脚本
3. 脚本会:
   - 从原稿中提取文章标题
   - 下载图片到 `~/Documents/文章/images/文章标题/` 目录
   - 将原稿中的微信URL替换为相对路径 `./images/文章标题/img_xxx_xxxx.webp`
   - **改写后的文章使用相同的图片路径,与原稿共用同一套图片**

### A4. 提取核心主题并搜索

基于参考文档内容,使用 `search_web` 工具搜索相关内容:

```python
search_web:0 {"query": "<核心主题> 最新动态", "timeRange": "OneWeek"}
search_web:1 {"query": "<关键词1> <关键词2> 行业进展", "timeRange": "OneWeek"}
search_web:2 {"query": "<相关技术/概念> 发展趋势", "timeRange": "OneWeek"}
```

**搜索策略:**
- 以参考文档的核心观点为搜索起点
- 寻找最新进展、补充案例、数据更新
- 对比不同观点,丰富内容维度

### A5. 合并改写

**改写原则:**

| 原则 | 说明 |
|------|------|
| 保留核心 | 参考文档的主要观点、核心数据优先保留 |
| 补充更新 | 用搜索结果补充最新动态、扩展案例 |
| 整合优化 | 合并重复内容,优化逻辑结构 |
| **保留图片** | **原稿中的图片必须保留在改写后的文章中** |

**改写策略:**

#### A. 结构重组(降重核心)
- **段落重排**:调整段落顺序,打乱原文结构
- **段落拆合**:将长段拆为短段,或合并碎片段落
- **叙事角度转换**:时间线 ↔ 问题导向 ↔ 对比分析 ↔ 故事引入

#### B. 语言改写(去 AI 痕迹)
- **删除意义膨胀句**:"标志性"、"里程碑"、"深远影响" → 替换为具体事实
- **去虚假权威**:"专家认为" → 写明来源或删除
- **去伪深度动词**:"赋能"、"推动进程" → 改为具体动作
- **去 AI 高频词**:赋能、闭环、生态、抓手、底层逻辑、范式
- **去填充短语**:事实上、值得注意的是、总体来说

#### C. 标题与开头优化
- 生成 3-5 个备选标题(疑问型/数字型/悬念型/痛点型)
- 开头改用故事/数据/痛点/反问引入

**AI 痕迹检查**: 改写完成后,参考 [AI痕迹识别清单](references/rewrite-quality-checklist.md) 逐项检查 21 个常见问题。

**MD格式规范** (改写和创作通用):
```markdown
---
title: 文章标题
cover: /Users/username/Documents/文章/images/封面图.jpg
digest: 可选摘要,不超过20字
---

正文内容
- ⚠️ **不要使用 # 一级标题**(frontmatter 的 title 会作为文章标题)
- 用 ## 二级标题分章节
- 用 **加粗** 强调重点
- 用 > 引用块展示数据/金句
- 保留图片 `./images/文章标题/img_xxx.webp`
```

---

## 流程B:创作模式(主题/观点创作)

### B1. 解析用户需求

分析用户输入,提取:
- **核心主题**:文章要讨论的主要话题
- **核心观点**:用户提供的关键观点/论点(1-5个)
- **文章风格**:如果用户指定了风格(如"技术深度"、"通俗易懂"、"案例分析"等)
- **目标读者**:如果用户指定了受众群体

如果用户输入不够明确,主动询问补充:
```
我理解您想创作一篇关于「XXX」的文章。

为了写出更符合您期望的内容,请确认:
1. 核心观点是否包含以下几点?(列出你提取的观点)
2. 文章风格偏向?(技术深度/通俗易懂/案例分析/观点论述)
3. 目标读者是谁?(技术人员/产品经理/普通用户/行业从业者)
4. 期望字数?(2000字/3000字/5000字)

确认后我将开始创作。
```

### B2. 生成原稿

**保存路径**:`~/Documents/文章/原稿/`

**文件命名**:使用核心主题作为文件名,去除特殊字符,后缀为 `.md`

**创作步骤**:
1. 根据用户提供的主题和观点,构建文章大纲(二级标题结构)
2. 围绕每个观点展开论述,补充论据、案例、数据
3. 生成完整的 Markdown 文章(2000-5000字)
4. 保存到原稿目录

**文件格式示例**:
```markdown
---
title: 文章标题
cover: /Users/username/Documents/文章/images/封面图.jpg
digest: 摘要,30字以内
---

正文内容...
```

**⚠️ 关键要求**: 
- 绝对不要使用 `#` 一级标题
- frontmatter 的 `title` 字段会自动作为文章标题

**创作原则**:
- 结构清晰:使用 ## 二级标题分章节
- 观点鲜明:每个章节围绕一个核心观点展开
- 论据充实:补充案例、数据、对比分析
- 语言流畅:符合公众号阅读习惯,避免过于学术化
- **如果用户提供图片URL,同样使用 `![描述](图片URL)` 格式插入**

### B3. 处理图片(如果有)

如果原稿中包含图片URL,执行图片下载:

```bash
python3 ai-writer/scripts/download_images.py "~/Documents/文章/原稿/<文件名>.md" --in-place
```

如果原稿没有图片,跳过此步骤。

### B4. 提取核心主题并搜索补充素材

基于创作的原稿,使用 `search_web` 工具搜索最新素材:

```python
search_web:0 {"query": "<核心主题> 最新进展 2024", "timeRange": "OneMonth"}
search_web:1 {"query": "<关键词1> <关键词2> 案例分析", "timeRange": "OneMonth"}
search_web:2 {"query": "<相关概念> 发展趋势 数据", "timeRange": "OneMonth"}
```

**搜索策略:**
- 搜索最新数据、案例、行业动态
- 寻找权威来源的统计数据
- 补充用户可能不知道的最新进展
- 验证文中观点的准确性

### B5. 优化完善文章

基于搜索结果,对原稿进行优化:

**优化原则:**

| 原则 | 说明 |
|------|------|
| 数据更新 | 用最新数据替换过时数据,标注数据来源 |
| 案例补充 | 添加搜索到的最新案例,增强说服力 |
| 观点验证 | 验证核心观点的准确性,必要时修正 |
| 内容丰富 | 补充搜索结果中的新视角、新维度 |

**输出目录**: `~/Documents/文章/`

**优化原则**:
- 数据更新: 用最新数据替换过时数据,标注来源
- 案例补充: 添加搜索到的最新案例
- 观点验证: 验证核心观点准确性

**优化后的MD格式**: 见上方「MD格式规范」

---
## 通用后续流程(改写和创作模式共用)

### 6. 发布到公众号(可选)

**触发条件**: 用户说"发布到公众号"、"推送到微信"等

#### 6.1 直接运行发布脚本

**发布命令**:
```bash
python3 ai-writer/scripts/publish.py <文章绝对路径> [主题ID]
```

脚本会自动完成所有前置检查:
- 检查微信凭证配置
- 检查 frontmatter(title + cover)
- 检查封面图路径是否存在
- 上传图片、创建草稿

**AI 不需要提前检查任何配置**,直接运行脚本,然后根据脚本的输出结果响应用户即可。

#### 6.2 发布文件格式要求

**Markdown 文件必须包含 frontmatter**:
```markdown
---
title: 文章标题(必填!)
cover: /Users/username/Documents/文章/images/封面图.jpg  # 封面图绝对路径(必填!)
digest: 这是一段可选的文字摘要,会显示在公众号文章列表中(选填,建议不超过30字)
---
```

**⚠️ 关键要求**:
- `title` 和 `cover` **缺一不可**,否则脚本会报错并提示
- **所有图片路径必须使用绝对路径**
- 封面图建议尺寸: **1080×864 像素**

#### 6.3 处理脚本报错

脚本会自动检查所有前置条件并给出明确提示,AI 根据报错内容引导用户:

| 脚本报错 | AI 响应 |
|---------|--------|
| 未配置账号 | 引导运行 `python3 publish.py --init` |
| 缺少 frontmatter | 提示添加 title 和 cover |
| 封面图路径不存在 | 询问是否需要生成封面图(Python PIL)或提供现有图片 |
| IP 不在白名单 | 运行 `curl ifconfig.me` 获取 IP,提示添加到公众号后台 |
| 48001 api unauthorized | ✅ 草稿已创建成功,告知用户去后台草稿箱手动发布 |

**生成封面图**(仅当脚本提示封面图缺失时):
1. 用 Python PIL 生成一张简洁的封面图(1080×864)
2. 保存到指定路径
3. 更新 frontmatter 的 cover 字段
4. 重新运行 publish.py

#### 6.4 主题选择

**使用 WeChat MD Publisher 的 6 种精美主题**:

| 主题 ID | 中文名称 | 风格特点 | 适用场景 |
|---------|---------|---------|----------|
| default | 简约默认 | 简洁清爽 | 各类文章通用 |
| orangesun | 橙光 | 温暖明亮 | 人物、品牌、案例 |
| redruby | 红宝石 | 优雅醒目 | 活动、清单、创意 |
| greenmint | 薄荷绿 | 清新舒适 | 教程、拆解、轻阅读 |
| purplerain | 紫雨 | 梦幻柔和 | 专栏、随笔、访谈 |
| blackink | 墨黑 | 深色模式 | 科技资讯、夜间阅读 |

用户未指定主题时,使用配置中的默认主题或直接不带主题参数运行。

#### 6.5 发布结果处理

**完全成功**:
```
✅ 发布成功!
📱 请前往微信公众号后台草稿箱查看:
  https://mp.weixin.qq.com/
```

**48001 权限不足(草稿已入库)**:
```
✅ 草稿创建成功!
📱 请前往微信公众号后台草稿箱查看并手动发布:
  https://mp.weixin.qq.com/
```

**其他失败**:根据脚本报错,对照 6.3 故障排查表引导用户解决。

### 8. 报告结果

**改写模式**:
```
✅ 文章已采集并改写完成
源文档: <路径>
输出文件: <路径>

《标题》
改写说明:
- 保留内容: xxx
- 新增内容: xxx
```

**创作模式**:
```
✅ 文章已创作完成
原稿: <路径>
输出: <路径>

《标题》
创作说明:
- 核心主题: xxx
- 扩展观点: xxx
```

## 注意事项

### 改写模式
1. 如果目标目录不存在,先创建目录:`mkdir -p ~/Documents/文章/原稿`
2. 微信文章可能有访问限制,如果浏览器访问失败,提示用户复制粘贴内容
3. 改写时基于原文搜索补充最新内容,保持原文核心观点

### 创作模式
1. 如果用户提供的观点不够明确,主动询问确认后再创作
2. 创作的文章要标注数据来源,确保信息准确性
3. 搜索的素材要自然融入文章,不要生硬拼接
4. 如果用户对初稿不满意,可以根据反馈迭代优化

### 发布模式
1. 发布脚本会自动检查配置并提示,AI 需引导用户完成配置
2. **推荐将凭证写入 `~/.config/ai-writer/config.json`**,只需配置一次
3. 服务器 IP 必须在公众号后台添加白名单
4. Markdown 文件必须包含 frontmatter(title 和 cover)
5. **所有图片路径必须使用绝对路径**,不能使用相对路径
6. 封面图建议尺寸 1080×864 像素
7. 如果用户没有封面图,主动引导生成

## 异常处理

| 异常场景 | 处理方式 |
|----------|----------|
| 搜索失败 | 尝试备用关键词或基于原文直接改写 |
| 搜索结果不足 | 扩大时间范围或减少关键词限制 |
| 渲染失败 | 检查MD格式,重试或输出纯MD文件 |
| 文件写入失败 | 检查目录权限,报告错误路径 |

使用说明

# AI 写作助手

公众号文章创作、改写、排版与发布一体化流程。

## 核心功能

- ✍️ **创作模式**: 根据主题自动生成文章
- 🔄 **改写模式**: 采集文章智能改写降重
- 🎨 **主题排版**: 6 种精美主题一键排版
- 📤 **发布草稿**: 自动发布到公众号草稿箱

## 快速开始

### 1. 配置公众号

创建 `~/.config/ai-writer/config.json`:

```json
{
  "wechat": {
    "app_id": "你的app_id",
    "app_secret": "你的app_secret"
  },
  "publish": {
    "default_theme": "default"
  }
}
```

### 2. 初始化

```bash
python3 ai-writer/scripts/publish.py --init
```

### 3. 发布文章

```bash
# 使用默认主题
python3 ai-writer/scripts/publish.py article.md

# 指定主题
python3 ai-writer/scripts/publish.py article.md orangesun
```

## 可用主题

| 主题 | 说明 |
|------|------|
| default | 简约默认 |
| orangesun | 橙光 |
| redruby | 红宝石 |
| greenmint | 薄荷绿 |
| purplerain | 紫雨 |
| blackink | 墨黑 |

## 文章格式

Markdown 文件必须包含 frontmatter:

```markdown
---
title: 文章标题
cover: 封面图URL或本地路径
---

正文内容...
```

## 注意事项

- 封面图建议使用公众号已有图片链接
- 国外图床(picsum等)可能下载失败
- 草稿创建成功后需手动在公众号后台发布

如何安装此技能?

访问技能市场,点击「安装」按钮,按提示将技能包放入 AI 编程助手的 skills 目录即可。

浏览技能市场

支持平台:Qoder · QoderWork · Claude · Codex 等 AI 编程助手