foliko 1.1.5 → 1.1.6

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 (266) hide show
  1. package/.agent/agents/code-assistant.json +17 -0
  2. package/.agent/agents/email-assistant.json +14 -0
  3. package/.agent/agents/file-assistant.json +18 -0
  4. package/.agent/agents/orchestrator-demo.md +53 -0
  5. package/.agent/agents/orchestrator.json +7 -0
  6. package/.agent/agents/system-assistant.json +15 -0
  7. package/.agent/agents/web-assistant.json +12 -0
  8. package/.agent/data/ambient/goals.json +50 -0
  9. package/.agent/data/ambient/memories.json +7 -0
  10. package/.agent/data/default.json +3 -412
  11. package/.agent/data/plugins-state.json +178 -173
  12. package/.agent/data/scheduler/tasks.json +1 -0
  13. package/.agent/mcp_config.json +6 -0
  14. package/.agent/memory/core.md +1 -0
  15. package/.agent/memory/feedback/mnrsiuoc-e1ru74.md +9 -0
  16. package/.agent/memory/feedback/mnrt2mmz-98az6n.md +9 -0
  17. package/.agent/memory/feedback/mnrtqrhm-kxsicz.md +9 -0
  18. package/.agent/memory/feedback/mnrts8vg-i0ngzp.md +15 -0
  19. package/.agent/memory/feedback/mnrtt7jt-c0trb2.md +9 -0
  20. package/.agent/memory/feedback/mnruc2f0-5s52la.md +16 -0
  21. package/.agent/memory/feedback/mnrumbmx-63sa0v.md +9 -0
  22. package/.agent/memory/project/mnn93ogy-ypjn27.md +9 -0
  23. package/.agent/memory/project/mnn98fqy-5nhc1u.md +25 -0
  24. package/.agent/memory/project/mnrp7p5n-8enm2a.md +31 -0
  25. package/.agent/memory/project/mnrp9ifb-yynks0.md +40 -0
  26. package/.agent/memory/project/mnrpb3b8-f617s4.md +25 -0
  27. package/.agent/memory/project/mnrrmqgg-focprv.md +9 -0
  28. package/.agent/memory/project/mnrtykbh-6atsor.md +9 -0
  29. package/.agent/memory/project/mnru9jiu-kgau16.md +35 -0
  30. package/.agent/memory/reference/mnq3oenw-46haj6.md +63 -0
  31. package/.agent/memory/reference/mnq5qxm2-mjoooh.md +116 -0
  32. package/.agent/memory/reference/mnrnvpwo-rcqv9m.md +52 -0
  33. package/.agent/memory/reference/mnrovxvz-zy9xqm.md +25 -0
  34. package/.agent/memory/reference/mnroxabj-1b3930.md +68 -0
  35. package/.agent/memory/reference/mnrpjtlp-mnb9od.md +35 -0
  36. package/.agent/memory/reference/mnrps1x3-6b8xfm.md +28 -0
  37. package/.agent/memory/reference/mnrpt9ov-15er5w.md +22 -0
  38. package/.agent/memory/reference/mnrq82dn-y9tv9e.md +50 -0
  39. package/.agent/memory/reference/mnrqnr5v-v75drf.md +34 -0
  40. package/.agent/memory/reference/mnrrfzys-urudaf.md +31 -0
  41. package/.agent/memory/reference/mnrrocha-t0027n.md +21 -0
  42. package/.agent/memory/reference/mnrukklc-bxndsb.md +35 -0
  43. package/.agent/memory/user/mnm67t9m-x8rekk.md +9 -0
  44. package/.agent/memory/user/mnn5mmqh-w6aktx.md +11 -0
  45. package/.agent/memory/user/mnnbfhhn-dk1bd1.md +22 -0
  46. package/.agent/memory/user/mnrt39t8-8eosy0.md +9 -0
  47. package/.agent/package.json +8 -0
  48. package/.agent/plugins/__pycache__/file_writer.cpython-312.pyc +0 -0
  49. package/.agent/plugins/daytona/README.md +89 -0
  50. package/.agent/plugins/daytona/index.js +377 -0
  51. package/.agent/plugins/daytona/package.json +12 -0
  52. package/.agent/plugins/marknative/README.md +134 -0
  53. package/.agent/plugins/marknative/fonts/SegoeUI Emoji.ttf +0 -0
  54. package/.agent/plugins/marknative/fonts.zip +0 -0
  55. package/.agent/plugins/marknative/index.js +256 -0
  56. package/.agent/plugins/marknative/package.json +12 -0
  57. package/.agent/plugins/poster-plugin/emojis/rocket.png +1 -0
  58. package/.agent/plugins/poster-plugin/src/index.js +29 -30
  59. package/.agent/plugins/poster-plugin/yarn.lock +1007 -0
  60. package/.agent/plugins/system-info/index.js +387 -0
  61. package/.agent/plugins/system-info/package.json +4 -0
  62. package/.agent/plugins/system-info/test.js +40 -0
  63. package/.agent/plugins.json +11 -5
  64. package/.agent/python-scripts/test_sample.py +24 -0
  65. package/.agent/sessions/cli_default.json +5010 -503
  66. package/.agent/skills/agent-browser/SKILL.md +311 -0
  67. package/.agent/skills/agent-browser/TEST_PLAN.md +200 -0
  68. package/.agent/skills/sysinfo/SKILL.md +38 -0
  69. package/.agent/skills/sysinfo/system-info.sh +130 -0
  70. package/.agent/skills/workflow/SKILL.md +324 -0
  71. package/.agent/test-agent.js +35 -0
  72. package/.agent/weixin.json +6 -0
  73. package/.agent/workflows/email-digest.json +50 -0
  74. package/.agent/workflows/file-backup.json +21 -0
  75. package/.agent/workflows/get-ip-notify.json +32 -0
  76. package/.agent/workflows/news-aggregator.json +93 -0
  77. package/.agent/workflows/news-dashboard-v2.json +94 -0
  78. package/.agent/workflows/notification-batch.json +32 -0
  79. package/.claude/settings.local.json +1 -8
  80. package/.env.example +56 -56
  81. package/README.md +441 -441
  82. package/foliko-cloud-rising.png +0 -0
  83. package/foliko-dawn-of-ai.png +0 -0
  84. package/foliko-mindful-observation.png +0 -0
  85. package/foliko-stellar-dreams.png +0 -0
  86. package/foliko-zen-jing.png +0 -0
  87. package/foliko-zen-kong.png +0 -0
  88. package/foliko-zen-wu.png +0 -0
  89. package/package.json +2 -2
  90. package/plugins/coordinator-plugin.js +282 -0
  91. package/plugins/default-plugins.js +1 -1
  92. package/plugins/memory-plugin.js +36 -30
  93. package/skills/find-skills/AGENTS.md +162 -162
  94. package/skills/find-skills/SKILL.md +133 -133
  95. package/src/core/agent-chat.js +3 -3
  96. package/src/core/agent.js +258 -71
  97. package/src/core/coordinator-manager.js +341 -0
  98. package/src/core/framework.js +50 -0
  99. package/src/core/plugin-base.js +30 -17
  100. package/src/core/sub-agent-config.js +8 -1
  101. package/src/core/worker-agent.js +176 -0
  102. package/src/executors/mcp-executor.js +4 -4
  103. package/zen_karesansui.png +0 -0
  104. package/.agent/.shared/ui-ux-pro-max/data/charts.csv +0 -26
  105. package/.agent/.shared/ui-ux-pro-max/data/colors.csv +0 -97
  106. package/.agent/.shared/ui-ux-pro-max/data/icons.csv +0 -101
  107. package/.agent/.shared/ui-ux-pro-max/data/landing.csv +0 -31
  108. package/.agent/.shared/ui-ux-pro-max/data/products.csv +0 -97
  109. package/.agent/.shared/ui-ux-pro-max/data/prompts.csv +0 -24
  110. package/.agent/.shared/ui-ux-pro-max/data/react-performance.csv +0 -45
  111. package/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +0 -53
  112. package/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +0 -56
  113. package/.agent/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +0 -53
  114. package/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +0 -53
  115. package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +0 -51
  116. package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +0 -59
  117. package/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +0 -52
  118. package/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +0 -54
  119. package/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +0 -61
  120. package/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +0 -54
  121. package/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +0 -51
  122. package/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +0 -50
  123. package/.agent/.shared/ui-ux-pro-max/data/styles.csv +0 -59
  124. package/.agent/.shared/ui-ux-pro-max/data/typography.csv +0 -58
  125. package/.agent/.shared/ui-ux-pro-max/data/ui-reasoning.csv +0 -101
  126. package/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +0 -100
  127. package/.agent/.shared/ui-ux-pro-max/data/web-interface.csv +0 -31
  128. package/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/core.cpython-313.pyc +0 -0
  129. package/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-313.pyc +0 -0
  130. package/.agent/.shared/ui-ux-pro-max/scripts/core.py +0 -258
  131. package/.agent/.shared/ui-ux-pro-max/scripts/design_system.py +0 -1067
  132. package/.agent/.shared/ui-ux-pro-max/scripts/search.py +0 -106
  133. package/.agent/ARCHITECTURE.md +0 -288
  134. package/.agent/agents/ambient-agent.md +0 -57
  135. package/.agent/agents/debugger.md +0 -55
  136. package/.agent/agents/email-assistant.md +0 -49
  137. package/.agent/agents/file-manager.md +0 -42
  138. package/.agent/agents/python-developer.md +0 -60
  139. package/.agent/agents/scheduler.md +0 -59
  140. package/.agent/agents/web-developer.md +0 -45
  141. package/.agent/data/puppeteer-sessions/undefined.json +0 -6
  142. package/.agent/data/weixin-media/2026-04-08/img_1775618677512.jpg +0 -0
  143. package/.agent/data/weixin-media/2026-04-08/img_1775619073340.jpg +0 -0
  144. package/.agent/data/weixin-media/2026-04-08/img_1775619097536.jpg +0 -0
  145. package/.agent/data/weixin-media/2026-04-08/img_1775619209388.jpg +0 -0
  146. package/.agent/mcp_config_updated.json +0 -12
  147. package/.agent/memory/feedback/mnrdq5ps-ekch6c.md +0 -9
  148. package/.agent/memory/feedback/mnrdvj5i-ca3dkd.md +0 -9
  149. package/.agent/memory/feedback/mnre365e-7s4zax.md +0 -9
  150. package/.agent/memory/feedback/mnre36jn-nkfgmp.md +0 -9
  151. package/.agent/memory/feedback/mnre3805-kjiq6h.md +0 -9
  152. package/.agent/memory/feedback/test-1775733060827.md +0 -6
  153. package/.agent/memory/project/mnqx54u5-loqtoe.md +0 -9
  154. package/.agent/memory/project/mnqx84cv-mx6dmd.md +0 -9
  155. package/.agent/memory/reference/mnre3cww-penbo1.md +0 -9
  156. package/.agent/plugins/poster-plugin/fonts/NotoColorEmoji-Regular.ttf +0 -0
  157. package/.agent/plugins/poster-plugin/fonts/Symbola_hint.ttf +0 -0
  158. package/.agent/plugins/puppeteer-plugin/README.md +0 -147
  159. package/.agent/plugins/puppeteer-plugin/index.js +0 -1418
  160. package/.agent/plugins/puppeteer-plugin/package.json +0 -9
  161. package/.agent/rules/GEMINI.md +0 -273
  162. package/.agent/rules/allow-rule.md +0 -77
  163. package/.agent/rules/log-rule.md +0 -83
  164. package/.agent/rules/security-rule.md +0 -93
  165. package/.agent/scripts/auto_preview.py +0 -148
  166. package/.agent/scripts/checklist.py +0 -217
  167. package/.agent/scripts/session_manager.py +0 -120
  168. package/.agent/scripts/verify_all.py +0 -327
  169. package/.agent/sessions/weixin_o9cq80zgZqKPA2-s59PN43GdDy1w@im.wechat.json +0 -11097
  170. package/.agent/skills/api-patterns/SKILL.md +0 -81
  171. package/.agent/skills/api-patterns/api-style.md +0 -42
  172. package/.agent/skills/api-patterns/auth.md +0 -24
  173. package/.agent/skills/api-patterns/documentation.md +0 -26
  174. package/.agent/skills/api-patterns/graphql.md +0 -41
  175. package/.agent/skills/api-patterns/rate-limiting.md +0 -31
  176. package/.agent/skills/api-patterns/response.md +0 -37
  177. package/.agent/skills/api-patterns/rest.md +0 -40
  178. package/.agent/skills/api-patterns/scripts/api_validator.py +0 -211
  179. package/.agent/skills/api-patterns/security-testing.md +0 -122
  180. package/.agent/skills/api-patterns/trpc.md +0 -41
  181. package/.agent/skills/api-patterns/versioning.md +0 -22
  182. package/.agent/skills/app-builder/SKILL.md +0 -75
  183. package/.agent/skills/app-builder/agent-coordination.md +0 -71
  184. package/.agent/skills/app-builder/feature-building.md +0 -53
  185. package/.agent/skills/app-builder/project-detection.md +0 -34
  186. package/.agent/skills/app-builder/scaffolding.md +0 -118
  187. package/.agent/skills/app-builder/tech-stack.md +0 -40
  188. package/.agent/skills/app-builder/templates/SKILL.md +0 -39
  189. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
  190. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
  191. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
  192. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
  193. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
  194. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
  195. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
  196. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -122
  197. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -122
  198. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -169
  199. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -134
  200. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
  201. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -119
  202. package/.agent/skills/architecture/SKILL.md +0 -55
  203. package/.agent/skills/architecture/context-discovery.md +0 -43
  204. package/.agent/skills/architecture/examples.md +0 -94
  205. package/.agent/skills/architecture/pattern-selection.md +0 -68
  206. package/.agent/skills/architecture/patterns-reference.md +0 -50
  207. package/.agent/skills/architecture/trade-off-analysis.md +0 -77
  208. package/.agent/skills/clean-code/SKILL.md +0 -201
  209. package/.agent/skills/doc.md +0 -177
  210. package/.agent/skills/frontend-design/SKILL.md +0 -418
  211. package/.agent/skills/frontend-design/animation-guide.md +0 -331
  212. package/.agent/skills/frontend-design/color-system.md +0 -311
  213. package/.agent/skills/frontend-design/decision-trees.md +0 -418
  214. package/.agent/skills/frontend-design/motion-graphics.md +0 -306
  215. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +0 -183
  216. package/.agent/skills/frontend-design/scripts/ux_audit.py +0 -722
  217. package/.agent/skills/frontend-design/typography-system.md +0 -345
  218. package/.agent/skills/frontend-design/ux-psychology.md +0 -1116
  219. package/.agent/skills/frontend-design/visual-effects.md +0 -383
  220. package/.agent/skills/i18n-localization/SKILL.md +0 -154
  221. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +0 -241
  222. package/.agent/skills/mcp-builder/SKILL.md +0 -176
  223. package/.agent/skills/poster-design/SKILL.md +0 -385
  224. package/.agent/skills/web-design-guidelines/SKILL.md +0 -57
  225. package/.agent/workflows/brainstorm.md +0 -113
  226. package/.agent/workflows/create.md +0 -59
  227. package/.agent/workflows/debug.md +0 -103
  228. package/.agent/workflows/deploy.md +0 -176
  229. package/.agent/workflows/enhance.md +0 -63
  230. package/.agent/workflows/orchestrate.md +0 -237
  231. package/.agent/workflows/plan.md +0 -89
  232. package/.agent/workflows/preview.md +0 -81
  233. package/.agent/workflows/simple-test.md +0 -42
  234. package/.agent/workflows/status.md +0 -86
  235. package/.agent/workflows/structured-orchestrate.md +0 -180
  236. package/.agent/workflows/test.md +0 -144
  237. package/.agent/workflows/ui-ux-pro-max.md +0 -296
  238. package/37ua31lq.png +0 -0
  239. package/4ru0h1yo.png +0 -0
  240. package/55c90rsx.png +0 -0
  241. package/gud2mnws.png +0 -0
  242. package/output/poster_business.png.png +0 -0
  243. package/output/poster_business_product.png.png +0 -0
  244. package/output/poster_cyberpunk_neon.png.png +0 -0
  245. package/output/poster_festival.png.png +0 -0
  246. package/output/poster_foliko_personal.png.png +0 -0
  247. package/output/poster_french_romance.png.png +0 -0
  248. package/output/poster_guochao_landscape.png.png +0 -0
  249. package/output/poster_japanese_zen.png.png +0 -0
  250. package/output/poster_kawaii.png.png +0 -0
  251. package/output/poster_kawaii_hello.png.png +0 -0
  252. package/output/poster_luxury_gradient.png.png +0 -0
  253. package/output/poster_magazine_vogue.png.png +0 -0
  254. package/output/poster_minimal.png.png +0 -0
  255. package/output/poster_minimal_bw.png.png +0 -0
  256. package/output/poster_minimal_geometry.png.png +0 -0
  257. package/output/poster_pop_art.png.png +0 -0
  258. package/output/poster_sakura.png.png +0 -0
  259. package/output/poster_tech.png.png +0 -0
  260. package/output/poster_trendy.png.png +0 -0
  261. package/output/poster_vintage.png.png +0 -0
  262. package/output/poster_vintage_coffee.png.png +0 -0
  263. package/undefined.png +0 -0
  264. package/undefined.svg +0 -1
  265. package/xrrdyfr8.png +0 -0
  266. package/y9bfri9m.png +0 -0
