foliko 1.0.87 → 1.1.1

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 (259) hide show
  1. package/.agent/.shared/ui-ux-pro-max/data/charts.csv +26 -0
  2. package/.agent/.shared/ui-ux-pro-max/data/colors.csv +97 -0
  3. package/.agent/.shared/ui-ux-pro-max/data/icons.csv +101 -0
  4. package/.agent/.shared/ui-ux-pro-max/data/landing.csv +31 -0
  5. package/.agent/.shared/ui-ux-pro-max/data/products.csv +97 -0
  6. package/.agent/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
  7. package/.agent/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
  8. package/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  9. package/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  10. package/.agent/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  11. package/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  12. package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  13. package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  14. package/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  15. package/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
  16. package/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  17. package/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  18. package/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  19. package/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  20. package/.agent/.shared/ui-ux-pro-max/data/styles.csv +59 -0
  21. package/.agent/.shared/ui-ux-pro-max/data/typography.csv +58 -0
  22. package/.agent/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  23. package/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  24. package/.agent/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
  25. package/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/core.cpython-313.pyc +0 -0
  26. package/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-313.pyc +0 -0
  27. package/.agent/.shared/ui-ux-pro-max/scripts/core.py +258 -0
  28. package/.agent/.shared/ui-ux-pro-max/scripts/design_system.py +1067 -0
  29. package/.agent/.shared/ui-ux-pro-max/scripts/search.py +106 -0
  30. package/.agent/ARCHITECTURE.md +288 -0
  31. package/.agent/agents/ambient-agent.md +57 -0
  32. package/.agent/agents/debugger.md +55 -0
  33. package/.agent/agents/email-assistant.md +49 -0
  34. package/.agent/agents/file-manager.md +42 -0
  35. package/.agent/agents/python-developer.md +60 -0
  36. package/.agent/agents/scheduler.md +59 -0
  37. package/.agent/agents/web-developer.md +45 -0
  38. package/.agent/data/default.json +325 -21
  39. package/.agent/data/plugins-state.json +194 -162
  40. package/.agent/data/puppeteer-sessions/undefined.json +6 -0
  41. package/.agent/mcp_config.json +0 -1
  42. package/.agent/mcp_config_updated.json +12 -0
  43. package/.agent/plugins/poster-plugin/README.md +304 -0
  44. package/.agent/plugins/poster-plugin/fonts/NotoColorEmoji-Regular.ttf +0 -0
  45. package/.agent/plugins/poster-plugin/fonts/PatuaOne-Regular.ttf +0 -0
  46. package/.agent/plugins/poster-plugin/fonts//345/276/256/350/275/257/351/233/205/351/273/221.ttf +0 -0
  47. package/.agent/plugins/poster-plugin/fonts//345/276/256/350/275/257/351/233/205/351/273/221/347/262/227/344/275/223.ttf +0 -0
  48. package/.agent/plugins/poster-plugin/index.js +13 -0
  49. package/.agent/plugins/poster-plugin/package.json +28 -0
  50. package/.agent/plugins/poster-plugin/src/canvas.js +161 -0
  51. package/.agent/plugins/poster-plugin/src/components/arrow.js +84 -0
  52. package/.agent/plugins/poster-plugin/src/components/avatar.js +71 -0
  53. package/.agent/plugins/poster-plugin/src/components/badge.js +85 -0
  54. package/.agent/plugins/poster-plugin/src/components/card.js +88 -0
  55. package/.agent/plugins/poster-plugin/src/components/chart.js +127 -0
  56. package/.agent/plugins/poster-plugin/src/components/chip.js +88 -0
  57. package/.agent/plugins/poster-plugin/src/components/columns.js +107 -0
  58. package/.agent/plugins/poster-plugin/src/components/cta.js +85 -0
  59. package/.agent/plugins/poster-plugin/src/components/divider.js +55 -0
  60. package/.agent/plugins/poster-plugin/src/components/feature.js +85 -0
  61. package/.agent/plugins/poster-plugin/src/components/featureGrid.js +112 -0
  62. package/.agent/plugins/poster-plugin/src/components/grid.js +118 -0
  63. package/.agent/plugins/poster-plugin/src/components/imageFrame.js +155 -0
  64. package/.agent/plugins/poster-plugin/src/components/index.js +62 -0
  65. package/.agent/plugins/poster-plugin/src/components/listItem.js +146 -0
  66. package/.agent/plugins/poster-plugin/src/components/notification.js +123 -0
  67. package/.agent/plugins/poster-plugin/src/components/progress.js +79 -0
  68. package/.agent/plugins/poster-plugin/src/components/progressCircle.js +117 -0
  69. package/.agent/plugins/poster-plugin/src/components/quote.js +97 -0
  70. package/.agent/plugins/poster-plugin/src/components/rating.js +85 -0
  71. package/.agent/plugins/poster-plugin/src/components/star.js +70 -0
  72. package/.agent/plugins/poster-plugin/src/components/statCard.js +105 -0
  73. package/.agent/plugins/poster-plugin/src/components/stepper.js +118 -0
  74. package/.agent/plugins/poster-plugin/src/components/table.js +159 -0
  75. package/.agent/plugins/poster-plugin/src/components/tagCloud.js +78 -0
  76. package/.agent/plugins/poster-plugin/src/components/timeline.js +105 -0
  77. package/.agent/plugins/poster-plugin/src/components/watermark.js +52 -0
  78. package/.agent/plugins/poster-plugin/src/composer.js +1904 -0
  79. package/.agent/plugins/poster-plugin/src/elements/artText.js +60 -0
  80. package/.agent/plugins/poster-plugin/src/elements/background.js +52 -0
  81. package/.agent/plugins/poster-plugin/src/elements/circle.js +31 -0
  82. package/.agent/plugins/poster-plugin/src/elements/image.js +71 -0
  83. package/.agent/plugins/poster-plugin/src/elements/index.js +26 -0
  84. package/.agent/plugins/poster-plugin/src/elements/line.js +23 -0
  85. package/.agent/plugins/poster-plugin/src/elements/polygon.js +63 -0
  86. package/.agent/plugins/poster-plugin/src/elements/rectangle.js +32 -0
  87. package/.agent/plugins/poster-plugin/src/elements/svg.js +92 -0
  88. package/.agent/plugins/poster-plugin/src/elements/text.js +107 -0
  89. package/.agent/plugins/poster-plugin/src/fonts.js +233 -0
  90. package/.agent/plugins/poster-plugin/src/index.js +1658 -0
  91. package/.agent/plugins/poster-plugin/src/presets.js +36 -0
  92. package/.agent/plugins/poster-plugin/src/templates/business.js +60 -0
  93. package/.agent/plugins/poster-plugin/src/templates/gradient.js +64 -0
  94. package/.agent/plugins/poster-plugin/src/templates/index.js +43 -0
  95. package/.agent/plugins/poster-plugin/src/templates/modern.js +69 -0
  96. package/.agent/plugins/poster-plugin/src/templates/simple.js +58 -0
  97. package/.agent/plugins/poster-plugin/src/templates/social.js +62 -0
  98. package/.agent/plugins/poster-plugin/src/templates/tech.js +84 -0
  99. package/.agent/plugins/{temp-repo/puppeteer-plugin → puppeteer-plugin}/index.js +1 -1
  100. package/.agent/plugins.json +5 -11
  101. package/.agent/rules/GEMINI.md +273 -0
  102. package/.agent/rules/allow-rule.md +77 -0
  103. package/.agent/rules/log-rule.md +83 -0
  104. package/.agent/rules/security-rule.md +93 -0
  105. package/.agent/scripts/auto_preview.py +148 -0
  106. package/.agent/scripts/checklist.py +217 -0
  107. package/.agent/scripts/session_manager.py +120 -0
  108. package/.agent/scripts/verify_all.py +327 -0
  109. package/.agent/sessions/cli_default.json +419 -0
  110. package/.agent/sessions/weixin_o9cq80zgZqKPA2-s59PN43GdDy1w@im.wechat.json +2195 -0
  111. package/.agent/skills/api-patterns/SKILL.md +81 -0
  112. package/.agent/skills/api-patterns/api-style.md +42 -0
  113. package/.agent/skills/api-patterns/auth.md +24 -0
  114. package/.agent/skills/api-patterns/documentation.md +26 -0
  115. package/.agent/skills/api-patterns/graphql.md +41 -0
  116. package/.agent/skills/api-patterns/rate-limiting.md +31 -0
  117. package/.agent/skills/api-patterns/response.md +37 -0
  118. package/.agent/skills/api-patterns/rest.md +40 -0
  119. package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
  120. package/.agent/skills/api-patterns/security-testing.md +122 -0
  121. package/.agent/skills/api-patterns/trpc.md +41 -0
  122. package/.agent/skills/api-patterns/versioning.md +22 -0
  123. package/.agent/skills/app-builder/SKILL.md +75 -0
  124. package/.agent/skills/app-builder/agent-coordination.md +71 -0
  125. package/.agent/skills/app-builder/feature-building.md +53 -0
  126. package/.agent/skills/app-builder/project-detection.md +34 -0
  127. package/.agent/skills/app-builder/scaffolding.md +118 -0
  128. package/.agent/skills/app-builder/tech-stack.md +40 -0
  129. package/.agent/skills/app-builder/templates/SKILL.md +39 -0
  130. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  131. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  132. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  133. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  134. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  135. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  136. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  137. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
  138. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
  139. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
  140. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
  141. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  142. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
  143. package/.agent/skills/architecture/SKILL.md +55 -0
  144. package/.agent/skills/architecture/context-discovery.md +43 -0
  145. package/.agent/skills/architecture/examples.md +94 -0
  146. package/.agent/skills/architecture/pattern-selection.md +68 -0
  147. package/.agent/skills/architecture/patterns-reference.md +50 -0
  148. package/.agent/skills/architecture/trade-off-analysis.md +77 -0
  149. package/.agent/skills/clean-code/SKILL.md +201 -0
  150. package/.agent/skills/doc.md +177 -0
  151. package/.agent/skills/frontend-design/SKILL.md +418 -0
  152. package/.agent/skills/frontend-design/animation-guide.md +331 -0
  153. package/.agent/skills/frontend-design/color-system.md +311 -0
  154. package/.agent/skills/frontend-design/decision-trees.md +418 -0
  155. package/.agent/skills/frontend-design/motion-graphics.md +306 -0
  156. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  157. package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
  158. package/.agent/skills/frontend-design/typography-system.md +345 -0
  159. package/.agent/skills/frontend-design/ux-psychology.md +1116 -0
  160. package/.agent/skills/frontend-design/visual-effects.md +383 -0
  161. package/.agent/skills/i18n-localization/SKILL.md +154 -0
  162. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  163. package/.agent/skills/mcp-builder/SKILL.md +176 -0
  164. package/.agent/skills/web-design-guidelines/SKILL.md +57 -0
  165. package/.agent/workflows/brainstorm.md +113 -0
  166. package/.agent/workflows/create.md +59 -0
  167. package/.agent/workflows/debug.md +103 -0
  168. package/.agent/workflows/deploy.md +176 -0
  169. package/.agent/workflows/enhance.md +63 -0
  170. package/.agent/workflows/orchestrate.md +237 -0
  171. package/.agent/workflows/plan.md +89 -0
  172. package/.agent/workflows/preview.md +81 -0
  173. package/.agent/workflows/simple-test.md +42 -0
  174. package/.agent/workflows/status.md +86 -0
  175. package/.agent/workflows/structured-orchestrate.md +180 -0
  176. package/.agent/workflows/test.md +144 -0
  177. package/.agent/workflows/ui-ux-pro-max.md +296 -0
  178. package/.claude/settings.local.json +20 -8
  179. package/.env.example +56 -56
  180. package/CLAUDE.md +144 -108
  181. package/README.md +441 -441
  182. package/calc_tokens_weixin.js +81 -0
  183. package/cli/src/commands/chat.js +2 -1
  184. package/docs/CONTEXT_DESIGN.md +1596 -0
  185. package/examples/test-concurrent-chat.js +60 -60
  186. package/foliko-creative-3.png +0 -0
  187. package/foliko-creative-4.png +0 -0
  188. package/foliko-creative-5.png +0 -0
  189. package/package.json +2 -2
  190. package/plugins/default-plugins.js +2 -1
  191. package/plugins/extension-executor-plugin.js +91 -2
  192. package/plugins/file-system-plugin.js +2 -2
  193. package/plugins/memory-plugin.js +984 -0
  194. package/plugins/session-plugin.js +57 -1
  195. package/plugins/weixin-plugin.js +33 -23
  196. package/skills/find-skills/AGENTS.md +162 -162
  197. package/skills/find-skills/SKILL.md +133 -133
  198. package/skills/poster-guide/SKILL.md +1059 -0
  199. package/skills/python-plugin-dev/SKILL.md +238 -238
  200. package/skills/skill-guide/SKILL.md +130 -108
  201. package/src/capabilities/skill-manager.js +99 -0
  202. package/src/core/agent-chat.js +620 -141
  203. package/src/core/agent-context.js +188 -0
  204. package/src/core/agent.js +6 -2
  205. package/src/core/context-manager.js +283 -0
  206. package/src/core/framework.js +264 -3
  207. package/src/core/plugin-manager.js +79 -2
  208. package/src/core/request-context.js +98 -0
  209. package/src/core/session-context.js +341 -0
  210. package/src/core/session-storage.js +274 -0
  211. package/src/executors/mcp-executor.js +2 -2
  212. package/src/utils/index.js +239 -67
  213. package/src/utils/plugin-helpers.js +17 -0
  214. package/story-cover-book-v2.png +0 -0
  215. package/story-cover-japanese-1.png +0 -0
  216. package/story-cover-japanese-2.png +0 -0
  217. package/story-cover-japanese-3.png +0 -0
  218. package/story-cover-moran.png +0 -0
  219. package/undefined.png +0 -0
  220. package//346/265/267/346/212/245/346/217/222/344/273/266.md +621 -0
  221. package/.agent/agents/code-assistant.json +0 -14
  222. package/.agent/agents/email-assistant.json +0 -14
  223. package/.agent/agents/file-assistant.json +0 -15
  224. package/.agent/agents/system-assistant.json +0 -15
  225. package/.agent/agents/web-assistant.json +0 -12
  226. package/.agent/data/ambient/goals.json +0 -50
  227. package/.agent/data/ambient/memories.json +0 -7
  228. package/.agent/data/scheduler/tasks.json +0 -1
  229. package/.agent/package.json +0 -8
  230. package/.agent/plugins/__pycache__/test_plugin.cpython-312.pyc +0 -0
  231. package/.agent/plugins/daytona/README.md +0 -89
  232. package/.agent/plugins/daytona/index.js +0 -377
  233. package/.agent/plugins/daytona/package.json +0 -12
  234. package/.agent/plugins/marknative/README.md +0 -134
  235. package/.agent/plugins/marknative/index.js +0 -228
  236. package/.agent/plugins/marknative/package.json +0 -12
  237. package/.agent/plugins/marknative/update-readme.js +0 -134
  238. package/.agent/plugins/system-info/index.js +0 -387
  239. package/.agent/plugins/system-info/package.json +0 -4
  240. package/.agent/plugins/system-info/test.js +0 -40
  241. package/.agent/plugins/temp-repo/LICENSE +0 -201
  242. package/.agent/plugins/test_plugin.py +0 -304
  243. package/.agent/python-scripts/test_sample.py +0 -24
  244. package/.agent/skills/agent-browser/SKILL.md +0 -311
  245. package/.agent/skills/agent-browser/TEST_PLAN.md +0 -200
  246. package/.agent/skills/sysinfo/SKILL.md +0 -38
  247. package/.agent/skills/sysinfo/system-info.sh +0 -130
  248. package/.agent/skills/workflow/SKILL.md +0 -324
  249. package/.agent/workflows/email-digest.json +0 -50
  250. package/.agent/workflows/file-backup.json +0 -21
  251. package/.agent/workflows/get-ip-notify.json +0 -32
  252. package/.agent/workflows/news-aggregator.json +0 -93
  253. package/.agent/workflows/news-dashboard-v2.json +0 -94
  254. package/.agent/workflows/notification-batch.json +0 -32
  255. package/examples/test-chat-debug.js +0 -102
  256. package/examples/test-chat-result.js +0 -76
  257. package/examples/test-chat-stream-diff.js +0 -63
  258. /package/.agent/plugins/{temp-repo/puppeteer-plugin → puppeteer-plugin}/README.md +0 -0
  259. /package/.agent/plugins/{temp-repo/puppeteer-plugin → puppeteer-plugin}/package.json +0 -0
