claude-code-workflow 6.3.24 → 6.3.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/.claude/commands/issue/discover-by-prompt.md +764 -0
  2. package/.claude/skills/text-formatter/SKILL.md +196 -0
  3. package/.claude/skills/text-formatter/phases/01-input-collection.md +111 -0
  4. package/.claude/skills/text-formatter/phases/02-content-analysis.md +248 -0
  5. package/.claude/skills/text-formatter/phases/03-format-transform.md +245 -0
  6. package/.claude/skills/text-formatter/phases/04-output-preview.md +183 -0
  7. package/.claude/skills/text-formatter/specs/callout-types.md +293 -0
  8. package/.claude/skills/text-formatter/specs/element-mapping.md +226 -0
  9. package/.claude/skills/text-formatter/specs/format-rules.md +273 -0
  10. package/.claude/skills/text-formatter/templates/bbcode-template.md +350 -0
  11. package/ccw/dist/core/routes/help-routes.d.ts.map +1 -1
  12. package/ccw/dist/core/routes/help-routes.js +43 -7
  13. package/ccw/dist/core/routes/help-routes.js.map +1 -1
  14. package/ccw/dist/core/routes/litellm-api-routes.d.ts.map +1 -1
  15. package/ccw/dist/core/routes/litellm-api-routes.js +31 -5
  16. package/ccw/dist/core/routes/litellm-api-routes.js.map +1 -1
  17. package/ccw/dist/core/routes/memory-routes.d.ts.map +1 -1
  18. package/ccw/dist/core/routes/memory-routes.js +73 -0
  19. package/ccw/dist/core/routes/memory-routes.js.map +1 -1
  20. package/ccw/dist/core/routes/status-routes.d.ts.map +1 -1
  21. package/ccw/dist/core/routes/status-routes.js +36 -4
  22. package/ccw/dist/core/routes/status-routes.js.map +1 -1
  23. package/ccw/dist/core/server.d.ts.map +1 -1
  24. package/ccw/dist/core/server.js +58 -0
  25. package/ccw/dist/core/server.js.map +1 -1
  26. package/ccw/dist/core/services/api-key-tester.d.ts.map +1 -1
  27. package/ccw/dist/core/services/api-key-tester.js +8 -3
  28. package/ccw/dist/core/services/api-key-tester.js.map +1 -1
  29. package/ccw/dist/tools/claude-cli-tools.d.ts +7 -0
  30. package/ccw/dist/tools/claude-cli-tools.d.ts.map +1 -1
  31. package/ccw/dist/tools/claude-cli-tools.js +11 -1
  32. package/ccw/dist/tools/claude-cli-tools.js.map +1 -1
  33. package/ccw/dist/tools/cli-executor-core.d.ts +11 -0
  34. package/ccw/dist/tools/cli-executor-core.d.ts.map +1 -1
  35. package/ccw/dist/tools/cli-executor-core.js +89 -2
  36. package/ccw/dist/tools/cli-executor-core.js.map +1 -1
  37. package/ccw/dist/tools/codex-lens.d.ts +2 -1
  38. package/ccw/dist/tools/codex-lens.d.ts.map +1 -1
  39. package/ccw/dist/tools/codex-lens.js +51 -8
  40. package/ccw/dist/tools/codex-lens.js.map +1 -1
  41. package/ccw/dist/tools/index.d.ts.map +1 -1
  42. package/ccw/dist/tools/index.js +2 -0
  43. package/ccw/dist/tools/index.js.map +1 -1
  44. package/ccw/dist/tools/litellm-client.d.ts +6 -0
  45. package/ccw/dist/tools/litellm-client.d.ts.map +1 -1
  46. package/ccw/dist/tools/litellm-client.js +22 -1
  47. package/ccw/dist/tools/litellm-client.js.map +1 -1
  48. package/ccw/dist/tools/litellm-executor.js +2 -2
  49. package/ccw/dist/tools/litellm-executor.js.map +1 -1
  50. package/ccw/dist/tools/memory-update-queue.d.ts +172 -0
  51. package/ccw/dist/tools/memory-update-queue.d.ts.map +1 -0
  52. package/ccw/dist/tools/memory-update-queue.js +431 -0
  53. package/ccw/dist/tools/memory-update-queue.js.map +1 -0
  54. package/ccw/src/core/routes/help-routes.ts +46 -7
  55. package/ccw/src/core/routes/litellm-api-routes.ts +35 -4
  56. package/ccw/src/core/routes/memory-routes.ts +84 -0
  57. package/ccw/src/core/routes/status-routes.ts +39 -4
  58. package/ccw/src/core/server.ts +62 -0
  59. package/ccw/src/core/services/api-key-tester.ts +9 -3
  60. package/ccw/src/templates/dashboard-css/21-cli-toolmgmt.css +45 -0
  61. package/ccw/src/templates/dashboard-js/components/cli-status.js +36 -5
  62. package/ccw/src/templates/dashboard-js/components/hook-manager.js +42 -81
  63. package/ccw/src/templates/dashboard-js/components/mcp-manager.js +170 -28
  64. package/ccw/src/templates/dashboard-js/components/notifications.js +14 -4
  65. package/ccw/src/templates/dashboard-js/i18n.js +26 -0
  66. package/ccw/src/templates/dashboard-js/views/cli-manager.js +72 -2
  67. package/ccw/src/templates/dashboard-js/views/codexlens-manager.js +11 -1
  68. package/ccw/src/tools/claude-cli-tools.ts +17 -1
  69. package/ccw/src/tools/cli-executor-core.ts +103 -2
  70. package/ccw/src/tools/codex-lens.ts +63 -8
  71. package/ccw/src/tools/index.ts +2 -0
  72. package/ccw/src/tools/litellm-client.ts +25 -3
  73. package/ccw/src/tools/litellm-executor.ts +2 -2
  74. package/ccw/src/tools/memory-update-queue.js +499 -0
  75. package/package.json +91 -91
