# Wpsnote Beautifier

> 智能美化 WPS 笔记文档，采用克制统一的配色风格（全文仅1种主色调，不混用多色系）。核心能力：优化标题层级结构、用高亮块强调核心结论与注意事项、用分栏展示对比或并列内容、应用统一配色方案并写入。仅当用户明确表达美化需求时才触发，例如：美化笔记、排版优化、文档美化、笔记排版、WPS笔记美化、智能排版、文档结构调整、加颜色、加高亮、加分栏、让笔记好看点、优化文档格式、笔记太丑了、调整排版、加点样式、给笔记润色、整理笔记格式、提升可读性。不要在用户仅要求写入内容、编辑文字、总结归纳等非美化场景下主动触发此skill。通过 user-wpsnote MCP 服务操作 WPS 笔记文档。

- Skill: `wpsnote/wpsnote-beautifier` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add wpsnote/wpsnote-beautifier`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wpsnote/wpsnote-beautifier/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: wpsnote (https://skillmd.com/u/wpsnote)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wpsnote/wpsnote-beautifier

---


# WPS 笔记智能美化

## 概述

对 WPS 笔记进行智能美化，包括：结构层级优化、高亮块/分栏强调重点、配色方案应用、富文本样式写入。通过 WPS 笔记 MCP 工具（`user-wpsnote`）完成所有读写操作。

## 颜色克制总原则（最高优先级）

美化的核心目标是**提升可读性**，而非"让文档变得五颜六色"。必须遵守以下约束：

1. **全文只用 1 种主色调** — 从配色方案中选定一个色系后，标题、加粗关键词、高亮块-要点、分栏-正面全部使用该色系，不混入其他色系
2. **辅助色最多 1 种** — 仅用于"提示/注意"型高亮块（如黄色系），且全文该类型不超过 1-2 处
3. **警告色按需使用** — 红色系仅在文档确实存在风险/警告内容时才使用，没有则不加
4. **高亮块总数控制** — 全文高亮块不超过 3-5 个（短文档 1-2 个），类型不超过 2 种
5. **分栏总数控制** — 全文分栏不超过 2-3 处，背景色使用同色系浅色
6. **行内高亮极度克制** — 全文行内高亮不超过 5-8 处，颜色统一为 1 种
7. **正文不上色** — 普通段落文字保持默认黑色，绝不给整段文字加颜色
8. **宁少勿多** — 不确定是否需要加颜色/高亮时，选择不加

---

## 工作流程

### Phase 1: 分析文档现状

**必须先执行以下步骤，不要跳过：**

1. 调用 `get_note_outline` 获取笔记大纲（包含 block_id、类型、文本预览）
2. 调用 `read_note` 读取全文 XML
3. 调用 `read_file` 读取本 Skill 的 XML 参考文件（首次美化时）

**分析要点：**

- 当前标题层级是否合理（是否全是 `<p>` 没有标题、标题层级跳跃等）
- 是否存在大段纯文本缺乏视觉分隔
- 是否有适合用高亮块强调的重点内容（结论、核心观点、警告、提示）
- 是否有适合用分栏对比展示的内容（对比、并列关系、优缺点）
- 现有格式元素（加粗、颜色等）的使用情况

### Phase 2: 设计美化方案

根据分析结果，制定具体美化计划。向用户简要展示方案并确认后再执行。

**方案应包含：**

1. **结构调整计划** — 哪些内容需要提升/降低标题层级，哪里需要增加分隔
2. **强调元素计划** — 哪些内容用高亮块、哪些用分栏（严格控制数量，参照"颜色克制总原则"）
3. **配色方案选择** — 从预设方案中选择 1 个主色系（见 [reference/color-schemes.md](reference/color-schemes.md)），全文统一使用该色系，不混用多个方案
4. **颜色使用预算** — 明确列出：高亮块 X 个、分栏 X 处、行内高亮约 X 处，确保总量克制
5. **预计操作数量** — 让用户对改动范围有预期

### Phase 3: 执行美化

**执行前必须刷新大纲：** 每次写入前调用 `get_note_outline` 获取最新 block_id。

优先使用 `batch_edit` 批量执行，减少调用次数。执行顺序固定为：delete → replace → update_attrs → insert。

分批执行时，每批完成后重新获取大纲再继续。

### Phase 4: 验证结果

1. 调用 `read_note` 检查最终效果
2. 确认层级结构正确、颜色一致、无格式错乱
3. 向用户汇报完成情况

---

## 结构层级设计规则

### 标题层级规范

| 层级 | 用途 | 说明 |
|------|------|------|
| `<h1>` | 文档主标题 | 全文仅一个，位于开头 |
| `<h2>` | 一级章节 | 文档的主要板块划分 |
| `<h3>` | 二级章节 | 板块内的子主题 |
| `<h4>` | 三级章节 | 细分内容，按需使用 |
| `<h5>`/`<h6>` | 极少使用 | 仅在层级确实需要时 |

### 结构调整策略

**扁平化文档（全是段落无标题）：**
- 识别语义分界点（话题转换处）
- 将领头段落提升为 `<h2>` 或 `<h3>`
- 为无标题章节生成概括性标题

**层级跳跃修复（如 h1 直接到 h4）：**
- 补齐中间层级，或将深层标题上提

**过深层级扁平化（超过 4 级）：**
- 将 `<h5>`/`<h6>` 内容合并到上级或转为加粗段落

---

## 高亮块使用规则

### 适用场景与配色

| 场景 | 背景色 | 边框色 | 推荐 emoji |
|------|--------|--------|-----------|
| 核心结论/要点 | `#E8F5E9` | `#4CAF50` | ✅ 或 💡 |
| 重要提示/注意 | `#FFF3E0` | `#FF9800` | ⚠️ 或 📌 |
| 警告/风险 | `#FFEBEE` | `#F44336` | ❗ 或 🚨 |
| 引用/摘要 | `#E3F2FD` | `#2196F3` | 📖 或 💬 |
| 定义/术语 | `#F3E5F5` | `#9C27B0` | 📝 或 🔍 |
| 最佳实践 | `#E0F7FA` | `#00BCD4` | ⭐ 或 🎯 |