@@ -0,0 +1,1059 @@
1
+ ---
2
+ name: poster-guide
3
+ description: 海报设计技能 - 使用 poster 扩展生成海报和图片。使用 ext_call 调用 poster 插件。
4
+ allowed-tools: ext_call
5
+ ---
6
+
7
+ # 海报设计技能指南
8
+
9
+ ## 📡 调用方式
10
+
11
+ poster 扩展使用 `ext_call` 工具调用:
12
+
13
+ ```javascript
14
+ ext_call({
15
+ plugin: 'poster',
16
+ tool: '<工具名>',
17
+ args: {
18
+ /* 参数 */
19
+ },
20
+ });
21
+ ```
22
+
23
+ ---
24
+
25
+ ## 🎨 配色方案
26
+
27
+ ### 1. 流行配色来源
28
+
29
+ - [Color Hunt 流行配色](https://colorhunt.co/palettes/popular)
30
+ - [Coolors Trending](https://coolors.co/palettes/trending)
31
+ - [Tailwind CSS 官方配色](https://tailwindcss.com/docs/colors)
32
+
33
+ ### Color Hunt 流行配色(2026年热门)
34
+
35
+ #### 优雅大地色系
36
+
37
+ ```
38
+ #4B2E2B #8C5A3C #C08552 #FFF8F0
39
+ ```
40
+
41
+ #### 梦幻紫罗兰
42
+
43
+ ```
44
+ #9B8EC7 #BDA6CE #B4D3D9 #F2EAE0
45
+ ```
46
+
47
+ #### 森林绿系
48
+
49
+ ```
50
+ #B0E4CC #408A71 #285A48 #091413
51
+ ```
52
+
53
+ #### 热情橙红色
54
+
55
+ ```
56
+ #EED9B9 #D53E0F #9B0F06 #5E0006
57
+ ```
58
+
59
+ #### 活力黄橙
60
+
61
+ ```
62
+ #FCBF49 #F77F00 #D62828 #003049
63
+ ```
64
+
65
+ #### 清新薄荷绿
66
+
67
+ ```
68
+ #EDF7BD #85C79A #4E8D9C #281C59
69
+ ```
70
+
71
+ #### 自然米色系
72
+
73
+ ```
74
+ #BABF94 #F3E4C9 #BFA28C #A98B76
75
+ ```
76
+
77
+ #### 梦幻粉色系
78
+
79
+ ```
80
+ #FFEABB #FBC3C1 #FAACBF #FE81D4
81
+ ```
82
+
83
+ #### 柔和新配色
84
+
85
+ ```
86
+ #FBE8CE #E4DFB5 #C3CC9B #9AB17A
87
+ ```
88
+
89
+ #### 海洋蓝调
90
+
91
+ ```
92
+ #1A3263 #547792 #EFD2B0 #FFC570
93
+ ```
94
+
95
+ #### 活力珊瑚粉
96
+
97
+ ```
98
+ #2C687B #8CC7C4 #FFF6F6 #DB1A1A
99
+ ```
100
+
101
+ #### 清新薄荷粉
102
+
103
+ ```
104
+ #FAFFCB #F9D0CD #F891BB #F13E93
105
+ ```
106
+
107
+ #### 自然绿茵
108
+
109
+ ```
110
+ #F2EDC2 #9FCB98 #6B8E48 #4A7A32
111
+ ```
112
+
113
+ ---
114
+
115
+ ### 3. 深色科技风(Dark Tech)
116
+
117
+ 适合:科技产品、AI、开发者工具
118
+
119
+ ```
120
+ 背景: #0f172a 深蓝黑
121
+ 主色: #3b82f6 蓝色
122
+ 强调: #10b981 绿色
123
+ 点缀: #ec4899 粉色
124
+ 文字: #e2e8f0 浅灰
125
+ 边框: #334155 深灰
126
+ ```
127
+
128
+ ### 4. 霓虹渐变(Neon Gradient)
129
+
130
+ 适合:现代应用、创意产品
131
+
132
+ ```
133
+ 背景: #0D0D1A 深黑
134
+ 主色: #00D9FF 青色
135
+ 强调: #00FF88 绿色
136
+ 点缀: #fbbf24 金色
137
+ 文字: #A0AEC0 灰色
138
+ ```
139
+
140
+ ### 3. 莫兰迪色系(Morandi)
141
+
142
+ 适合:高端设计、生活方式
143
+
144
+ ```
145
+ 背景: #f5f5f4 米白
146
+ 主色: #a8a29e 灰棕
147
+ 强调: #78716c 深灰
148
+ 点缀: #d6d3d1 浅灰
149
+ 文字: #44403c 墨色
150
+ ```
151
+
152
+ ### 4. 扁平化蓝(Flat Blue)
153
+
154
+ 适合:企业、软件、SaaS
155
+
156
+ ```
157
+ 背景: #ffffff 白色
158
+ 主色: #007aff iOS蓝
159
+ 强调: #5856d6 紫色
160
+ 点缀: #ff9500 橙色
161
+ 文字: #1c1c1e 深灰
162
+ ```
163
+
164
+ ### 5. 赛博朋克(Cyberpunk)
165
+
166
+ 适合:游戏、科技、潮流
167
+
168
+ ```
169
+ 背景: #0a0a0f 纯黑
170
+ 主色: #ff006e 品红
171
+ 强调: #00f5d4 青色
172
+ 点缀: #fee440 黄色
173
+ 文字: #f0f0f0 浅白
174
+ ```
175
+
176
+ ### 6. 暖色调(Warm Pastel)
177
+
178
+ 适合:食品、咖啡、温馨场景
179
+
180
+ ```
181
+ 背景: #fef3e2 奶油白
182
+ 主色: #e07a5f 珊瑚红
183
+ 强调: #f4a261 杏色
184
+ 点缀: #81b29a 薄荷绿
185
+ 文字: #3d405b 深蓝灰
186
+ ```
187
+
188
+ ### 7. 冷色调(Cool Nordic)
189
+
190
+ 适合:金融、医疗、企业
191
+
192
+ ```
193
+ 背景: #f8fafc 冷白
194
+ 主色: #0f766e 深青
195
+ 强调: #0891b2 天蓝
196
+ 点缀: #6366f1 靛蓝
197
+ 文字: #0f172a 近黑
198
+ ```
199
+
200
+ ### 8. 日式和风(Japanese)
201
+
202
+ 适合:文化、艺术、极简
203
+
204
+ ```
205
+ 背景: #f5f0e8 米白
206
+ 主色: #1e4d7b 藏蓝
207
+ 强调: #c41e3a 朱红
208
+ 点缀: #d4a574 古铜金
209
+ 文字: #333333 墨色
210
+ ```
211
+
212
+ ### 9. 极简主义(Minimal)
213
+
214
+ 适合:奢侈品牌、高端产品
215
+
216
+ ```
217
+ 背景: #ffffff 纯白
218
+ 主色: #000000 纯黑
219
+ 强调: #6b7280 中灰
220
+ 点缀: #d1d5db 浅灰
221
+ 文字: #111827 近黑
222
+ ```
223
+
224
+ ### 10. 活力渐变(Vibrant Gradient)
225
+
226
+ 适合:社交媒体、移动应用
227
+
228
+ ```
229
+ 背景: #667eea 蓝紫
230
+ 主色: #764ba2 紫色
231
+ 强调: #f093fb 粉红
232
+ 点缀: #f5576c 玫红
233
+ 文字: #ffffff 白色
234
+ ```
235
+
236
+ ### 11. 森林自然(Forest Nature)
237
+
238
+ 适合:环保、自然、健康
239
+
240
+ ```
241
+ 背景: #f0fdf4 浅绿
242
+ 主色: #22c55e 翠绿
243
+ 强调: #16a34a 深绿
244
+ 点缀: #84cc16 草绿
245
+ 文字: #14532d 墨绿
246
+ ```
247
+
248
+ ### 12. 复古色调(Retro Vintage)
249
+
250
+ 适合:复古品牌、文艺风格
251
+
252
+ ```
253
+ 背景: #fdf6e3 暖白
254
+ 主色: #cb4b16 橙红
255
+ 强调: #b58900 琥珀
256
+ 点缀: #268bd2 钴蓝
257
+ 文字: #657b83 青灰
258
+ ```
259
+
260
+ ---
261
+
262
+ ## 🎯 快速生成(模板方式)
263
+
264
+ ### 一键生成海报
265
+
266
+ ```javascript
267
+ // 现代风格
268
+ ext_call({ plugin: 'poster', tool: 'generate_poster', args: { template: 'modern' } });
269
+
270
+ // 商务风格
271
+ ext_call({ plugin: 'poster', tool: 'generate_poster', args: { template: 'business' } });
272
+
273
+ // 科技风格
274
+ ext_call({ plugin: 'poster', tool: 'generate_poster', args: { template: 'tech' } });
275
+
276
+ // 渐变风格
277
+ ext_call({ plugin: 'poster', tool: 'generate_poster', args: { template: 'gradient' } });
278
+
279
+ // 社交媒体
280
+ ext_call({ plugin: 'poster', tool: 'generate_poster', args: { template: 'social' } });
281
+
282
+ // 简约风格
283
+ ext_call({ plugin: 'poster', tool: 'generate_poster', args: { template: 'simple' } });
284
+ ```
285
+
286
+ ---
287
+
288
+ ## 🎯 组件化生成(推荐)
289
+
290
+ ### 步骤 1:创建画布
291
+
292
+ ```javascript
293
+ // 使用预设尺寸
294
+ ext_call({
295
+ plugin: 'poster',
296
+ tool: 'create_poster_canvas',
297
+ args: { preset: 'poster_16_9', background: '#0f172a' },
298
+ });
299
+
300
+ // 或自定义尺寸
301
+ ext_call({
302
+ plugin: 'poster',
303
+ tool: 'create_poster_canvas',
304
+ args: { width: 1920, height: 1080, background: '#0f172a' },
305
+ });
306
+ ```
307
+
308
+ **预设尺寸:**
309
+
310
+ | key | 尺寸 | 用途 |
311
+ | ------------------ | --------- | --------------- |
312
+ | `poster_16_9` | 1920×1080 | 16:9海报 |
313
+ | `poster_square` | 2000×2000 | 方形海报 |
314
+ | `poster_9_16` | 1080×1920 | 竖版海报 |
315
+ | `poster_a4` | 2480×3508 | A4海报 |
316
+ | `social_instagram` | 1080×1080 | Instagram |
317
+ | `social_story` | 1080×1920 | Instagram Story |
318
+ | `banner_1920x500` | 1920×500 | 网站Banner |
319
+
320
+ ### 步骤 2:添加元素
321
+
322
+ #### 艺术字标题
323
+
324
+ ```javascript
325
+ ext_call({
326
+ plugin: 'poster',
327
+ tool: 'add_poster_art_text',
328
+ args: {
329
+ text: 'FOLIKO',
330
+ x: 960,
331
+ y: 300,
332
+ fontSize: 120,
333
+ gradient: { colors: ['#00D9FF', '#00FF88'] },
334
+ shadow: { color: '#00D9FF', blur: 40 },
335
+ },
336
+ });
337
+ ```
338
+
339
+ #### 普通文字
340
+
341
+ ```javascript
342
+ ext_call({
343
+ plugin: 'poster',
344
+ tool: 'add_poster_text',
345
+ args: {
346
+ text: '简约的插件化 Agent 框架',
347
+ x: 960,
348
+ y: 420,
349
+ fontSize: 36,
350
+ color: '#A0AEC0',
351
+ align: 'center',
352
+ },
353
+ });
354
+ ```
355
+
356
+ #### 圆形装饰
357
+
358
+ ```javascript
359
+ ext_call({
360
+ plugin: 'poster',
361
+ tool: 'add_poster_circle',
362
+ args: { cx: 1600, cy: -100, rx: 500, fill: '#00D9FF', opacity: 0.1 },
363
+ });
364
+ ```
365
+
366
+ #### 星形装饰
367
+
368
+ ```javascript
369
+ ext_call({
370
+ plugin: 'poster',
371
+ tool: 'add_poster_star',
372
+ args: { cx: 200, cy: 200, points: 5, outerRadius: 50, fill: '#fbbf24', opacity: 0.8 },
373
+ });
374
+ ```
375
+
376
+ #### 分隔线
377
+
378
+ ```javascript
379
+ ext_call({
380
+ plugin: 'poster',
381
+ tool: 'add_poster_divider',
382
+ args: { x: 960, y: 480, width: 200, color: '#00D9FF' },
383
+ });
384
+ ```
385
+
386
+ #### 特性网格
387
+
388
+ ```javascript
389
+ ext_call({
390
+ plugin: 'poster',
391
+ tool: 'add_poster_feature_grid',
392
+ args: {
393
+ x: 90,
394
+ y: 280,
395
+ columns: 3,
396
+ itemWidth: 560,
397
+ itemHeight: 120,
398
+ items: [
399
+ { icon: '⚡', title: '插件化架构', description: '核心简单', color: '#3b82f6' },
400
+ { icon: '🤖', title: '多 AI 支持', description: '多种大模型', color: '#10b981' },
401
+ { icon: '📡', title: '流式输出', description: '实时响应', color: '#ec4899' },
402
+ ],
403
+ background: '#1e293b',
404
+ borderColor: '#3b82f6',
405
+ },
406
+ });
407
+ ```
408
+
409
+ #### 统计卡片
410
+
411
+ ```javascript
412
+ ext_call({
413
+ plugin: 'poster',
414
+ tool: 'add_poster_stat_card',
415
+ args: {
416
+ x: 90,
417
+ y: 580,
418
+ title: '27+',
419
+ subtitle: '内置插件',
420
+ icon: '📦',
421
+ color: '#3b82f6',
422
+ background: '#1e293b',
423
+ borderColor: '#3b82f6',
424
+ },
425
+ });
426
+ ```
427
+
428
+ #### 进度条
429
+
430
+ ```javascript
431
+ ext_call({
432
+ plugin: 'poster',
433
+ tool: 'add_poster_progress',
434
+ args: {
435
+ x: 1450,
436
+ y: 640,
437
+ width: 380,
438
+ value: 95,
439
+ label: '响应速度 95%',
440
+ color: '#3b82f6',
441
+ background: '#334155',
442
+ },
443
+ });
444
+ ```
445
+
446
+ #### 环形进度
447
+
448
+ ```javascript
449
+ ext_call({
450
+ plugin: 'poster',
451
+ tool: 'add_poster_progress_circle',
452
+ args: {
453
+ cx: 540,
454
+ cy: 400,
455
+ radius: 80,
456
+ value: 85,
457
+ strokeWidth: 15,
458
+ fillColor: '#3b82f6',
459
+ trackColor: '#334155',
460
+ showLabel: true,
461
+ },
462
+ });
463
+ ```
464
+
465
+ #### 标签
466
+
467
+ ```javascript
468
+ ext_call({
469
+ plugin: 'poster',
470
+ tool: 'add_poster_chip',
471
+ args: {
472
+ x: 550,
473
+ y: 720,
474
+ text: 'v1.1.0',
475
+ background: '#3b82f6',
476
+ color: '#ffffff',
477
+ fontSize: 16,
478
+ },
479
+ });
480
+ ```
481
+
482
+ #### CTA 按钮
483
+
484
+ ```javascript
485
+ ext_call({
486
+ plugin: 'poster',
487
+ tool: 'add_poster_cta',
488
+ args: {
489
+ x: 960,
490
+ y: 850,
491
+ text: '立即体验 →',
492
+ background: '#00D9FF',
493
+ color: '#0D0D1A',
494
+ fontSize: 24,
495
+ radius: 30,
496
+ },
497
+ });
498
+ ```
499
+
500
+ #### 评分
501
+
502
+ ```javascript
503
+ ext_call({
504
+ plugin: 'poster',
505
+ tool: 'add_poster_rating',
506
+ args: {
507
+ x: 960,
508
+ y: 950,
509
+ value: 4.5,
510
+ count: 5,
511
+ color: '#fbbf24',
512
+ size: 24,
513
+ label: 'GitHub 4.2k Stars',
514
+ },
515
+ });
516
+ ```
517
+
518
+ #### 引用块
519
+
520
+ ```javascript
521
+ ext_call({
522
+ plugin: 'poster',
523
+ tool: 'add_poster_quote',
524
+ args: {
525
+ x: 100,
526
+ y: 780,
527
+ quote: '让 AI 助手开发更简单',
528
+ color: '#c4b5fd',
529
+ background: '#1e293b',
530
+ },
531
+ });
532
+ ```
533
+
534
+ #### 水印
535
+
536
+ ```javascript
537
+ ext_call({
538
+ plugin: 'poster',
539
+ tool: 'add_poster_watermark',
540
+ args: {
541
+ text: 'FOLIKO',
542
+ cx: 960,
543
+ cy: 600,
544
+ fontSize: 250,
545
+ color: 'rgba(255,255,255,0.02)',
546
+ rotation: -15,
547
+ },
548
+ });
549
+ ```
550
+
551
+ ### 步骤 3:导出
552
+
553
+ ```javascript
554
+ ext_call({
555
+ plugin: 'poster',
556
+ tool: 'export_poster_canvas',
557
+ args: {
558
+ filename: 'my-poster',
559
+ format: 'png',
560
+ outputDir: 'output',
561
+ },
562
+ });
563
+ ```
564
+
565
+ ---
566
+
567
+ ## 📋 组件速查表
568
+
569
+ ### 画布管理
570
+
571
+ | 工具 | 说明 |
572
+ | ------------------------ | ------------ |
573
+ | `create_poster_canvas` | 创建画布 |
574
+ | `get_poster_canvas_info` | 获取画布信息 |
575
+ | `clear_poster_canvas` | 清除画布 |
576
+
577
+ ### 导出
578
+
579
+ | 工具 | 说明 |
580
+ | ---------------------- | ----------- |
581
+ | `export_poster_canvas` | 导出 PNG |
582
+ | `export_poster_svg` | 导出 SVG |
583
+ | `export_poster_base64` | 导出 Base64 |
584
+
585
+ ### 基础元素
586
+
587
+ | 工具 | 说明 |
588
+ | ------------------------ | ------ |
589
+ | `add_poster_background` | 背景 |
590
+ | `add_poster_rectangle` | 矩形 |
591
+ | `add_poster_circle` | 圆形 |
592
+ | `add_poster_line` | 线条 |
593
+ | `add_poster_polygon` | 多边形 |
594
+ | `add_poster_text` | 文字 |
595
+ | `add_poster_art_text` | 艺术字 |
596
+ | `add_poster_image` | 图片 |
597
+ | `add_poster_svg` | SVG |
598
+ | `add_poster_image_frame` | 图片框 |
599
+
600
+ ### 布局组件
601
+
602
+ | 工具 | 说明 |
603
+ | -------------------- | ---- |
604
+ | `add_poster_columns` | 分栏 |
605
+ | `add_poster_grid` | 网格 |
606
+
607
+ ### 装饰组件
608
+
609
+ | 工具 | 说明 |
610
+ | ---------------------------- | -------- |
611
+ | `add_poster_star` | 星形 |
612
+ | `add_poster_arrow` | 箭头 |
613
+ | `add_poster_progress_circle` | 环形进度 |
614
+ | `add_poster_chip` | 标签 |
615
+ | `add_poster_chart` | 图表 |
616
+ | `add_poster_watermark` | 水印 |
617
+ | `add_poster_table` | 表格 |
618
+
619
+ ### 高级组件
620
+
621
+ | 工具 | 说明 |
622
+ | ------------------------- | -------- |
623
+ | `add_poster_card` | 卡片 |
624
+ | `add_poster_badge` | 徽章 |
625
+ | `add_poster_cta` | CTA按钮 |
626
+ | `add_poster_feature` | 特性 |
627
+ | `add_poster_feature_grid` | 特性网格 |
628
+ | `add_poster_divider` | 分隔线 |
629
+ | `add_poster_avatar` | 头像 |
630
+ | `add_poster_progress` | 进度条 |
631
+ | `add_poster_rating` | 评分 |
632
+ | `add_poster_quote` | 引用 |
633
+ | `add_poster_stat_card` | 统计卡 |
634
+ | `add_poster_tag_cloud` | 标签云 |
635
+ | `add_poster_stepper` | 步骤条 |
636
+ | `add_poster_timeline` | 时间线 |
637
+ | `add_poster_list_item` | 列表项 |
638
+ | `add_poster_notification` | 通知 |
639
+
640
+ ### 模板
641
+
642
+ | 工具 | 说明 |
643
+ | ------------------------ | -------- |
644
+ | `generate_poster` | 一键生成 |
645
+ | `list_poster_templates` | 列出模板 |
646
+ | `list_poster_components` | 列出组件 |
647
+
648
+ ---
649
+
650
+ ## 📝 完整示例
651
+
652
+ ### 示例 1:Foliko 项目海报(深色科技风)
653
+
654
+ ```javascript
655
+ // 1. 创建画布
656
+ ext_call({
657
+ plugin: 'poster',
658
+ tool: 'create_poster_canvas',
659
+ args: { width: 1920, height: 1080, background: '#0f172a' },
660
+ });
661
+
662
+ // 2. 装饰元素
663
+ ext_call({
664
+ plugin: 'poster',
665
+ tool: 'add_poster_circle',
666
+ args: { cx: 1700, cy: -100, rx: 400, fill: '#3b82f6', opacity: 0.1 },
667
+ });
668
+ ext_call({
669
+ plugin: 'poster',
670
+ tool: 'add_poster_star',
671
+ args: { cx: 180, cy: 180, points: 5, outerRadius: 40, fill: '#fbbf24', opacity: 0.9 },
672
+ });
673
+
674
+ // 3. 标题
675
+ ext_call({
676
+ plugin: 'poster',
677
+ tool: 'add_poster_art_text',
678
+ args: {
679
+ text: 'FOLIKO',
680
+ x: 960,
681
+ y: 120,
682
+ fontSize: 100,
683
+ gradient: { colors: ['#3b82f6', '#8b5cf6'] },
684
+ shadow: { color: '#3b82f6', blur: 50 },
685
+ },
686
+ });
687
+ ext_call({
688
+ plugin: 'poster',
689
+ tool: 'add_poster_text',
690
+ args: {
691
+ text: '简约的插件化 Agent 框架',
692
+ x: 960,
693
+ y: 190,
694
+ fontSize: 28,
695
+ color: '#94a3b8',
696
+ align: 'center',
697
+ },
698
+ });
699
+
700
+ // 4. 特性网格
701
+ ext_call({
702
+ plugin: 'poster',
703
+ tool: 'add_poster_feature_grid',
704
+ args: {
705
+ x: 90,
706
+ y: 280,
707
+ columns: 3,
708
+ itemWidth: 560,
709
+ itemHeight: 120,
710
+ items: [
711
+ { icon: '⚡', title: '插件化架构', description: '核心简单', color: '#3b82f6' },
712
+ { icon: '🤖', title: '多 AI 支持', description: '多种大模型', color: '#10b981' },
713
+ { icon: '📡', title: '流式输出', description: '实时响应', color: '#ec4899' },
714
+ { icon: '🔧', title: '内置工具', description: '85+工具', color: '#f59e0b' },
715
+ { icon: '🧩', title: '技能系统', description: '可扩展', color: '#8b5cf6' },
716
+ { icon: '🎯', title: '子 Agent', description: '分工协作', color: '#06b6d4' },
717
+ ],
718
+ background: '#1e293b',
719
+ borderColor: '#3b82f6',
720
+ },
721
+ });
722
+
723
+ // 5. 统计卡片
724
+ ext_call({
725
+ plugin: 'poster',
726
+ tool: 'add_poster_stat_card',
727
+ args: {
728
+ x: 90,
729
+ y: 580,
730
+ title: '27+',
731
+ subtitle: '内置插件',
732
+ icon: '📦',
733
+ color: '#3b82f6',
734
+ background: '#1e293b',
735
+ borderColor: '#3b82f6',
736
+ },
737
+ });
738
+ ext_call({
739
+ plugin: 'poster',
740
+ tool: 'add_poster_stat_card',
741
+ args: {
742
+ x: 430,
743
+ y: 580,
744
+ title: '25+',
745
+ subtitle: '内置技能',
746
+ icon: '✨',
747
+ color: '#10b981',
748
+ background: '#1e293b',
749
+ borderColor: '#10b981',
750
+ },
751
+ });
752
+
753
+ // 6. 标签
754
+ ext_call({
755
+ plugin: 'poster',
756
+ tool: 'add_poster_chip',
757
+ args: { x: 550, y: 870, text: 'v1.1.0', background: '#3b82f6', color: '#ffffff', fontSize: 14 },
758
+ });
759
+ ext_call({
760
+ plugin: 'poster',
761
+ tool: 'add_poster_chip',
762
+ args: {
763
+ x: 680,
764
+ y: 870,
765
+ text: 'MIT License',
766
+ background: '#10b981',
767
+ color: '#ffffff',
768
+ fontSize: 14,
769
+ },
770
+ });
771
+
772
+ // 7. CTA
773
+ ext_call({
774
+ plugin: 'poster',
775
+ tool: 'add_poster_cta',
776
+ args: {
777
+ x: 960,
778
+ y: 940,
779
+ text: 'npm install -g foliko',
780
+ background: '#3b82f6',
781
+ color: '#ffffff',
782
+ fontSize: 22,
783
+ radius: 30,
784
+ },
785
+ });
786
+
787
+ // 8. 水印
788
+ ext_call({
789
+ plugin: 'poster',
790
+ tool: 'add_poster_watermark',
791
+ args: {
792
+ text: 'FOLIKO',
793
+ cx: 960,
794
+ cy: 600,
795
+ fontSize: 250,
796
+ color: 'rgba(255,255,255,0.02)',
797
+ rotation: -15,
798
+ },
799
+ });
800
+
801
+ // 9. 导出
802
+ ext_call({
803
+ plugin: 'poster',
804
+ tool: 'export_poster_canvas',
805
+ args: { filename: 'foliko-poster', format: 'png', outputDir: 'output' },
806
+ });
807
+ ```
808
+
809
+ ### 示例 2:赛博朋克风格海报
810
+
811
+ ```javascript
812
+ // 使用赛博朋克配色
813
+ ext_call({
814
+ plugin: 'poster',
815
+ tool: 'create_poster_canvas',
816
+ args: { width: 1920, height: 1080, background: '#0a0a0f' },
817
+ });
818
+ ext_call({
819
+ plugin: 'poster',
820
+ tool: 'add_poster_circle',
821
+ args: { cx: 1600, cy: 200, rx: 400, fill: '#ff006e', opacity: 0.15 },
822
+ });
823
+ ext_call({
824
+ plugin: 'poster',
825
+ tool: 'add_poster_circle',
826
+ args: { cx: 200, cy: 900, rx: 300, fill: '#00f5d4', opacity: 0.1 },
827
+ });
828
+ ext_call({
829
+ plugin: 'poster',
830
+ tool: 'add_poster_art_text',
831
+ args: {
832
+ text: 'CYBER',
833
+ x: 960,
834
+ y: 300,
835
+ fontSize: 140,
836
+ gradient: { colors: ['#ff006e', '#00f5d4'] },
837
+ shadow: { color: '#ff006e', blur: 50 },
838
+ },
839
+ });
840
+ ext_call({
841
+ plugin: 'poster',
842
+ tool: 'add_poster_text',
843
+ args: { text: '未来已来', x: 960, y: 420, fontSize: 48, color: '#f0f0f0', align: 'center' },
844
+ });
845
+ ext_call({
846
+ plugin: 'poster',
847
+ tool: 'add_poster_cta',
848
+ args: {
849
+ x: 960,
850
+ y: 600,
851
+ text: '探索未来 →',
852
+ background: '#ff006e',
853
+ color: '#ffffff',
854
+ fontSize: 24,
855
+ radius: 30,
856
+ },
857
+ });
858
+ ext_call({
859
+ plugin: 'poster',
860
+ tool: 'export_poster_canvas',
861
+ args: { filename: 'cyber-poster', format: 'png', outputDir: 'output' },
862
+ });
863
+ ```
864
+
865
+ ### 示例 3:温暖风格海报
866
+
867
+ ```javascript
868
+ // 使用暖色调配色
869
+ ext_call({
870
+ plugin: 'poster',
871
+ tool: 'create_poster_canvas',
872
+ args: { width: 1080, height: 1080, background: '#fef3e2' },
873
+ });
874
+ ext_call({
875
+ plugin: 'poster',
876
+ tool: 'add_poster_art_text',
877
+ args: {
878
+ text: 'COFFEE',
879
+ x: 540,
880
+ y: 350,
881
+ fontSize: 100,
882
+ gradient: { colors: ['#e07a5f', '#f4a261'] },
883
+ },
884
+ });
885
+ ext_call({
886
+ plugin: 'poster',
887
+ tool: 'add_poster_text',
888
+ args: {
889
+ text: '慢下来,享受生活',
890
+ x: 540,
891
+ y: 450,
892
+ fontSize: 32,
893
+ color: '#3d405b',
894
+ align: 'center',
895
+ },
896
+ });
897
+ ext_call({
898
+ plugin: 'poster',
899
+ tool: 'add_poster_chip',
900
+ args: {
901
+ x: 450,
902
+ y: 600,
903
+ text: '☕ 手冲咖啡',
904
+ background: '#e07a5f',
905
+ color: '#ffffff',
906
+ fontSize: 18,
907
+ },
908
+ });
909
+ ext_call({
910
+ plugin: 'poster',
911
+ tool: 'add_poster_cta',
912
+ args: {
913
+ x: 540,
914
+ y: 750,
915
+ text: '了解更多',
916
+ background: '#81b29a',
917
+ color: '#ffffff',
918
+ fontSize: 20,
919
+ radius: 25,
920
+ },
921
+ });
922
+ ext_call({
923
+ plugin: 'poster',
924
+ tool: 'export_poster_canvas',
925
+ args: { filename: 'coffee-poster', format: 'png', outputDir: 'output' },
926
+ });
927
+ ```
928
+
929
+ ---
930
+
931
+ ## 🔗 参考资源
932
+
933
+ | 网站 | URL | 特点 |
934
+ | --------------- | ----------------------- | ------------ |
935
+ | Coolors | https://coolors.co | 智能配色生成 |
936
+ | Color Hunt | https://colorhunt.co | 流行配色分享 |
937
+ | Adobe Color | https://color.adobe.com | 配色趋势 |
938
+ | Material Design | https://m3.material.io | 设计系统配色 |
939
+
940
+ ---
941
+
942
+ ## 🎨 设计理念与原则
943
+
944
+ ### 核心设计原则(来自 Refactoring UI & Smashing Magazine)
945
+
946
+ #### 1. 层次结构(Hierarchy)
947
+
948
+ - **不是所有元素都相等** - 使用大小、颜色、间距区分重要性
949
+ - **尺寸不是一切** - 结合粗细、颜色、对比度
950
+ - **去饱和以强调** - 在彩色背景上避免灰色文字
951
+ - **分离视觉层次与文档层次** - 不要让 HTML 结构限制设计
952
+
953
+ #### 2. 颜色系统
954
+
955
+ - **使用 HSL 而非 HEX** - 更易理解和调整
956
+ - **建立完整色阶** - 至少 5-10 个色阶(浅→深)
957
+ - **灰度不一定是灰色** - 可以偏蓝、偏紫、偏绿
958
+ - **考虑可访问性** - 对比度至少 4.5:1
959
+ - **颜色仅用于强调** - 不要依赖颜色传达所有信息
960
+
961
+ #### 3. 间距系统
962
+
963
+ - **从过多留白开始** - 更容易后期收紧
964
+ - **建立间距和尺寸系统** - 使用 4px/8px 基础网格
965
+ - **避免歧义间距** - 间距应该有明显的倍数关系
966
+ - **留白不是浪费** - 呼吸感提升可读性
967
+
968
+ #### 4. 排版
969
+
970
+ - **建立类型比例** - 使用固定比例(如 1.25、1.333)
971
+ - **选择优质字体** - 无衬线字体适合屏幕
972
+ - **控制行长度** - 理想 60-75 字符
973
+ - **调高行高** - 正文 1.5-1.75,标题可更低
974
+ - **有效使用字间距** - 全大写时增加间距
975
+
976
+ #### 5. 深度与阴影
977
+
978
+ - **模拟统一光源方向** - 所有阴影方向一致
979
+ - **阴影可有两个部分** - 近景阴影 + 远景阴影
980
+ - **扁平设计也可以有深度** - 使用微妙渐变
981
+ - **重叠元素创造层次** - 使用 z-index 和叠加
982
+
983
+ #### 6. 边框与分隔
984
+
985
+ - **使用更少的边框** - 过多的边框让设计杂乱
986
+ - **使用对比背景色** - 分隔元素的好方法
987
+ - **用阴影代替边框** - 更现代的感觉
988
+ - **box-shadow 替代 border** - 视觉更柔和
989
+
990
+ #### 7. 组件设计
991
+
992
+ - **从功能开始,而非布局** - 先确定组件用途
993
+ - **细节稍后添加** - 先完成结构再美化
994
+ - **不要设计过多** - 专注于当前需要
995
+ - **选择一种个性** - 设计语言保持一致
996
+ - **限制选择** - 减少颜色、字体、间距选项
997
+
998
+ ### 设计灵感来源
999
+
1000
+ #### 国际设计资源
1001
+
1002
+ | 网站 | URL | 特点 |
1003
+ | ------------------- | -------------------------------- | -------------------- |
1004
+ | Smashing Magazine | https://www.smashingmagazine.com | 顶级设计文章与指南 |
1005
+ | Google Design | https://design.google | Material Design 系统 |
1006
+ | Refactoring UI | https://refactoringui.com | 开发者设计指南 |
1007
+ | Refactoring UI Book | https://refactoringui.com/book | 50+ 设计技巧 |
1008
+
1009
+ #### 设计灵感网站
1010
+
1011
+ | 网站 | URL | 用途 |
1012
+ | --------- | --------------------- | -------------- |
1013
+ | Dribbble | https://dribbble.com | UI/UX 设计展示 |
1014
+ | Behance | https://behance.net | 创意设计作品 |
1015
+ | Awwwards | https://awwwards.com | 优秀网页设计 |
1016
+ | Pinterest | https://pinterest.com | 设计灵感收藏 |
1017
+
1018
+ #### 配色灵感网站
1019
+
1020
+ | 网站 | URL | 特点 |
1021
+ | --------------- | ------------------------------------- | ----------------- |
1022
+ | Color Hunt | https://colorhunt.co/palettes/popular | 流行配色分享 |
1023
+ | Coolors | https://coolors.co/palettes/trending | 智能配色生成 |
1024
+ | Adobe Color | https://color.adobe.com | 配色趋势与提取 |
1025
+ | Tailwind Colors | https://tailwindcss.com/docs/colors | 完整色彩系统 |
1026
+ | Material Color | https://m3.material.io/color | Material 配色工具 |
1027
+
1028
+ ### 实用设计技巧
1029
+
1030
+ #### 快速提升设计感的技巧
1031
+
1032
+ 1. **增加对比度** - 标题和正文对比更明显
1033
+ 2. **使用渐变** - 纯色 + 渐变增加层次
1034
+ 3. **添加微妙阴影** - 让元素"浮"起来
1035
+ 4. **统一图标风格** - 使用同一套图标库
1036
+ 5. **控制留白** - 不要让元素太拥挤
1037
+ 6. **一致的圆角** - 全部使用相同的圆角值
1038
+ 7. **对齐边缘** - 使用网格系统对齐
1039
+ 8. **限制颜色数量** - 主色 + 强调色 + 中性色
1040
+
1041
+ #### 常见设计反模式
1042
+
1043
+ - ❌ 使用太多字体
1044
+ - ❌ 所有元素都有边框
1045
+ - ❌ 灰色文字在彩色背景
1046
+ - ❌ 不一致的间距
1047
+ - ❌ 忽视可访问性
1048
+ - ❌ 设计过于复杂
1049
+ - ❌ 纯色背景无层次
1050
+
1051
+ #### 设计检查清单
1052
+
1053
+ - [ ] 视觉层次清晰?
1054
+ - [ ] 颜色对比度足够?
1055
+ - [ ] 间距系统一致?
1056
+ - [ ] 字体比例协调?
1057
+ - [ ] 阴影方向统一?
1058
+ - [ ] 移动端适配良好?
1059
+ - [ ] 无障碍访问达标?