foliko 1.1.0 → 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 (189) 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 +412 -3
  39. package/.agent/data/plugins-state.json +173 -174
  40. package/.agent/data/puppeteer-sessions/undefined.json +6 -0
  41. package/.agent/mcp_config_updated.json +12 -0
  42. package/.agent/plugins/poster-plugin/fonts/NotoColorEmoji-Regular.ttf +0 -0
  43. package/.agent/plugins/poster-plugin/src/elements/polygon.js +37 -6
  44. package/.agent/plugins/poster-plugin/src/elements/text.js +71 -2
  45. package/.agent/plugins/poster-plugin/src/fonts.js +123 -8
  46. package/.agent/plugins/poster-plugin/src/index.js +15 -16
  47. package/.agent/plugins/puppeteer-plugin/README.md +147 -0
  48. package/.agent/plugins/puppeteer-plugin/index.js +1418 -0
  49. package/.agent/plugins/puppeteer-plugin/package.json +9 -0
  50. package/.agent/plugins.json +5 -11
  51. package/.agent/rules/GEMINI.md +273 -0
  52. package/.agent/rules/allow-rule.md +77 -0
  53. package/.agent/rules/log-rule.md +83 -0
  54. package/.agent/rules/security-rule.md +93 -0
  55. package/.agent/scripts/auto_preview.py +148 -0
  56. package/.agent/scripts/checklist.py +217 -0
  57. package/.agent/scripts/session_manager.py +120 -0
  58. package/.agent/scripts/verify_all.py +327 -0
  59. package/.agent/sessions/cli_default.json +135 -23981
  60. package/.agent/sessions/weixin_o9cq80zgZqKPA2-s59PN43GdDy1w@im.wechat.json +2195 -0
  61. package/.agent/skills/api-patterns/SKILL.md +81 -0
  62. package/.agent/skills/api-patterns/api-style.md +42 -0
  63. package/.agent/skills/api-patterns/auth.md +24 -0
  64. package/.agent/skills/api-patterns/documentation.md +26 -0
  65. package/.agent/skills/api-patterns/graphql.md +41 -0
  66. package/.agent/skills/api-patterns/rate-limiting.md +31 -0
  67. package/.agent/skills/api-patterns/response.md +37 -0
  68. package/.agent/skills/api-patterns/rest.md +40 -0
  69. package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
  70. package/.agent/skills/api-patterns/security-testing.md +122 -0
  71. package/.agent/skills/api-patterns/trpc.md +41 -0
  72. package/.agent/skills/api-patterns/versioning.md +22 -0
  73. package/.agent/skills/app-builder/SKILL.md +75 -0
  74. package/.agent/skills/app-builder/agent-coordination.md +71 -0
  75. package/.agent/skills/app-builder/feature-building.md +53 -0
  76. package/.agent/skills/app-builder/project-detection.md +34 -0
  77. package/.agent/skills/app-builder/scaffolding.md +118 -0
  78. package/.agent/skills/app-builder/tech-stack.md +40 -0
  79. package/.agent/skills/app-builder/templates/SKILL.md +39 -0
  80. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  81. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  82. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  83. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  84. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  85. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  86. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  87. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
  88. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
  89. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
  90. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
  91. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  92. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
  93. package/.agent/skills/architecture/SKILL.md +55 -0
  94. package/.agent/skills/architecture/context-discovery.md +43 -0
  95. package/.agent/skills/architecture/examples.md +94 -0
  96. package/.agent/skills/architecture/pattern-selection.md +68 -0
  97. package/.agent/skills/architecture/patterns-reference.md +50 -0
  98. package/.agent/skills/architecture/trade-off-analysis.md +77 -0
  99. package/.agent/skills/clean-code/SKILL.md +201 -0
  100. package/.agent/skills/doc.md +177 -0
  101. package/.agent/skills/frontend-design/SKILL.md +418 -0
  102. package/.agent/skills/frontend-design/animation-guide.md +331 -0
  103. package/.agent/skills/frontend-design/color-system.md +311 -0
  104. package/.agent/skills/frontend-design/decision-trees.md +418 -0
  105. package/.agent/skills/frontend-design/motion-graphics.md +306 -0
  106. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  107. package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
  108. package/.agent/skills/frontend-design/typography-system.md +345 -0
  109. package/.agent/skills/frontend-design/ux-psychology.md +1116 -0
  110. package/.agent/skills/frontend-design/visual-effects.md +383 -0
  111. package/.agent/skills/i18n-localization/SKILL.md +154 -0
  112. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  113. package/.agent/skills/mcp-builder/SKILL.md +176 -0
  114. package/.agent/skills/web-design-guidelines/SKILL.md +57 -0
  115. package/.agent/workflows/brainstorm.md +113 -0
  116. package/.agent/workflows/create.md +59 -0
  117. package/.agent/workflows/debug.md +103 -0
  118. package/.agent/workflows/deploy.md +176 -0
  119. package/.agent/workflows/enhance.md +63 -0
  120. package/.agent/workflows/orchestrate.md +237 -0
  121. package/.agent/workflows/plan.md +89 -0
  122. package/.agent/workflows/preview.md +81 -0
  123. package/.agent/workflows/simple-test.md +42 -0
  124. package/.agent/workflows/status.md +86 -0
  125. package/.agent/workflows/structured-orchestrate.md +180 -0
  126. package/.agent/workflows/test.md +144 -0
  127. package/.agent/workflows/ui-ux-pro-max.md +296 -0
  128. package/.claude/settings.local.json +16 -1
  129. package/.env.example +56 -56
  130. package/README.md +441 -441
  131. package/calc_tokens_weixin.js +81 -0
  132. package/cli/src/commands/chat.js +2 -1
  133. package/foliko-creative-3.png +0 -0
  134. package/foliko-creative-4.png +0 -0
  135. package/foliko-creative-5.png +0 -0
  136. package/package.json +1 -1
  137. package/plugins/extension-executor-plugin.js +80 -2
  138. package/plugins/file-system-plugin.js +2 -2
  139. package/plugins/weixin-plugin.js +10 -2
  140. package/skills/find-skills/AGENTS.md +162 -162
  141. package/skills/find-skills/SKILL.md +133 -133
  142. package/skills/poster-guide/SKILL.md +948 -632
  143. package/src/core/agent-chat.js +82 -3
  144. package/story-cover-book-v2.png +0 -0
  145. package/story-cover-japanese-1.png +0 -0
  146. package/story-cover-japanese-2.png +0 -0
  147. package/story-cover-japanese-3.png +0 -0
  148. package/story-cover-moran.png +0 -0
  149. package/undefined.png +0 -0
  150. package/.agent/agents/code-assistant.json +0 -14
  151. package/.agent/agents/email-assistant.json +0 -14
  152. package/.agent/agents/file-assistant.json +0 -15
  153. package/.agent/agents/system-assistant.json +0 -15
  154. package/.agent/agents/web-assistant.json +0 -12
  155. package/.agent/data/ambient/goals.json +0 -50
  156. package/.agent/data/ambient/memories.json +0 -7
  157. package/.agent/data/scheduler/tasks.json +0 -1
  158. package/.agent/memory/core.md +0 -1
  159. package/.agent/memory/project/mnn93ogy-ypjn27.md +0 -9
  160. package/.agent/memory/project/mnn98fqy-5nhc1u.md +0 -25
  161. package/.agent/memory/user/mnm67t9m-x8rekk.md +0 -9
  162. package/.agent/memory/user/mnn5mmqh-w6aktx.md +0 -11
  163. package/.agent/memory/user/mnnbfhhn-dk1bd1.md +0 -22
  164. package/.agent/package.json +0 -8
  165. package/.agent/plugins/__pycache__/file_writer.cpython-312.pyc +0 -0
  166. package/.agent/plugins/daytona/README.md +0 -89
  167. package/.agent/plugins/daytona/index.js +0 -377
  168. package/.agent/plugins/daytona/package.json +0 -12
  169. package/.agent/plugins/marknative/README.md +0 -134
  170. package/.agent/plugins/marknative/index.js +0 -228
  171. package/.agent/plugins/marknative/package.json +0 -12
  172. package/.agent/plugins/marknative/update-readme.js +0 -134
  173. package/.agent/plugins/system-info/index.js +0 -387
  174. package/.agent/plugins/system-info/package.json +0 -4
  175. package/.agent/plugins/system-info/test.js +0 -40
  176. package/.agent/python-scripts/test_sample.py +0 -24
  177. package/.agent/skills/agent-browser/SKILL.md +0 -311
  178. package/.agent/skills/agent-browser/TEST_PLAN.md +0 -200
  179. package/.agent/skills/sysinfo/SKILL.md +0 -38
  180. package/.agent/skills/sysinfo/system-info.sh +0 -130
  181. package/.agent/skills/workflow/SKILL.md +0 -324
  182. package/.agent/weixin.json +0 -6
  183. package/.agent/workflows/email-digest.json +0 -50
  184. package/.agent/workflows/file-backup.json +0 -21
  185. package/.agent/workflows/get-ip-notify.json +0 -32
  186. package/.agent/workflows/news-aggregator.json +0 -93
  187. package/.agent/workflows/news-dashboard-v2.json +0 -94
  188. package/.agent/workflows/notification-batch.json +0 -32
  189. package/output/beef-love-poster.png +0 -0