@@ -7,40 +7,150 @@
7
7
  "enabled": true,
8
8
  "config": {}
9
9
  },
10
- "ai": {
11
- "enabled": true
10
+ "skill-manager": {
11
+ "enabled": true,
12
+ "config": {}
12
13
  },
13
- "storage": {
14
+ "mcp-executor": {
15
+ "enabled": true,
16
+ "config": {}
17
+ },
18
+ "python-plugin-loader": {
19
+ "enabled": true,
20
+ "config": {}
21
+ },
22
+ "subagent-manager": {
14
23
  "enabled": true,
15
24
  "config": {
16
- "type": "json",
17
- "path": ".agent/data",
18
- "namespace": "default"
25
+ "agentsDir": ".agent/agents",
26
+ "agents": [
27
+ {
28
+ "name": "code-assistant",
29
+ "description": "代码助手 - 专业的编程和代码分析助手",
30
+ "instructions": "你是一个专业的代码助手,精通多种编程语言和开发技术。\n\n【核心能力】\n- 代码编写、调试和优化\n- 代码审查和重构建议\n- 多种编程语言支持(Python、JavaScript、TypeScript、Java等)\n- 代码问题诊断和解决\n- 解释复杂代码逻辑\n\n【工作原则】\n- 提供清晰、规范的代码\n- 包含必要的注释说明\n- 考虑代码性能和安全性\n- 遵循最佳实践",
31
+ "tools": [
32
+ "read_file",
33
+ "write_file",
34
+ "modify_file",
35
+ "search_file",
36
+ "python-execute",
37
+ "execute_command",
38
+ "shell"
39
+ ],
40
+ "_fromDir": true
41
+ },
42
+ {
43
+ "name": "email-assistant",
44
+ "description": "邮件助手 - 专业的邮件管理助手",
45
+ "instructions": "你是一个专业的邮件助手,擅长邮件的读写、筛选和管理。\n\n【核心能力】\n- 读取和回复邮件\n- 发送新邮件(支持附件)\n- 邮件搜索和筛选\n- 邮件摘要生成\n- 批量邮件处理\n\n【工作原则】\n- 保持邮件格式规范\n- 回复内容专业得体\n- 保护隐私信息\n- 及时处理重要邮件",
46
+ "tools": [
47
+ "email_read",
48
+ "email_send",
49
+ "email_mark_read",
50
+ "email_delete",
51
+ "email_unread_count",
52
+ "email_configure",
53
+ "notification_send"
54
+ ],
55
+ "_fromDir": true
56
+ },
57
+ {
58
+ "name": "file-assistant",
59
+ "description": "文件助手 - 专业的文件管理和操作助手",
60
+ "instructions": "你是一个专业的文件助手,擅长文件操作、目录管理、文件搜索和内容编辑。\n\n【核心能力】\n- 读取、创建、编辑、删除文件和目录\n- 搜索文件内容和文件名称\n- 批量文件操作\n- 文件内容分析和提取\n\n【工作原则】\n- 执行操作前确认路径正确\n- 危险操作(如删除)需要谨慎\n- 保持文件编码一致性\n- 重要文件操作前可创建备份",
61
+ "tools": [
62
+ "read_file",
63
+ "write_file",
64
+ "delete_file",
65
+ "modify_file",
66
+ "search_file",
67
+ "read_directory",
68
+ "create_directory",
69
+ "execute_command"
70
+ ],
71
+ "_fromDir": true
72
+ },
73
+ {
74
+ "name": "system-assistant",
75
+ "description": "系统助手 - 专业的系统信息监控和管理助手",
76
+ "instructions": "你是一个专业的系统助手,精通系统信息监控和基础管理。\n\n【核心能力】\n- CPU、内存、磁盘使用情况监控\n- 网络接口信息查询\n- 系统运行状态分析\n- 性能问题诊断\n- 定时监控和报告\n\n【工作原则】\n- 提供清晰的数据展示\n- 发现异常及时提醒\n- 给出合理的优化建议\n- 保护系统安全",
77
+ "tools": [
78
+ "get_basic_info",
79
+ "get_cpu_info",
80
+ "get_memory_info",
81
+ "get_disk_info",
82
+ "get_network_info",
83
+ "get_full_system_info",
84
+ "notification_send",
85
+ "schedule_task"
86
+ ],
87
+ "_fromDir": true
88
+ },
89
+ {
90
+ "name": "web-assistant",
91
+ "description": "网络助手 - 专业的网络数据获取和处理助手",
92
+ "instructions": "你是一个专业的网络助手,精通网络数据获取和处理。\n\n【核心能力】\n- HTTP请求发送(GET/POST/PUT/DELETE等)\n- 网页内容抓取和解析\n- API调用和数据处理\n- JSON/XML数据解析\n- 网络问题诊断\n\n【工作原则】\n- 遵守网站使用协议\n- 合理控制请求频率\n- 数据处理规范\n- 异常情况妥善处理",
93
+ "tools": [
94
+ "fetch",
95
+ "web_request",
96
+ "execute_command",
97
+ "python-execute",
98
+ "notification_send"
99
+ ],
100
+ "_fromDir": true
101
+ }
102
+ ]
19
103
  }
20
104
  },
21
- "tools": {
105
+ "system-info": {
22
106
  "enabled": true,
23
107
  "config": {}
24
108
  },
25
- "workflow": {
109
+ "ai": {
110
+ "enabled": true
111
+ },
112
+ "ambient": {
26
113
  "enabled": true,
27
- "config": {}
114
+ "config": {
115
+ "enabled": true,
116
+ "tickInterval": 5000,
117
+ "cooldownPeriod": 3000,
118
+ "persistencePath": ".agent/data/ambient",
119
+ "defaultGoals": []
120
+ }
28
121
  },
29
- "skill-manager": {
122
+ "audit": {
30
123
  "enabled": true,
124
+ "config": {
125
+ "maxLogs": 1000,
126
+ "retentionDays": 30,
127
+ "logDir": ".agent/logs"
128
+ }
129
+ },
130
+ "email": {
131
+ "enabled": false,
31
132
  "config": {}
32
133
  },
33
- "mcp-executor": {
134
+ "extension-executor": {
34
135
  "enabled": true,
35
136
  "config": {}
36
137
  },
37
- "shell-executor": {
38
- "enabled": true,
138
+ "feishu": {
139
+ "enabled": false,
39
140
  "config": {
40
- "timeout": 60000,
41
- "workingDir": "D:\\code\\vb-agent"
141
+ "appId": "cli_a90e8b47db235bdb",
142
+ "appSecret": "Vmfy9gXWtYQtec36uY3B8ecr1QEZO2N8",
143
+ "allowedUsers": []
42
144
  }
43
145
  },
146
+ "file-system": {
147
+ "enabled": true,
148
+ "config": {}
149
+ },
150
+ "gate-trading": {
151
+ "enabled": true,
152
+ "config": {}
153
+ },
44
154
  "python-executor": {
45
155
  "enabled": true,
46
156
  "config": {
@@ -50,6 +160,20 @@
50
160
  "pipPath": null
51
161
  }
52
162
  },
163
+ "rules": {
164
+ "enabled": true,
165
+ "config": {
166
+ "rulesDir": ".agent/rules",
167
+ "autoLoad": true
168
+ }
169
+ },
170
+ "scheduler": {
171
+ "enabled": true,
172
+ "config": {
173
+ "checkInterval": 1000,
174
+ "persistencePath": ".agent/data/scheduler"
175
+ }
176
+ },
53
177
  "session": {
54
178
  "enabled": true,
55
179
  "config": {
@@ -64,32 +188,30 @@
64
188
  "onSessionCreated": null
65
189
  }
66
190
  },
67
- "audit": {
191
+ "shell-executor": {
68
192
  "enabled": true,
69
193
  "config": {
70
- "maxLogs": 1000,
71
- "retentionDays": 30,
72
- "logDir": ".agent/logs"
194
+ "timeout": 60000,
195
+ "workingDir": "D:\\Code\\vb-agent"
73
196
  }
74
197
  },
75
- "rules": {
198
+ "storage": {
76
199
  "enabled": true,
77
200
  "config": {
78
- "rulesDir": ".agent/rules",
79
- "autoLoad": true
201
+ "type": "json",
202
+ "path": ".agent/data",
203
+ "namespace": "default"
80
204
  }
81
205
  },
82
- "scheduler": {
83
- "enabled": true,
206
+ "telegram": {
207
+ "enabled": false,
84
208
  "config": {
85
- "checkInterval": 1000,
86
- "persistencePath": ".agent/data/scheduler"
209
+ "botToken": "\"1980700161:AAHQQxKRAyg6-MuOTZDIj7x9WjEdIaGhK5I\"",
210
+ "allowedChats": [],
211
+ "groupMode": false,
212
+ "prefix": "/"
87
213
  }
88
214
  },
89
- "file-system": {
90
- "enabled": true,
91
- "config": {}
92
- },
93
215
  "think": {
94
216
  "enabled": true,
95
217
  "config": {
@@ -99,172 +221,42 @@
99
221
  "enableContinuous": false
100
222
  }
101
223
  },
102
- "python-plugin-loader": {
224
+ "tools": {
103
225
  "enabled": true,
104
226
  "config": {}
105
227
  },
106
- "telegram": {
107
- "enabled": false,
108
- "config": {
109
- "botToken": "1980700161:AAHQQxKRAyg6-MuOTZDIj7x9WjEdIaGhK5I",
110
- "allowedChats": [],
111
- "groupMode": false,
112
- "prefix": "/",
113
- "systemPrompt": "你是一个有帮助的AI助手。"
114
- }
115
- },
116
- "weixin": {
117
- "enabled": false,
118
- "config": {
119
- "forceLogin": false,
120
- "qrcodeTerminal": true,
121
- "allowedUsers": [],
122
- "systemPrompt": "你是一个有帮助的AI助手。回复内容不要使用markdown格式文本"
123
- }
124
- },
125
- "email": {
228
+ "web": {
126
229
  "enabled": true,
127
230
  "config": {}
128
231
  },
129
- "subagent-manager": {
130
- "enabled": true,
131
- "config": {
132
- "agentsDir": "D:\\code\\vb-agent\\.agent\\agents",
133
- "agents": [
134
- {
135
- "name": "code-archaeologist",
136
- "description": "Expert in legacy code, refactoring, and understanding undocumented systems. Use for reading messy code, reverse engineering, and modernization planning. Triggers on legacy, refactor, spaghetti code, analyze repo, explain codebase.",
137
- "tools": "Read, Grep, Glob, Edit, Write",
138
- "model": "inherit",
139
- "skills": "clean-code, refactoring-patterns, code-review-checklist",
140
- "_fromDir": true
141
- },
142
- {
143
- "name": "data-analyst",
144
- "description": "Expert in data analysis, visualization, statistics, and Python data processing. Use for pandas, matplotlib, CSV analysis, statistical tests, and generating charts. Triggers on analyze data, chart, plot, statistics, csv, excel, pandas, matplotlib, correlation, trend.",
145
- "tools": "Read, Write, Glob, Grep, PythonExecute, PythonScript, PipInstall, Bash",
146
- "model": "inherit",
147
- "skills": "python-data, statistics-basics, visualization-patterns",
148
- "_fromDir": true
149
- },
150
- {
151
- "name": "devops-engineer",
152
- "description": "Expert in deployment, server management, CI/CD, and production operations. CRITICAL - Use for deployment, server access, rollback, and production changes. HIGH RISK operations. Triggers on deploy, production, server, pm2, ssh, release, rollback, ci/cd.",
153
- "tools": "Read, Grep, Glob, Bash, Edit, Write",
154
- "model": "inherit",
155
- "skills": "clean-code, deployment-procedures, server-management, powershell-windows, bash-linux",
156
- "_fromDir": true
157
- },
158
- {
159
- "name": "email-admin",
160
- "description": "Email management expert for sending, reading, configuring emails, and monitoring inbox. Use for composing emails, checking unread messages, setting up email watches, configuring SMTP/IMAP, and email automation. Triggers on email, mail, inbox, smtp, imap, send email, read email, unread.",
161
- "tools": "Read, Write, Edit, Glob, Grep, Bash, Shell, ExecuteCommand, EmailSend, EmailRead, EmailConfigure, EmailWatch, EmailUnreadCount, EmailMarkRead, EmailDelete, EmailAutoReply, Fetch",
162
- "model": "inherit",
163
- "skills": "clean-code",
164
- "_fromDir": true
165
- },
166
- {
167
- "name": "frontend-specialist",
168
- "description": "Senior Frontend Architect who builds maintainable React/Next.js systems with performance-first mindset. Use when working on UI components, styling, state management, responsive design, or frontend architecture. Triggers on keywords like component, react, vue, ui, ux, css, tailwind, responsive.",
169
- "tools": "Read, Grep, Glob, Bash, Edit, Write",
170
- "model": "inherit",
171
- "skills": "clean-code, nextjs-react-expert, web-design-guidelines, tailwind-patterns, frontend-design, lint-and-validate",
172
- "_fromDir": true
173
- },
174
- {
175
- "name": "product-manager",
176
- "description": "Expert in product requirements, user stories, and acceptance criteria. Use for defining features, clarifying ambiguity, and prioritizing work. Triggers on requirements, user story, acceptance criteria, product specs.",
177
- "tools": "Read, Grep, Glob, Bash",
178
- "model": "inherit",
179
- "skills": "plan-writing, brainstorming, clean-code",
180
- "_fromDir": true
181
- },
182
- {
183
- "name": "python-developer",
184
- "description": "Expert in Python development including web frameworks (FastAPI, Flask, Django), data processing (pandas, numpy), automation scripts, and API development. Triggers on python, fastapi, flask, django, pandas, numpy, pip, virtualenv, pytest, script, automation.",
185
- "tools": "Read, Write, Glob, Grep, SearchFile, PythonExecute, PythonScript, PipInstall, Bash",
186
- "model": "inherit",
187
- "skills": "python-patterns, fastapi-guide, pandas-cookbook",
188
- "_fromDir": true
189
- },
190
- {
191
- "name": "security-auditor",
192
- "description": "Elite cybersecurity expert. Think like an attacker, defend like an expert. OWASP 2025, supply chain security, zero trust architecture. Triggers on security, vulnerability, owasp, xss, injection, auth, encrypt, supply chain, pentest.",
193
- "tools": "Read, Grep, Glob, Bash, Edit, Write",
194
- "model": "inherit",
195
- "skills": "clean-code, vulnerability-scanner, red-team-tactics, api-patterns",
196
- "_fromDir": true
197
- }
198
- ]
199
- }
200
- },
201
- "web": {
232
+ "plugin_manager": {
202
233
  "enabled": true,
203
234
  "config": {}
204
235
  },
205
- "feishu": {
236
+ "weixin": {
206
237
  "enabled": false,
207
238
  "config": {
239
+ "forceLogin": false,
240
+ "qrcodeTerminal": true,
208
241
  "allowedUsers": []
209
242
  }
210
243
  },
211
- "test-subagent": {
212
- "enabled": true,
213
- "config": {}
214
- },
215
- "system-info": {
216
- "enabled": true,
217
- "config": {}
218
- },
219
- "proactive-agent": {
244
+ "daytona": {
220
245
  "enabled": true,
221
246
  "config": {
222
- "autoStart": false,
223
- "exploreInterval": 30000,
224
- "maxNoProgress": 5,
225
- "maxIterations": 20,
226
- "enableReflection": true,
227
- "maxConcurrentGoals": 3,
228
- "quiet": false,
229
- "reflectionThreshold": 2
247
+ "apiKey": "dtn_0312a20cad24464cdc31cff0184eb7dfe7f8791bd9b2719798357a6251946a39",
248
+ "apiUrl": "https://app.daytona.io/api"
230
249
  }
231
250
  },
232
- "test-plugin": {
251
+ "test": {
233
252
  "enabled": true,
234
253
  "config": {}
235
254
  },
236
- "ambient": {
237
- "enabled": true,
238
- "config": {
239
- "enabled": true,
240
- "tickInterval": 5000,
241
- "cooldownPeriod": 3000,
242
- "persistencePath": ".agent/data/ambient",
243
- "defaultGoals": [],
244
- "llmCallTimeout": 30000,
245
- "actionTimeout": 20000
246
- }
247
- },
248
- "puppeteer": {
255
+ "marknative": {
249
256
  "enabled": true,
250
257
  "config": {}
251
258
  },
252
- "subagents": {
253
- "enabled": true,
254
- "config": {
255
- "agentsDir": "D:\\code\\vb-agent\\.agent\\agents",
256
- "agents": []
257
- }
258
- },
259
- "extension-executor": {
260
- "enabled": true,
261
- "config": {}
262
- },
263
- "gate-trading": {
264
- "enabled": true,
265
- "config": {}
266
- },
267
- "plugin_manager": {
259
+ "poster-designer": {
268
260
  "enabled": true,
269
261
  "config": {}
270
262
  },
@@ -278,11 +270,24 @@
278
270
  "preference",
279
271
  "setting",
280
272
  "user"
281
- ]
273
+ ],
274
+ "maxCoreMemory": 4000
275
+ }
276
+ },
277
+ "session-memory": {
278
+ "enabled": true,
279
+ "config": {
280
+ "memoryDir": ".agent/memory",
281
+ "maxCoreMemory": 4000,
282
+ "maxRecallResults": 5
282
283
  }
283
284
  },
284
285
  "poster": {
285
286
  "enabled": true,
286
287
  "config": {}
288
+ },
289
+ "coordinator": {
290
+ "enabled": true,
291
+ "config": {}
287
292
  }
288
293
  }
@@ -0,0 +1 @@
1
+ []
@@ -1,4 +1,10 @@
1
1
  {
2
2
  "mcpServers": {
3
+ "fetch": {
4
+ "args": [
5
+ "mcp-server-fetch"
6
+ ],
7
+ "command": "uvx"
8
+ }
3
9
  }
4
10
  }
@@ -0,0 +1 @@
1
+ 测试数据 - 姓名: 李四, 职业: 工程师, 城市: 北京, 兴趣: 编程
@@ -0,0 +1,9 @@
1
+ ---
2
+ id: "mnrsiuoc-e1ru74"
3
+ name: "【避免指南】使用 poster 插件时必须使用完整的预设名称"
4
+ type: "feedback"
5
+ project: "null"
6
+ tags: [error, avoid, poster, preset]
7
+ created: "2026-04-09"
8
+ ---
9
+ 【下次这样做】调用 poster:create_poster_canvas 时,预设名称必须使用完整值而非简化值。错误原因:用户传入了 "instagram",但这不是有效预设,正确值是 "social_instagram"。可用的社交媒体相关预设包括:social_instagram、social_story、social_facebook、social_linkedin、social_youtube。建议在使用前查阅完整预设列表(poster_a4, poster_square, poster_16_9, poster_4_3, poster_9_16, banner_1920x500, banner_1200x400, banner_750x300, banner_468x60, banner_twitter, social_instagram, social_story, social_facebook, social_linkedin, social_youtube, promo_900x500, promo_500x500, promo_300x250, card_standard)。
@@ -0,0 +1,9 @@
1
+ ---
2
+ id: "mnrt2mmz-98az6n"
3
+ name: "【避免指南】使用 generate_poster 前确保画布已创建"
4
+ type: "feedback"
5
+ project: "null"
6
+ tags: [error, avoid, poster, generate_poster]
7
+ created: "2026-04-09"
8
+ ---
9
+ 【下次这样做】使用 generate_poster 生成海报前,需先调用 create_poster_canvas 创建画布,或检查工具调用链是否完整。错误原因:generate_poster 是组合式海报生成的快捷方法,但底层依赖画布上下文,缺少画布初始化会导致 "No canvas created" 错误。建议先调用 create_poster_canvas 创建空白画布,或改用 compose_poster 组件化方法分步构建海报。
@@ -0,0 +1,9 @@
1
+ ---
2
+ id: "mnrtqrhm-kxsicz"
3
+ name: "【避免指南】避免使用不存在的 preset 值调用 create_poster_canvas"
4
+ type: "feedback"
5
+ project: "null"
6
+ tags: [error, avoid, poster, create_poster_canvas, 参数错误]
7
+ created: "2026-04-09"
8
+ ---
9
+ 【下次这样做】调用 poster:create_poster_canvas 时,preset 参数必须使用系统提供的预设值之一,禁止使用 'custom' 或其他自定义字符串。可用的 preset 值包括:poster_a4, poster_square, poster_16_9, poster_4_3, poster_9_16, banner_1920x500, banner_1200x400, banner_750x300, banner_468x60, banner_twitter, social_instagram, social_story, social_facebook, social_linkedin, social_youtube, promo_900x500, promo_500x500, promo_300x250, card_standard。如果需要自定义尺寸,应通过 width 和 height 参数直接指定(同时 preset 设为空或使用基础预设),而非将 preset 设为 'custom'。错误原因:系统不支持 'custom' 作为 preset 参数的有效值。
@@ -0,0 +1,15 @@
1
+ ---
2
+ id: "mnrts8vg-i0ngzp"
3
+ name: "避免调用 ext_call 时参数类型错误导致 path.arc is not a function"
4
+ type: "feedback"
5
+ project: "null"
6
+ tags: [error, avoid, poster, chart, extension]
7
+ created: "2026-04-09"
8
+ ---
9
+ 【下次这样做】使用海报图表组件时,确保传入正确的参数类型和结构。错误原因:path.arc is not a function 通常是因为内部渲染逻辑在处理饼图时,path 参数类型不匹配(如传入了普通对象而非 Path2D 对象)。
10
+
11
+ 【具体避免措施】
12
+ 1. 图表数据使用标准格式:{"data":[{"label":"...","value":数字,"color":"颜色"}],"type":"pie","width":数字,"height":数字}
13
+ 2. 避免在 data 中混用字符串和数字类型的 value
14
+ 3. 确认使用的插件版本支持该图表类型
15
+ 4. 如遇持续报错,考虑使用其他图表组件(柱状图)或降级插件版本
@@ -0,0 +1,9 @@
1
+ ---
2
+ id: "mnrtt7jt-c0trb2"
3
+ name: "【避免指南】poster插件图片src参数必须使用本地文件路径"
4
+ type: "feedback"
5
+ project: "null"
6
+ tags: [error, avoid, poster:add_poster_image]
7
+ created: "2026-04-09"
8
+ ---
9
+ 【下次这样做】使用 poster 插件添加图片时,src 参数必须传入本地文件路径(如 ./images/logo.png),不能直接使用网络 URL(如 https://via.placeholder.com/...)。错误原因:poster 插件的图片加载功能不支持网络 URL,会将 URL 当作本地文件路径处理导致文件不存在错误。如果需要使用网络图片,应先下载到本地,再传入本地路径。
@@ -0,0 +1,16 @@
1
+ ---
2
+ id: "mnruc2f0-5s52la"
3
+ name: "【避免指南】避免同时传入互斥的背景参数(gradient/color 和 image)"
4
+ type: "feedback"
5
+ project: "null"
6
+ tags: [error, avoid, poster, add_poster_background]
7
+ created: "2026-04-09"
8
+ ---
9
+ 【下次这样做】调用 add_poster_background 时,渐变背景(gradient)、纯色背景(color)、图片背景(image)三个参数是互斥的,不能同时传入。
10
+
11
+ 错误原因:同时传入了 gradient 和 image 参数,且 image 的值是颜色码 "#F5F2EB",系统误认为这是图片路径,导致报错 "图片文件不存在: D:\Code\foliko\#F5F2EB"。
12
+
13
+ 正确做法:
14
+ - 使用渐变背景:只传 gradient 参数,不传 image 和 color
15
+ - 使用纯色背景:只传 color 参数(如 "#F5F2EB"),不传 gradient 和 image
16
+ - 使用图片背景:只传 image 参数(如 "./bg.png"),不传 gradient 和 color
@@ -0,0 +1,9 @@
1
+ ---
2
+ id: "mnrumbmx-63sa0v"
3
+ name: "【避免指南】ext_call 调用时正确传入 plugin、tool、args 参数"
4
+ type: "feedback"
5
+ project: "null"
6
+ tags: [error, avoid, poster, ext_call]
7
+ created: "2026-04-09"
8
+ ---
9
+ 【下次这样做】调用 ext_call 时必须正确传入 plugin、tool、args 三个参数。错误原因:调用参数中包含错误的字符串 `</parameter` 导致 plugin 参数被错误解析为 `poster</parameter` 而非 `poster`,导致扩展插件无法定位。正确调用方式:ext_call({ plugin: "poster", tool: "export_poster_canvas", args: {filename: "foliko-zen-kong", format: "png", outputDir: "."} })
@@ -0,0 +1,9 @@
1
+ ---
2
+ id: "mnn93ogy-ypjn27"
3
+ name: "Foliko AI Agent Platform"
4
+ type: "project"
5
+ project: "foliko"
6
+ tags: [foliko, ai-agent, poster, design]
7
+ created: "2026-04-06"
8
+ ---
9
+ Foliko 是一个 AI Agent 平台项目,位于 D:\Code\vb-agent 目录。用户正在测试不同的海报设计风格,目前已经测试了 simple、business、social 和 modern 四种模板样式。这表明用户在为项目选择合适的视觉设计风格。后续可以使用此记忆来理解用户的设计偏好,或在类似项目中提供风格建议。
@@ -0,0 +1,25 @@
1
+ ---
2
+ id: "mnn98fqy-5nhc1u"
3
+ name: "Foliko AI 海报设计规范"
4
+ type: "project"
5
+ project: "Foliko"
6
+ tags: [海报设计, AI, 品牌视觉, 项目展示]
7
+ created: "2026-04-06"
8
+ ---
9
+ Foliko 是一个 AI 项目,slogan 是「AI 驱动的创意灵感和效率工具」。为 Foliko 制作海报的设计经验:
10
+
11
+ **设计原则**:
12
+ - 视觉层次:大标题 > 副标题 > 核心特性 > 行动号召
13
+ - 色彩搭配:深色背景 + 霓虹渐变(科技感),蓝色代表科技/信任,绿色代表创新
14
+ - 留白:保持简洁,不要过于拥挤
15
+ - 对比:使用深色背景+亮色文字产生强烈对比
16
+ - 品牌识别:保持 Foliko 的品牌色
17
+
18
+ **成功实践**:
19
+ - 使用渐变标题突出品牌名
20
+ - 添加装饰性几何元素(圆、线条、发光点)增强科技感
21
+ - 卡片式展示核心功能
22
+ - 英文 + 中文双语展示增强国际感
23
+ - 暗底亮字是有效的视觉策略
24
+
25
+ **How to apply**: 在后续海报生成中,应优先使用深色背景、渐变品牌色、科技感装饰元素,聚焦核心功能展示,保持简洁有力的视觉层次。
@@ -0,0 +1,31 @@
1
+ ---
2
+ id: "mnrp7p5n-8enm2a"
3
+ name: "Foliko Agent Framework 结构"
4
+ type: "project"
5
+ project: "foliko"
6
+ tags: [architecture, src目录, 代码结构]
7
+ created: "2026-04-09"
8
+ ---
9
+ ## Foliko 项目 src 目录结构
10
+
11
+ ### 目录组成
12
+ - **core/** (14文件, 208KB): 核心层,包含 Agent管理、插件系统、工具系统、会话管理
13
+ - **capabilities/** (3文件, 56KB): 能力层,包含技能管理和工作流引擎
14
+ - **executors/** (2文件, 27KB): 执行层,支持 MCP 协议
15
+ - **utils/** (10文件, 63KB): 基础设施,包含错误处理、日志、熔断、重试、沙箱
16
+ - **agent/** (空目录): 预留待开发
17
+
18
+ ### 设计模式
19
+ - 插件模式 (plugin-manager)
20
+ - 注册表模式 (tool-registry)
21
+ - 工厂模式 (framework)
22
+ - 熔断器模式 (circuit-breaker)
23
+ - 观察者模式 (event-emitter)
24
+
25
+ ### 入口依赖链
26
+ framework.js → agent.js → agent-chat.js + session-context.js + context-manager.js
27
+
28
+ ### 如何应用
29
+ - 了解项目架构时查看此记忆
30
+ - 新增功能时确定放在哪个层级
31
+ - 调试问题时代码定位
@@ -0,0 +1,40 @@
1
+ ---
2
+ id: "mnrp9ifb-yynks0"
3
+ name: "agent.js 代码质量分析报告"
4
+ type: "project"
5
+ project: "foliko"
6
+ tags: [代码分析, agent.js, 静态分析, 性能优化, 重构]
7
+ created: "2026-04-09"
8
+ ---
9
+ ## 背景
10
+ Agent.js (Agent执行器) 静态分析报告,2025年1月通过静态分析工具生成。
11
+
12
+ ## 关键发现
13
+
14
+ ### P0 必须修复
15
+ - Line 6: 删除未使用的导入 `const { pl } = require('zod/v4/locales')`
16
+
17
+ ### P1 强烈建议
18
+ - Line 35-36: 魔法数字需提取为常量 (MAX_OUTPUT_TOKENS, DEFAULT_TEMPERATURE)
19
+ - Line 370: 同步文件I/O应改为异步 `fs.promises.readFile()`
20
+ - 多处: 循环内字符串拼接改用 `array.join('\n')`
21
+
22
+ ### P2 建议优化
23
+ 1. **拆分 Agent 类** - 当前承担7+种职责(Agent类913行)
24
+ 2. **显式清理事件监听器** - `destroy()` 中调用 `removeAllListeners()`
25
+ 3. **添加缺失的 JSDoc**
26
+ 4. **清理被注释代码** - Line 173
27
+
28
+ ### 代码指标
29
+ - 圈复杂度: ~97
30
+ - 最大嵌套深度: 6层
31
+ - 代码行数: 913
32
+ - 控制流(if): 55次, (for): 13次
33
+ - 公共API: 76个
34
+ - 综合评分: 3.0/5
35
+
36
+ ## How to Apply
37
+ - 重构前优先处理 P0/P1 问题
38
+ - Agent 类拆分建议:拆分为 AgentCore + AgentPlugins + AgentExecutor
39
+ - 建议使用 ESLint + TypeScript strict 模式防止回归
40
+ - 优化后重新跑分析对比指标改善情况