### 高亮块 XML 写法

```xml
<highlightBlock emoji="💡" highlightBlockBackgroundColor="#E8F5E9" highlightBlockBorderColor="#4CAF50">
  <p><strong>核心结论</strong></p>
  <p>这里是需要强调的重点内容。</p>
</highlightBlock>
```

### 使用原则

- **全文总量限制**：短文档（<20 block）1-2 个，中等文档（20-50 block）2-3 个，长文档（>50 block）最多 5 个
- 一个章节内高亮块不超过 1 个，避免视觉疲劳
- 高亮块内段落保持精简（1-3 段），不要把大段文字塞入
- 同一篇文档内高亮块类型不超过 2 种（如只用"要点"+"提示"），避免出现 3 种以上不同配色的高亮块
- 优先使用与主色调一致的"要点"型高亮块，"提示/警告"型仅在确实需要时使用

---

## 分栏使用规则

### 适用场景

| 场景 | 栏数 | 说明 |
|------|------|------|
| 优缺点对比 | 2 栏 | 左优右缺，配不同背景色 |
| 方案对比 | 2-3 栏 | 并列展示方案要点 |
| 概念并列 | 2-3 栏 | 相关但独立的概念并排 |
| 数据摘要 | 2-4 栏 | 关键指标并排展示 |

### 分栏 XML 写法

```xml
<columns>
  <column columnBackgroundColor="#E8F5E9">
    <p><strong><span fontColor="#2E7D32">优势</span></strong></p>
    <p>第一个优点说明</p>
    <p>第二个优点说明</p>
  </column>
  <column columnBackgroundColor="#FFEBEE">
    <p><strong><span fontColor="#C62828">劣势</span></strong></p>
    <p>第一个缺点说明</p>
    <p>第二个缺点说明</p>
  </column>
</columns>
```

### 使用原则

- 每栏内容量大致均衡，避免一栏极长一栏极短
- 分栏标题用加粗 + 颜色区分，颜色从主色系中选取（不引入新色系）
- **全文分栏不超过 2-3 处**，只在内容确实存在对比/并列关系时使用
- 多个分栏尽量使用相同的背景色组合，保持视觉统一

---

## 颜色应用规则

### 标题颜色

通过 `<span fontColor="...">` 包裹标题文字：

```xml
<h2><span fontColor="#1565C0">章节标题</span></h2>
```

标题颜色应全文统一：同级标题用同一颜色。

### 加粗文字颜色

关键术语、重点词汇使用加粗 + 颜色：

```xml
<p>这是一段文字，其中<strong><span fontColor="#D84315">关键概念</span></strong>被突出显示。</p>
```

### 行内高亮

对少量关键词使用背景高亮：

```xml
<p>使用 <span fontHighlightColor="#FFF9C4">核心方法</span> 实现目标。</p>
```

### 颜色使用原则

- **正文保持默认黑色**，绝不给普通段落上色
- **全文仅 1 种主色**（标题色 = 加粗色 = 高亮块主色 = 分栏主色，同属一个色系）
- 同一语义角色（如所有 h2）使用同一颜色，不同级标题仅做深浅递进
- 行内高亮（fontHighlightColor）全文统一为 1 种颜色，使用量不超过 5-8 处
- 避免大面积使用高饱和度颜色，优先使用柔和色调
- **不确定是否需要加颜色时，选择不加**
- 配色方案详见 [reference/color-schemes.md](reference/color-schemes.md)，选定后全文统一，不混用多个方案

---

## 常用 XML 写入模板

详细的 XML 模板参见 [reference/xml-patterns.md](reference/xml-patterns.md)。

---

## 特殊场景处理

### 长文档（>50 个 block）

1. 分段处理：按 `<h2>` 章节逐段美化
2. 使用 `read_section` 读取单章节
3. 每完成一个章节就验证，避免大规模回滚

### 已有格式的文档

1. 保留用户已设置的格式，仅在无格式处添加
2. 如用户要求"重新美化"，则先分析现有配色再统一

### 纯文本文档

1. 优先做结构化（加标题、分段）
2. 再做美化（加颜色、高亮块、分栏）
3. 这类文档改动最大，必须提前与用户确认方案

### 表格密集型文档

- 表格本身不额外加颜色（保持可读性）
- 在表格前后用高亮块做摘要/说明
- 表格须整表替换，操作前仔细确认

---

## 关键约束

1. **block_id 随时可能变化** — 每次写入前必须通过 `get_note_outline` 刷新
2. **batch_edit 执行顺序固定** — delete → replace → update_attrs → insert（与数组顺序无关）
3. **anchor_id 只接受顶层 block ID** — 容器内部（高亮块、分栏、表格内）的段落 id 不可用于写入
4. **表格须整表替换** — 对表格 block 调用 `edit_block(op="replace")`
5. **只读标签不可创建** — `<img/>`、`<embed/>`、`<imageColumn/>`、`<tag>` 无法通过 XML 创建
6. **新建 block 不需要 id** — 系统自动分配