@@ -31,7 +31,7 @@ const MODEL_CONTEXT_LIMITS = {
31
31
  'deepseek-chat': 28000,
32
32
  'deepseek-coder': 28000,
33
33
  // MiniMax
34
- 'MiniMax-M2.7': 90000,
34
+ 'MiniMax-M2.7': 130800,
35
35
  // OpenAI
36
36
  'gpt-4': 100000,
37
37
  'gpt-4o': 100000,
@@ -93,7 +93,7 @@ class SimpleTokenizer {
93
93
  const _globalTokenizer = new SimpleTokenizer();
94
94
 
95
95
  // 压缩超时时间(毫秒)
96
- const COMPRESSION_TIMEOUT = 30000;
96
+ const COMPRESSION_TIMEOUT = 120000; // 2分钟
97
97
 
98
98
  class AgentChatHandler extends EventEmitter {
99
99
  /**
@@ -334,9 +334,48 @@ class AgentChatHandler extends EventEmitter {
334
334
  total += this._countTokens(msg.content);
335
335
  } else if (Array.isArray(msg.content)) {
336
336
  for (const part of msg.content) {
337
- if (part && typeof part === 'object' && part.text) {
337
+ if (!part || typeof part !== 'object') continue;
338
+
339
+ // 处理普通文本
340
+ if (part.text) {
338
341
  total += this._countTokens(String(part.text));
339
342
  }
343
+
344
+ // 处理 tool-result 的 output 字段
345
+ if (part.type === 'tool-result' && part.output) {
346
+ if (typeof part.output === 'string') {
347
+ total += this._countTokens(part.output);
348
+ } else if (part.output && typeof part.output === 'object') {
349
+ // 处理 { type: 'text', value: '...' } 或 { type: 'text', html: '...' } 等
350
+ if (part.output.value) {
351
+ total += this._countTokens(String(part.output.value));
352
+ }
353
+ if (part.output.html) {
354
+ total += this._countTokens(part.output.html);
355
+ }
356
+ // 其他字段也序列化计算
357
+ try {
358
+ const others = {};
359
+ for (const [k, v] of Object.entries(part.output)) {
360
+ if (k !== 'value' && k !== 'html') others[k] = v;
361
+ }
362
+ if (Object.keys(others).length > 0) {
363
+ total += this._countTokens(JSON.stringify(others));
364
+ }
365
+ } catch (e) {
366
+ // 忽略
367
+ }
368
+ }
369
+ }
370
+
371
+ // 处理 tool-use 的 input 字段
372
+ if (part.type === 'tool_use' && part.input) {
373
+ try {
374
+ total += this._countTokens(JSON.stringify(part.input));
375
+ } catch (e) {
376
+ // 忽略
377
+ }
378
+ }
340
379
  }
341
380
  } else if (msg.content && typeof msg.content === 'object') {
342
381
  // 处理工具结果等对象类型
@@ -579,6 +618,9 @@ class AgentChatHandler extends EventEmitter {
579
618
  const sortedIndices = Array.from(indicesToKeep).sort((a, b) => a - b);
580
619
  const filteredRecentMessages = sortedIndices.map((i) => recentMessages[i]);
581
620
 
621
+ // 清理孤立 tool results(tool call 已被总结,但 result 还在)
622
+ this._cleanOrphanedToolResults(filteredRecentMessages);
623
+
582
624
  // 直接修改传入的 messages 数组
583
625
  messages.length = 0;
584
626
  messages.push(...systemMessages, summary, ...filteredRecentMessages);
@@ -699,6 +741,9 @@ class AgentChatHandler extends EventEmitter {
699
741
  const sortedIndices = Array.from(indicesToKeep).sort((a, b) => a - b);
700
742
  const filteredRecentMessages = sortedIndices.map((i) => recentMessages[i]);
701
743
 
744
+ // 清理孤立 tool results(tool call 已被总结,但 result 还在)
745
+ this._cleanOrphanedToolResults(filteredRecentMessages);
746
+
702
747
  // 直接修改传入的 messages 数组
703
748
  messages.length = 0;
704
749
  messages.push(...systemMessages, summary, ...filteredRecentMessages);
@@ -721,6 +766,38 @@ class AgentChatHandler extends EventEmitter {
721
766
  }
722
767
  }
723
768
 
769
+ /**
770
+ * 清理孤立的 tool results(对应的 tool call 已被压缩删除)
771
+ * @param {Array} messages - 消息数组
772
+ * @private
773
+ */
774
+ _cleanOrphanedToolResults(messages) {
775
+ // 构建当前消息中存在的 toolCallId 集合
776
+ const validToolCallIds = new Set();
777
+ for (const msg of messages) {
778
+ if (msg.role === 'assistant' && msg.content) {
779
+ const content = Array.isArray(msg.content) ? msg.content : [msg.content];
780
+ for (const item of content) {
781
+ if (item.type === 'tool-call' && item.toolCallId) {
782
+ validToolCallIds.add(item.toolCallId);
783
+ }
784
+ }
785
+ }
786
+ }
787
+
788
+ // 过滤掉孤立 tool results
789
+ for (const msg of messages) {
790
+ if (msg.role === 'tool' && Array.isArray(msg.content)) {
791
+ msg.content = msg.content.filter((item) => {
792
+ if (item && item.type === 'tool-result' && item.toolCallId) {
793
+ return validToolCallIds.has(item.toolCallId);
794
+ }
795
+ return true;
796
+ });
797
+ }
798
+ }
799
+ }
800
+
724
801
  /**
725
802
  * 使用 AI 对消息进行总结
726
803
  * @param {Array} messages - 要总结的消息
@@ -1042,6 +1119,7 @@ ${truncatedContent}${truncatedNote}
1042
1119
  model: this._aiClient,
1043
1120
  instructions: this._systemPrompt,
1044
1121
  tools: tools,
1122
+ stopWhen: stepCountIs(30),
1045
1123
  prepareStep: prepareStepChainStream,
1046
1124
  });
1047
1125
 
@@ -1147,6 +1225,7 @@ ${truncatedContent}${truncatedNote}
1147
1225
  model: this._aiClient,
1148
1226
  instructions: this._systemPrompt,
1149
1227
  tools: tools,
1228
+ stopWhen: stepCountIs(30),
1150
1229
  prepareStep: prepareStepChainStream,
1151
1230
  });
1152
1231
 
Binary file
Binary file
Binary file
Binary file
Binary file
package/undefined.png ADDED
Binary file
@@ -1,14 +0,0 @@
1
- {
2
- "name": "code-assistant",
3
- "description": "代码助手 - 专业的编程和代码分析助手",
4
- "instructions": "你是一个专业的代码助手,精通多种编程语言和开发技术。\n\n【核心能力】\n- 代码编写、调试和优化\n- 代码审查和重构建议\n- 多种编程语言支持(Python、JavaScript、TypeScript、Java等)\n- 代码问题诊断和解决\n- 解释复杂代码逻辑\n\n【工作原则】\n- 提供清晰、规范的代码\n- 包含必要的注释说明\n- 考虑代码性能和安全性\n- 遵循最佳实践",
5
- "tools": [
6
- "read_file",
7
- "write_file",
8
- "modify_file",
9
- "search_file",
10
- "python-execute",
11
- "execute_command",
12
- "shell"
13
- ]
14
- }
@@ -1,14 +0,0 @@
1
- {
2
- "name": "email-assistant",
3
- "description": "邮件助手 - 专业的邮件管理助手",
4
- "instructions": "你是一个专业的邮件助手,擅长邮件的读写、筛选和管理。\n\n【核心能力】\n- 读取和回复邮件\n- 发送新邮件(支持附件)\n- 邮件搜索和筛选\n- 邮件摘要生成\n- 批量邮件处理\n\n【工作原则】\n- 保持邮件格式规范\n- 回复内容专业得体\n- 保护隐私信息\n- 及时处理重要邮件",
5
- "tools": [
6
- "email_read",
7
- "email_send",
8
- "email_mark_read",
9
- "email_delete",
10
- "email_unread_count",
11
- "email_configure",
12
- "notification_send"
13
- ]
14
- }
@@ -1,15 +0,0 @@
1
- {
2
- "name": "file-assistant",
3
- "description": "文件助手 - 专业的文件管理和操作助手",
4
- "instructions": "你是一个专业的文件助手,擅长文件操作、目录管理、文件搜索和内容编辑。\n\n【核心能力】\n- 读取、创建、编辑、删除文件和目录\n- 搜索文件内容和文件名称\n- 批量文件操作\n- 文件内容分析和提取\n\n【工作原则】\n- 执行操作前确认路径正确\n- 危险操作(如删除)需要谨慎\n- 保持文件编码一致性\n- 重要文件操作前可创建备份",
5
- "tools": [
6
- "read_file",
7
- "write_file",
8
- "delete_file",
9
- "modify_file",
10
- "search_file",
11
- "read_directory",
12
- "create_directory",
13
- "execute_command"
14
- ]
15
- }
@@ -1,15 +0,0 @@
1
- {
2
- "name": "system-assistant",
3
- "description": "系统助手 - 专业的系统信息监控和管理助手",
4
- "instructions": "你是一个专业的系统助手,精通系统信息监控和基础管理。\n\n【核心能力】\n- CPU、内存、磁盘使用情况监控\n- 网络接口信息查询\n- 系统运行状态分析\n- 性能问题诊断\n- 定时监控和报告\n\n【工作原则】\n- 提供清晰的数据展示\n- 发现异常及时提醒\n- 给出合理的优化建议\n- 保护系统安全",
5
- "tools": [
6
- "get_basic_info",
7
- "get_cpu_info",
8
- "get_memory_info",
9
- "get_disk_info",
10
- "get_network_info",
11
- "get_full_system_info",
12
- "notification_send",
13
- "schedule_task"
14
- ]
15
- }
@@ -1,12 +0,0 @@
1
- {
2
- "name": "web-assistant",
3
- "description": "网络助手 - 专业的网络数据获取和处理助手",
4
- "instructions": "你是一个专业的网络助手,精通网络数据获取和处理。\n\n【核心能力】\n- HTTP请求发送(GET/POST/PUT/DELETE等)\n- 网页内容抓取和解析\n- API调用和数据处理\n- JSON/XML数据解析\n- 网络问题诊断\n\n【工作原则】\n- 遵守网站使用协议\n- 合理控制请求频率\n- 数据处理规范\n- 异常情况妥善处理",
5
- "tools": [
6
- "fetch",
7
- "web_request",
8
- "execute_command",
9
- "python-execute",
10
- "notification_send"
11
- ]
12
- }
@@ -1,50 +0,0 @@
1
- [
2
- {
3
- "id": "041f34d6-8ada-4a0f-932d-147f8476a830",
4
- "title": "邮箱监控与自动回复",
5
- "description": "监控邮箱,收到新邮件时自动分析内容并回复,无需用户确认",
6
- "priority": 8,
7
- "state": "active",
8
- "actions": [
9
- {
10
- "type": "tool",
11
- "name": "email_auto_reply",
12
- "args": {
13
- "to": "${event.to}",
14
- "subject": "${event.subject}",
15
- "body": "${event.text}",
16
- "from": "${event.from}",
17
- "messageId": "${event.messageId}"
18
- }
19
- }
20
- ],
21
- "_originalActions": [
22
- {
23
- "type": "tool",
24
- "name": "email_auto_reply",
25
- "args": {
26
- "to": "${event.to}",
27
- "subject": "${event.subject}",
28
- "body": "${event.text}",
29
- "from": "${event.from}",
30
- "messageId": "${event.messageId}"
31
- }
32
- }
33
- ],
34
- "conditions": {
35
- "events": [
36
- "email:received"
37
- ]
38
- },
39
- "createdAt": "2026-03-29T18:15:42.180Z",
40
- "updatedAt": "2026-03-29T19:00:39.406Z",
41
- "activatedAt": "2026-03-29T18:15:44.186Z",
42
- "completedAt": "2026-03-29T18:54:56.861Z",
43
- "failedAt": null,
44
- "attempts": 11,
45
- "maxAttempts": 10,
46
- "consecutiveSameActions": 0,
47
- "lastActionId": null,
48
- "eventsReceived": []
49
- }
50
- ]
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "key": "test_memory",
4
- "content": "Ambient Agent 测试记忆 - 创建时间: 2026-03-29,系统运行正常",
5
- "timestamp": "2026-03-29T14:53:03.801Z"
6
- }
7
- ]
@@ -1 +0,0 @@
1
- []
@@ -1 +0,0 @@
1
- 测试数据 - 姓名: 李四, 职业: 工程师, 城市: 北京, 兴趣: 编程
@@ -1,9 +0,0 @@
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 四种模板样式。这表明用户在为项目选择合适的视觉设计风格。后续可以使用此记忆来理解用户的设计偏好,或在类似项目中提供风格建议。
@@ -1,25 +0,0 @@
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**: 在后续海报生成中,应优先使用深色背景、渐变品牌色、科技感装饰元素,聚焦核心功能展示,保持简洁有力的视觉层次。
@@ -1,9 +0,0 @@
1
- ---
2
- id: "mnm67t9m-x8rekk"
3
- name: "用户偏好-蓝色"
4
- type: "user"
5
- project: "null"
6
- tags: [偏好, 颜色]
7
- created: "2026-04-05"
8
- ---
9
- 用户最喜欢的颜色是蓝色。下次设计海报或相关内容时可以优先使用蓝色系配色。
@@ -1,11 +0,0 @@
1
- ---
2
- id: "mnn5mmqh-w6aktx"
3
- name: "用户偏好"
4
- type: "user"
5
- project: "null"
6
- tags: [偏好, 兴趣爱好]
7
- created: "2026-04-06"
8
- ---
9
- 用户喜好:
10
- - 颜色:蓝色
11
- - 食物:牛肉
@@ -1,22 +0,0 @@
1
- ---
2
- id: "mnnbfhhn-dk1bd1"
3
- name: "何建成"
4
- type: "user"
5
- project: "null"
6
- tags: []
7
- created: "2026-04-06"
8
- ---
9
- 用户姓名:何建成
10
-
11
- 项目:Foliko - 简约的插件化 Agent 框架
12
- 工作目录:D:\Code\vb-agent
13
-
14
- 已发布插件:poster-plugin
15
-
16
- 创建的海报:
17
- - foliko-poster.png (1080x1080)
18
- - foliko-twitter-cover.png (1500x500)
19
- - foliko-instagram-story.png (1080x1920)
20
- - foliko-japanese-minimal.png (1080x1350)
21
- - zen-card-japanese.png (800x1100)
22
- - foliko-final-poster.png
@@ -1,8 +0,0 @@
1
- {
2
- "dependencies": {
3
- "imap": "^0.8.19",
4
- "mailparser": "^3.9.4",
5
- "node-telegram-bot-api": "^0.67.0",
6
- "nodemailer": "^8.0.3"
7
- }
8
- }
@@ -1,89 +0,0 @@
1
- # Daytona Plugin
2
-
3
- Daytona 云开发环境管理插件,用于在 Foliko 中创建和管理云开发环境(Sandbox)。
4
-
5
- ## 功能特性
6
-
7
- - **沙箱管理**: 创建、启动、停止、删除沙箱环境
8
- - **代码执行**: 在沙箱中执行 JavaScript/TypeScript 代码
9
- - **文件操作**: 在沙箱中读写文件
10
- - **临时沙箱**: 支持创建临时沙箱(自动清理)
11
- - **多语言支持**: JavaScript、TypeScript、Python 等
12
-
13
- ## 安装
14
-
15
- ```bash
16
- cd .agent/plugins/daytona
17
- npm install
18
- ```
19
-
20
- ## 配置
21
-
22
- 首次使用需要配置 API 密钥:
23
-
24
- ```javascript
25
- daytona_configure({
26
- apiKey: "your-daytona-api-key",
27
- apiUrl: "https://app.daytona.io/api",
28
- target: "default"
29
- })
30
- ```
31
-
32
- ## 工具列表
33
-
34
- ### daytona_configure
35
- 配置 Daytona API 密钥和连接信息。
36
-
37
- ### daytona_create_sandbox
38
- 创建新的沙箱环境。
39
-
40
- ### daytona_get_sandbox
41
- 获取指定沙箱信息。
42
-
43
- ### daytona_list_sandboxes
44
- 列出所有沙箱。
45
-
46
- ### daytona_start_sandbox
47
- 启动沙箱。
48
-
49
- ### daytona_stop_sandbox
50
- 停止沙箱。
51
-
52
- ### daytona_delete_sandbox
53
- 删除沙箱。
54
-
55
- ### daytona_execute_code
56
- 在沙箱中执行代码。
57
-
58
- ### daytona_write_file
59
- 在沙箱中写入文件。
60
-
61
- ### daytona_read_file
62
- 在沙箱中读取文件。
63
-
64
- ### daytona_create_ephemeral_sandbox
65
- 创建临时沙箱(5分钟后自动删除)。
66
-
67
- ## 使用示例
68
-
69
- ```javascript
70
- // 1. 配置 API
71
- daytona_configure({ apiKey: "your-key" })
72
-
73
- // 2. 创建沙箱
74
- daytona_create_sandbox({ language: "javascript" })
75
-
76
- // 3. 执行代码
77
- daytona_execute_code({ code: "console.log('Hello!')" })
78
-
79
- // 4. 读写文件
80
- daytona_write_file({ path: "/tmp/test.js", content: "..." })
81
- daytona_read_file({ path: "/tmp/test.js" })
82
-
83
- // 5. 清理
84
- daytona_delete_sandbox({ sandboxId: "sandbox-id" })
85
- ```
86
-
87
- ## 许可证
88
-
89
- Apache-2.0