@@ -0,0 +1,226 @@
1
+ # Element Mapping
2
+
3
+ 内容元素到 BBCode + Markdown 混合格式的映射表。
4
+
5
+ ## When to Use
6
+
7
+ | Phase | Usage | Section |
8
+ |-------|-------|---------|
9
+ | Phase 2 | 元素识别 | Detection patterns |
10
+ | Phase 3 | 格式转换 | Conversion rules |
11
+
12
+ ---
13
+
14
+ ## Element Detection Patterns
15
+
16
+ ### 标题检测
17
+
18
+ | 类型 | Pattern | 示例 |
19
+ |------|---------|------|
20
+ | ATX 标题 | `/^#{1,6}\s+(.+)$/` | `# Title`, `## Subtitle` |
21
+ | Setext H1 | `/^(.+)\n={3,}$/` | `Title\n====` |
22
+ | Setext H2 | `/^(.+)\n-{3,}$/` | `Subtitle\n----` |
23
+
24
+ ### 列表检测
25
+
26
+ | 类型 | Pattern | 示例 |
27
+ |------|---------|------|
28
+ | 无序列表 | `/^[\s]*[-*+]\s+(.+)$/` | `- item`, `* item` |
29
+ | 有序列表 | `/^[\s]*\d+\.\s+(.+)$/` | `1. item`, `2. item` |
30
+ | 任务列表 | `/^[\s]*[-*]\s+\[([ x])\]\s+(.+)$/` | `- [ ] todo`, `- [x] done` |
31
+
32
+ ### Callout 检测
33
+
34
+ | 类型 | Pattern | 示例 |
35
+ |------|---------|------|
36
+ | Callout 开始 | `/^>\s*\[!(\w+)\](?:\s+(.+))?$/` | `> [!NOTE] 标题` |
37
+ | Callout 内容 | `/^>\s*(.*)$/` | `> 内容行` |
38
+ | 可折叠展开 | `/^>\s*\[!(\w+)\]\+/` | `> [!NOTE]+` |
39
+ | 可折叠收起 | `/^>\s*\[!(\w+)\]-/` | `> [!NOTE]-` |
40
+
41
+ ### 代码检测
42
+
43
+ | 类型 | Pattern | 示例 |
44
+ |------|---------|------|
45
+ | 代码块开始 | `/^```(\w*)$/` | ` ```js ` |
46
+ | 代码块结束 | `/^```$/` | ` ``` ` |
47
+ | 行内代码 | `/`([^`]+)`/` | `` `code` `` |
48
+
49
+ ### 其他元素
50
+
51
+ | 类型 | Pattern | 示例 |
52
+ |------|---------|------|
53
+ | 链接 | `/\[([^\]]+)\]\(([^)]+)\)/` | `[text](url)` |
54
+ | 图片 | `/!\[([^\]]*)\]\(([^)]+)\)/` | `![alt](url)` |
55
+ | 普通引用 | `/^>\s+(.+)$/` | `> quote` |
56
+ | 分隔线 | `/^[-*_]{3,}$/` | `---`, `***` |
57
+ | 高亮 | `/==(.+?)==/` | `==highlight==` |
58
+ | 粗体 | `/\*\*(.+?)\*\*/` | `**bold**` |
59
+ | 斜体 | `/\*(.+?)\*/` | `*italic*` |
60
+ | 删除线 | `/~~(.+?)~~/` | `~~strike~~` |
61
+
62
+ ### HTML 元素检测
63
+
64
+ | 类型 | Pattern | 示例 |
65
+ |------|---------|------|
66
+ | 高亮 | `/<mark>(.+?)<\/mark>/` | `<mark>高亮</mark>` |
67
+ | 折叠块 | `/<details>\s*<summary>(.+?)<\/summary>([\s\S]*?)<\/details>/` | `<details><summary>标题</summary>内容</details>` |
68
+ | 下划线 | `/<u>(.+?)<\/u>/` | `<u>下划线</u>` |
69
+
70
+ ---
71
+
72
+ ## Element Conversion Matrix
73
+
74
+ ### 标题映射 (Pixel-Based)
75
+
76
+ | Element | Markdown | BBCode Output |
77
+ |---------|----------|---------------|
78
+ | **H1** | `# text` | `[size=150][color=#2196F3][b]text[/b][/color][/size]` |
79
+ | **H2** | `## text` | `[size=120][color=#2196F3][b]text[/b][/color][/size]` |
80
+ | **H3** | `### text` | `[size=100][color=#333][b]text[/b][/color][/size]` |
81
+ | **H4** | `#### text` | `[b]text[/b]` |
82
+ | **H5** | `##### text` | `[b]text[/b]` |
83
+ | **H6** | `###### text` | `[b]text[/b]` |
84
+
85
+ ### 文本样式映射
86
+
87
+ | Element | Markdown/HTML | BBCode |
88
+ |---------|---------------|--------|
89
+ | **Bold** | `**text**` 或 `__text__` | `[b]text[/b]` |
90
+ | **Italic** | `*text*` 或 `_text_` | `[i]text[/i]` |
91
+ | **Bold+Italic** | `***text***` | `[b][i]text[/i][/b]` |
92
+ | **Strike** | `~~text~~` | `[s]text[/s]` |
93
+ | **Underline** | `<u>text</u>` | `[u]text[/u]` |
94
+ | **Highlight** | `==text==` 或 `<mark>text</mark>` | `[color=yellow]text[/color]` |
95
+ | **Code (inline)** | `` `text` `` | 保持原样 |
96
+
97
+ ### HTML 转 BBCode 映射
98
+
99
+ | HTML | BBCode |
100
+ |------|--------|
101
+ | `<mark>text</mark>` | `[color=yellow]text[/color]` |
102
+ | `<u>text</u>` | `[u]text[/u]` |
103
+ | `<details><summary>标题</summary>内容</details>` | `[spoiler=标题]内容[/spoiler]` |
104
+
105
+ ### 块级元素映射
106
+
107
+ | Element | Markdown | BBCode |
108
+ |---------|----------|--------|
109
+ | **Code Block** | ` ```lang\ncode\n``` ` | `[code]code[/code]` |
110
+ | **Quote** | `> text` | `[quote]text[/quote]` |
111
+ | **HR** | `---` | `---` (保持 Markdown) |
112
+ | **List Item** | `- text` | `• text` |
113
+ | **Paragraph** | `text\n\ntext` | `text\n\ntext` |
114
+
115
+ ### 链接和媒体映射
116
+
117
+ | Element | Markdown | BBCode |
118
+ |---------|----------|--------|
119
+ | **Link** | `[text](url)` | `[url=url]text[/url]` |
120
+ | **Image** | `![alt](url)` | `[img]url[/img]` |
121
+
122
+ ---
123
+
124
+ ## Callout Mapping
125
+
126
+ ### 类型到样式映射
127
+
128
+ | Callout Type | Color | Icon | Label |
129
+ |--------------|-------|------|-------|
130
+ | note | #2196F3 | 📝 | 注意 |
131
+ | info | #2196F3 | ℹ️ | 信息 |
132
+ | tip | #4CAF50 | 💡 | 提示 |
133
+ | hint | #4CAF50 | 💡 | 提示 |
134
+ | success | #4CAF50 | ✅ | 成功 |
135
+ | check | #4CAF50 | ✅ | 完成 |
136
+ | done | #4CAF50 | ✅ | 完成 |
137
+ | warning | #FF9800 | ⚠️ | 警告 |
138
+ | caution | #FF9800 | ⚠️ | 注意 |
139
+ | attention | #FF9800 | ⚠️ | 注意 |
140
+ | danger | #F44336 | ❌ | 危险 |
141
+ | error | #F44336 | ❌ | 错误 |
142
+ | bug | #F44336 | 🐛 | Bug |
143
+ | example | #9C27B0 | 📋 | 示例 |
144
+ | question | #FF9800 | ❓ | 问题 |
145
+ | help | #FF9800 | ❓ | 帮助 |
146
+ | faq | #FF9800 | ❓ | FAQ |
147
+ | quote | gray | 💬 | 引用 |
148
+ | cite | gray | 💬 | 引用 |
149
+ | abstract | #2196F3 | 📄 | 摘要 |
150
+ | summary | #2196F3 | 📄 | 摘要 |
151
+ | tldr | #2196F3 | 📄 | 摘要 |
152
+ | todo | #FF9800 | 📋 | 待办 |
153
+ | important | #F44336 | ⭐ | 重要 |
154
+
155
+ ### Callout 输出模板
156
+
157
+ ```bbcode
158
+ [quote]
159
+ [size=100][color={color}][b]{icon} {title}[/b][/color][/size]
160
+
161
+ {content}
162
+ [/quote]
163
+ ```
164
+
165
+ ---
166
+
167
+ ## Unsupported Elements
168
+
169
+ ### 不支持转换的元素
170
+
171
+ | 元素 | 原因 | 降级方案 |
172
+ |------|------|----------|
173
+ | 表格 | BBCode 表格支持有限 | 转为代码块或列表 |
174
+ | 脚注 | 不支持 | 转为括号注释 `(注: ...)` |
175
+ | 数学公式 | 不支持 | 保留原始文本 |
176
+ | 嵌入内容 | 不支持 | 转为链接 |
177
+ | 任务列表 | 复选框不支持 | 转为普通列表 `☐`/`☑` |
178
+
179
+ ### 降级示例
180
+
181
+ **表格**:
182
+ ```
183
+ | A | B |
184
+ |---|---|
185
+ | 1 | 2 |
186
+
187
+ → 降级为:
188
+
189
+ A: 1
190
+ B: 2
191
+ ```
192
+
193
+ **脚注**:
194
+ ```
195
+ 文本[^1]
196
+
197
+ [^1]: 脚注内容
198
+
199
+ → 降级为:
200
+
201
+ 文本 (注: 脚注内容)
202
+ ```
203
+
204
+ **任务列表**:
205
+ ```
206
+ - [ ] 待办
207
+ - [x] 已完成
208
+
209
+ → 降级为:
210
+
211
+ ☐ 待办
212
+ ☑ 已完成
213
+ ```
214
+
215
+ ---
216
+
217
+ ## Validation Rules
218
+
219
+ ### 转换验证
220
+
221
+ - [ ] 所有 H1-H3 使用像素值 size (150/120/100)
222
+ - [ ] 未使用 `[align]` 标签
223
+ - [ ] 未使用 `[hr]` 标签
224
+ - [ ] 分隔线保持 `---`
225
+ - [ ] Callout 正确识别并转换
226
+ - [ ] 颜色值使用 hex 格式
@@ -0,0 +1,273 @@
1
+ # Format Conversion Rules
2
+
3
+ BBCode + Markdown 混合格式转换规则(论坛优化)。
4
+
5
+ ## When to Use
6
+
7
+ | Phase | Usage | Section |
8
+ |-------|-------|---------|
9
+ | Phase 3 | 格式转换 | All sections |
10
+
11
+ ---
12
+
13
+ ## Core Principles
14
+
15
+ ### 1. Pixel-Based Sizing
16
+
17
+ **重要**: 使用像素值而非 1-7 级别
18
+
19
+ | 元素 | Size (px) | 说明 |
20
+ |------|-----------|------|
21
+ | 主标题 (H1) | 150 | 文档标题 |
22
+ | 章节标题 (H2) | 120 | 主要章节 |
23
+ | 子标题 (H3) | 100 | 子章节 |
24
+ | 正文 | (默认) | 不指定 size |
25
+ | 备注/灰色 | 80 | 脚注、元数据 |
26
+
27
+ ### 2. Supported Tags Only
28
+
29
+ **支持的 BBCode 标签**:
30
+ - `[size=N]` - 字号(像素值)
31
+ - `[color=X]` - 颜色(hex 或名称,如 `[color=blue]`、`[color=#2196F3]`)
32
+ - `[b]`, `[i]`, `[s]`, `[u]` - 粗体、斜体、删除线、下划线
33
+ - `[quote]` - 引用块
34
+ - `[code]` - 代码块
35
+ - `[url]`, `[img]` - 链接、图片
36
+ - `[list]`, `[*]` - 列表
37
+ - `[spoiler]` 或 `[spoiler=标题]` - 折叠/隐藏内容
38
+
39
+ **禁止使用的标签**:
40
+ - `[align]` - 不渲染,显示为文本
41
+ - `[hr]` - 不渲染,使用 Markdown `---`
42
+ - `[table]` - 支持有限,避免使用
43
+
44
+ **HTML 标签转换** (输入时支持,转换为 BBCode):
45
+ - `<mark>text</mark>` → `[color=yellow]text[/color]`
46
+ - `<details><summary>标题</summary>内容</details>` → `[spoiler=标题]内容[/spoiler]`
47
+ - 其他 HTML 标签 (`<div>`, `<span>`) - 删除
48
+
49
+ ### 3. Markdown as Separator
50
+
51
+ 分隔线使用 Markdown 语法:`---`
52
+
53
+ ---
54
+
55
+ ## Element Conversion Rules
56
+
57
+ ### 标题转换
58
+
59
+ | Markdown | BBCode Output |
60
+ |----------|---------------|
61
+ | `# H1` | `[size=150][color=#2196F3][b]H1[/b][/color][/size]` |
62
+ | `## H2` | `[size=120][color=#2196F3][b]H2[/b][/color][/size]` |
63
+ | `### H3` | `[size=100][color=#333][b]H3[/b][/color][/size]` |
64
+ | `#### H4+` | `[b]H4[/b]` (不加 size) |
65
+
66
+ ### 文本样式
67
+
68
+ | Markdown/HTML | BBCode |
69
+ |---------------|--------|
70
+ | `**bold**` 或 `__bold__` | `[b]bold[/b]` |
71
+ | `*italic*` 或 `_italic_` | `[i]italic[/i]` |
72
+ | `***both***` | `[b][i]both[/i][/b]` |
73
+ | `~~strike~~` | `[s]strike[/s]` |
74
+ | `==highlight==` 或 `<mark>text</mark>` | `[color=yellow]highlight[/color]` |
75
+ | (无 MD 语法) | `[u]underline[/u]` |
76
+
77
+ ### 折叠内容
78
+
79
+ | HTML | BBCode |
80
+ |------|--------|
81
+ | `<details><summary>标题</summary>内容</details>` | `[spoiler=标题]内容[/spoiler]` |
82
+ | (无 HTML) | `[spoiler]隐藏内容[/spoiler]` |
83
+
84
+ ### 代码
85
+
86
+ | Markdown | BBCode |
87
+ |----------|--------|
88
+ | `` `inline` `` | 保持原样或 `[color=#9C27B0]inline[/color]` |
89
+ | ` ```code``` ` | `[code]code[/code]` |
90
+
91
+ ### 链接和图片
92
+
93
+ | Markdown | BBCode |
94
+ |----------|--------|
95
+ | `[text](url)` | `[url=url]text[/url]` |
96
+ | `![alt](url)` | `[img]url[/img]` |
97
+
98
+ ### 列表
99
+
100
+ ```
101
+ Markdown:
102
+ - item 1
103
+ - item 2
104
+ - nested
105
+
106
+ BBCode:
107
+ • item 1
108
+ • item 2
109
+ • nested
110
+ ```
111
+
112
+ 注意:使用 `•` 符号而非 `[list][*]`,因为部分论坛渲染有问题。
113
+
114
+ ### 引用
115
+
116
+ ```
117
+ Markdown:
118
+ > quote text
119
+
120
+ BBCode:
121
+ [quote]
122
+ quote text
123
+ [/quote]
124
+ ```
125
+
126
+ ---
127
+
128
+ ## Callout (标注) 转换
129
+
130
+ ### Obsidian Callout 语法
131
+
132
+ ```markdown
133
+ > [!TYPE] 可选标题
134
+ > 内容行 1
135
+ > 内容行 2
136
+ ```
137
+
138
+ ### 支持的 Callout 类型
139
+
140
+ | Type | Color | Icon | 中文标签 |
141
+ |------|-------|------|----------|
142
+ | note, info | #2196F3 | 📝 | 注意 / 信息 |
143
+ | tip, hint | #4CAF50 | 💡 | 提示 |
144
+ | success, check, done | #4CAF50 | ✅ | 成功 |
145
+ | warning, caution, attention | #FF9800 | ⚠️ | 警告 |
146
+ | danger, error, bug | #F44336 | ❌ | 危险 / 错误 |
147
+ | example | #9C27B0 | 📋 | 示例 |
148
+ | question, help, faq | #FF9800 | ❓ | 问题 |
149
+ | quote, cite | gray | 💬 | 引用 |
150
+ | abstract, summary, tldr | #2196F3 | 📄 | 摘要 |
151
+
152
+ ### Callout 转换模板
153
+
154
+ ```bbcode
155
+ [quote]
156
+ [size=100][color={color}][b]{icon} {title}[/b][/color][/size]
157
+
158
+ {content}
159
+ [/quote]
160
+ ```
161
+
162
+ **示例**:
163
+
164
+ ```markdown
165
+ > [!WARNING] 注意事项
166
+ > 这是警告内容
167
+ ```
168
+
169
+ 转换为:
170
+
171
+ ```bbcode
172
+ [quote]
173
+ [size=100][color=#FF9800][b]⚠️ 注意事项[/b][/color][/size]
174
+
175
+ 这是警告内容
176
+ [/quote]
177
+ ```
178
+
179
+ ### 可折叠 Callout
180
+
181
+ Obsidian 支持 `> [!NOTE]+` (展开) 和 `> [!NOTE]-` (折叠)。
182
+
183
+ 由于 BBCode 不支持折叠,统一转换为普通 quote。
184
+
185
+ ---
186
+
187
+ ## Color Palette
188
+
189
+ ### 语义颜色
190
+
191
+ | 语义 | Hex | 使用场景 |
192
+ |------|-----|----------|
193
+ | Primary | #2196F3 | 标题、链接、信息 |
194
+ | Success | #4CAF50 | 成功、提示、特性 |
195
+ | Warning | #FF9800 | 警告、注意 |
196
+ | Error | #F44336 | 错误、危险 |
197
+ | Purple | #9C27B0 | 示例、代码 |
198
+ | Gray | gray | 备注、元数据 |
199
+ | Dark | #333 | 子标题 |
200
+
201
+ ### 颜色使用规则
202
+
203
+ 1. **标题颜色**: H1/H2 使用 #2196F3,H3 使用 #333
204
+ 2. **Callout 颜色**: 根据类型使用语义颜色
205
+ 3. **备注颜色**: 使用 gray
206
+ 4. **强调颜色**: 根据语义选择(成功用绿色,警告用橙色)
207
+
208
+ ---
209
+
210
+ ## Spacing Rules
211
+
212
+ ### 空行控制
213
+
214
+ | 元素 | 前空行 | 后空行 |
215
+ |------|--------|--------|
216
+ | 标题 | 1 | 1 |
217
+ | 段落 | 0 | 1 |
218
+ | 列表 | 0 | 1 |
219
+ | 代码块 | 1 | 1 |
220
+ | Callout | 1 | 1 |
221
+ | 分隔线 `---` | 1 | 1 |
222
+
223
+ ### 示例输出结构
224
+
225
+ ```bbcode
226
+ [size=150][color=#2196F3][b]文档标题[/b][/color][/size]
227
+
228
+ [size=80][color=gray]作者 | 日期[/color][/size]
229
+
230
+ ---
231
+
232
+ [size=120][color=#2196F3][b]第一章节[/b][/color][/size]
233
+
234
+ 正文内容...
235
+
236
+ [quote]
237
+ [size=100][color=#4CAF50][b]💡 提示[/b][/color][/size]
238
+
239
+ 提示内容
240
+ [/quote]
241
+
242
+ ---
243
+
244
+ [size=120][color=#2196F3][b]第二章节[/b][/color][/size]
245
+
246
+ 更多内容...
247
+
248
+ ---
249
+
250
+ [size=80][color=gray]— 全文完 —[/color][/size]
251
+ ```
252
+
253
+ ---
254
+
255
+ ## Quality Checklist
256
+
257
+ ### 转换完整性
258
+
259
+ - [ ] 所有标题使用像素值 size
260
+ - [ ] 未使用 `[align]` 或 `[hr]`
261
+ - [ ] 分隔线使用 `---`
262
+ - [ ] Callout 正确转换为 quote
263
+ - [ ] 颜色符合语义规范
264
+ - [ ] 空行控制正确
265
+
266
+ ### 常见错误
267
+
268
+ | 错误 | 正确做法 |
269
+ |------|----------|
270
+ | `[size=5]` | `[size=120]` |
271
+ | `[align=center]` | 删除,默认左对齐 |
272
+ | `[hr]` | 使用 `---` |
273
+ | `<div class="...">` | 删除 HTML 标签 |