foliko 1.0.74 → 1.0.76

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 (238) 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 +29 -0
  39. package/.agent/data/plugins-state.json +255 -0
  40. package/.agent/mcp_config.json +4 -0
  41. package/.agent/mcp_config_updated.json +12 -0
  42. package/.agent/plugins.json +5 -0
  43. package/.agent/rules/GEMINI.md +273 -0
  44. package/.agent/rules/allow-rule.md +77 -0
  45. package/.agent/rules/log-rule.md +83 -0
  46. package/.agent/rules/security-rule.md +93 -0
  47. package/.agent/scripts/auto_preview.py +148 -0
  48. package/.agent/scripts/checklist.py +217 -0
  49. package/.agent/scripts/session_manager.py +120 -0
  50. package/.agent/scripts/verify_all.py +327 -0
  51. package/.agent/skills/api-patterns/SKILL.md +81 -0
  52. package/.agent/skills/api-patterns/api-style.md +42 -0
  53. package/.agent/skills/api-patterns/auth.md +24 -0
  54. package/.agent/skills/api-patterns/documentation.md +26 -0
  55. package/.agent/skills/api-patterns/graphql.md +41 -0
  56. package/.agent/skills/api-patterns/rate-limiting.md +31 -0
  57. package/.agent/skills/api-patterns/response.md +37 -0
  58. package/.agent/skills/api-patterns/rest.md +40 -0
  59. package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
  60. package/.agent/skills/api-patterns/security-testing.md +122 -0
  61. package/.agent/skills/api-patterns/trpc.md +41 -0
  62. package/.agent/skills/api-patterns/versioning.md +22 -0
  63. package/.agent/skills/app-builder/SKILL.md +75 -0
  64. package/.agent/skills/app-builder/agent-coordination.md +71 -0
  65. package/.agent/skills/app-builder/feature-building.md +53 -0
  66. package/.agent/skills/app-builder/project-detection.md +34 -0
  67. package/.agent/skills/app-builder/scaffolding.md +118 -0
  68. package/.agent/skills/app-builder/tech-stack.md +40 -0
  69. package/.agent/skills/app-builder/templates/SKILL.md +39 -0
  70. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  71. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  72. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  73. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  74. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  75. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  76. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  77. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
  78. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
  79. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
  80. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
  81. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  82. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
  83. package/.agent/skills/architecture/SKILL.md +55 -0
  84. package/.agent/skills/architecture/context-discovery.md +43 -0
  85. package/.agent/skills/architecture/examples.md +94 -0
  86. package/.agent/skills/architecture/pattern-selection.md +68 -0
  87. package/.agent/skills/architecture/patterns-reference.md +50 -0
  88. package/.agent/skills/architecture/trade-off-analysis.md +77 -0
  89. package/.agent/skills/clean-code/SKILL.md +201 -0
  90. package/.agent/skills/doc.md +177 -0
  91. package/.agent/skills/frontend-design/SKILL.md +418 -0
  92. package/.agent/skills/frontend-design/animation-guide.md +331 -0
  93. package/.agent/skills/frontend-design/color-system.md +311 -0
  94. package/.agent/skills/frontend-design/decision-trees.md +418 -0
  95. package/.agent/skills/frontend-design/motion-graphics.md +306 -0
  96. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  97. package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
  98. package/.agent/skills/frontend-design/typography-system.md +345 -0
  99. package/.agent/skills/frontend-design/ux-psychology.md +1116 -0
  100. package/.agent/skills/frontend-design/visual-effects.md +383 -0
  101. package/.agent/skills/i18n-localization/SKILL.md +154 -0
  102. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  103. package/.agent/skills/mcp-builder/SKILL.md +176 -0
  104. package/.agent/skills/web-design-guidelines/SKILL.md +57 -0
  105. package/.agent/workflows/brainstorm.md +113 -0
  106. package/.agent/workflows/create.md +59 -0
  107. package/.agent/workflows/debug.md +103 -0
  108. package/.agent/workflows/deploy.md +176 -0
  109. package/.agent/workflows/enhance.md +63 -0
  110. package/.agent/workflows/orchestrate.md +237 -0
  111. package/.agent/workflows/plan.md +89 -0
  112. package/.agent/workflows/preview.md +81 -0
  113. package/.agent/workflows/simple-test.md +42 -0
  114. package/.agent/workflows/status.md +86 -0
  115. package/.agent/workflows/structured-orchestrate.md +180 -0
  116. package/.agent/workflows/test.md +144 -0
  117. package/.agent/workflows/ui-ux-pro-max.md +296 -0
  118. package/.claude/settings.local.json +11 -1
  119. package/.editorconfig +56 -0
  120. package/.husky/pre-commit +4 -0
  121. package/.lintstagedrc +7 -0
  122. package/.prettierignore +29 -0
  123. package/.prettierrc +11 -0
  124. package/CLAUDE.md +2 -0
  125. package/README.md +64 -55
  126. package/SPEC.md +102 -61
  127. package/cli/bin/foliko.js +11 -11
  128. package/cli/src/commands/chat.js +143 -141
  129. package/cli/src/commands/list.js +93 -90
  130. package/cli/src/index.js +75 -75
  131. package/cli/src/ui/chat-ui.js +201 -199
  132. package/cli/src/utils/ansi.js +40 -40
  133. package/cli/src/utils/markdown.js +292 -296
  134. package/docker-compose.yml +1 -1
  135. package/docs/ai-sdk-optimization.md +655 -643
  136. package/docs/features.md +80 -80
  137. package/docs/quick-reference.md +49 -46
  138. package/docs/user-manual.md +411 -380
  139. package/examples/ambient-example.js +194 -196
  140. package/examples/basic.js +50 -45
  141. package/examples/bootstrap.js +121 -112
  142. package/examples/mcp-example.js +19 -16
  143. package/examples/skill-example.js +20 -20
  144. package/examples/test-chat.js +137 -135
  145. package/examples/test-mcp.js +85 -79
  146. package/examples/test-reload.js +59 -61
  147. package/examples/test-telegram.js +50 -50
  148. package/examples/test-tg-bot.js +45 -42
  149. package/examples/test-tg-simple.js +47 -46
  150. package/examples/test-tg.js +62 -62
  151. package/examples/test-think.js +43 -37
  152. package/examples/test-web-plugin.js +103 -98
  153. package/examples/test-weixin-feishu.js +103 -100
  154. package/examples/workflow.js +158 -158
  155. package/package.json +37 -3
  156. package/plugins/ai-plugin.js +102 -100
  157. package/plugins/ambient-agent/EventWatcher.js +113 -0
  158. package/plugins/ambient-agent/ExplorerLoop.js +640 -0
  159. package/plugins/ambient-agent/GoalManager.js +197 -0
  160. package/plugins/ambient-agent/Reflector.js +95 -0
  161. package/plugins/ambient-agent/StateStore.js +90 -0
  162. package/plugins/ambient-agent/constants.js +101 -0
  163. package/plugins/ambient-agent/index.js +579 -0
  164. package/plugins/audit-plugin.js +187 -187
  165. package/plugins/default-plugins.js +662 -649
  166. package/plugins/email/constants.js +64 -0
  167. package/plugins/email/handlers.js +461 -0
  168. package/plugins/email/index.js +278 -0
  169. package/plugins/email/monitor.js +269 -0
  170. package/plugins/email/parser.js +138 -0
  171. package/plugins/email/reply.js +151 -0
  172. package/plugins/email/utils.js +124 -0
  173. package/plugins/feishu-plugin.js +481 -477
  174. package/plugins/file-system-plugin.js +826 -476
  175. package/plugins/install-plugin.js +199 -197
  176. package/plugins/python-executor-plugin.js +367 -365
  177. package/plugins/python-plugin-loader.js +481 -479
  178. package/plugins/rules-plugin.js +294 -292
  179. package/plugins/scheduler-plugin.js +691 -689
  180. package/plugins/session-plugin.js +369 -367
  181. package/plugins/shell-executor-plugin.js +197 -197
  182. package/plugins/storage-plugin.js +240 -238
  183. package/plugins/subagent-plugin.js +845 -785
  184. package/plugins/telegram-plugin.js +482 -475
  185. package/plugins/think-plugin.js +345 -343
  186. package/plugins/tools-plugin.js +196 -194
  187. package/plugins/web-plugin.js +606 -604
  188. package/plugins/weixin-plugin.js +545 -538
  189. package/reports/system-health-report-20260401.md +79 -0
  190. package/skills/ambient-agent/SKILL.md +49 -39
  191. package/skills/foliko-dev/AGENTS.md +64 -61
  192. package/skills/foliko-dev/SKILL.md +125 -119
  193. package/skills/mcp-usage/SKILL.md +19 -17
  194. package/skills/python-plugin-dev/SKILL.md +16 -15
  195. package/skills/skill-guide/SKILL.md +12 -12
  196. package/skills/subagent-guide/SKILL.md +237 -0
  197. package/skills/workflow-guide/SKILL.md +90 -45
  198. package/skills/workflow-troubleshooting/DEBUGGING.md +36 -21
  199. package/skills/workflow-troubleshooting/SKILL.md +156 -79
  200. package/src/capabilities/index.js +11 -11
  201. package/src/capabilities/skill-manager.js +609 -595
  202. package/src/capabilities/workflow-engine.js +1109 -1195
  203. package/src/core/agent-chat.js +882 -735
  204. package/src/core/agent.js +892 -688
  205. package/src/core/framework.js +465 -431
  206. package/src/core/index.js +19 -19
  207. package/src/core/plugin-base.js +219 -219
  208. package/src/core/plugin-manager.js +863 -767
  209. package/src/core/provider.js +114 -111
  210. package/src/core/sub-agent-config.js +264 -0
  211. package/src/core/system-prompt-builder.js +120 -0
  212. package/src/core/tool-registry.js +517 -134
  213. package/src/core/tool-router.js +297 -216
  214. package/src/executors/executor-base.js +12 -12
  215. package/src/executors/mcp-executor.js +741 -729
  216. package/src/index.js +25 -37
  217. package/src/utils/circuit-breaker.js +301 -0
  218. package/src/utils/error-boundary.js +363 -0
  219. package/src/utils/error.js +374 -0
  220. package/src/utils/event-emitter.js +97 -97
  221. package/src/utils/id.js +133 -0
  222. package/src/utils/index.js +217 -3
  223. package/src/utils/logger.js +181 -0
  224. package/src/utils/plugin-helpers.js +90 -0
  225. package/src/utils/retry.js +122 -0
  226. package/src/utils/sandbox.js +292 -0
  227. package/test/tool-registry-validation.test.js +218 -0
  228. package/test_report.md +70 -0
  229. package/website/docs/api.html +169 -107
  230. package/website/docs/configuration.html +296 -144
  231. package/website/docs/plugin-development.html +154 -85
  232. package/website/docs/project-structure.html +110 -109
  233. package/website/docs/skill-development.html +117 -61
  234. package/website/index.html +209 -205
  235. package/website/script.js +136 -133
  236. package/website/styles.css +1 -1
  237. package/plugins/ambient-agent-plugin.js +0 -1565
  238. package/plugins/email.js +0 -1142
@@ -1,57 +1,125 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="zh-CN">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>配置指南 - Foliko</title>
7
- <link rel="stylesheet" href="../styles.css">
8
- <style>
9
- .sidebar { position: fixed; left: 0; top: 60px; width: 250px; height: calc(100vh - 60px); background: var(--bg-card); border-right: 1px solid var(--border); padding: 2rem 1rem; overflow-y: auto; }
10
- .sidebar ul { list-style: none; }
11
- .sidebar li { margin-bottom: 0.5rem; }
12
- .sidebar a { color: var(--text-secondary); text-decoration: none; display: block; padding: 0.5rem; border-radius: 4px; }
13
- .sidebar a:hover, .sidebar a.active { background: rgba(99, 102, 241, 0.2); color: var(--primary); }
14
- .main-content { margin-left: 250px; padding: 2rem; max-width: 900px; }
15
- .main-content h1 { font-size: 2rem; margin-bottom: 1rem; }
16
- .main-content h2 { font-size: 1.5rem; margin: 2rem 0 1rem; color: var(--secondary); }
17
- .main-content p { margin-bottom: 1rem; color: var(--text-secondary); }
18
- .main-content pre { background: var(--bg-card); padding: 1rem; border-radius: 8px; overflow-x: auto; margin-bottom: 1rem; }
19
- .main-content code { font-family: 'Fira Code', monospace; background: var(--bg-dark); padding: 0.2rem 0.4rem; border-radius: 4px; }
20
- table { width: 100%; border-collapse: collapse; margin-bottom: 1rem; }
21
- th, td { padding: 0.75rem; text-align: left; border: 1px solid var(--border); }
22
- th { background: var(--bg-card); color: var(--secondary); }
23
- @media (max-width: 768px) { .sidebar { display: none; } .main-content { margin-left: 0; } }
24
- </style>
25
- </head>
26
- <body>
27
- <header>
28
- <nav>
29
- <div class="logo">Foliko</div>
30
- <ul class="nav-links">
31
- <li><a href="../index.html">首页</a></li>
32
- <li><a href="../index.html#features">特性</a></li>
33
- <li><a href="../index.html#quickstart">快速开始</a></li>
34
- <li><a href="../index.html#docs">文档</a></li>
35
- </ul>
36
- </nav>
37
- </header>
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>配置指南 - Foliko</title>
7
+ <link rel="stylesheet" href="../styles.css" />
8
+ <style>
9
+ .sidebar {
10
+ position: fixed;
11
+ left: 0;
12
+ top: 60px;
13
+ width: 250px;
14
+ height: calc(100vh - 60px);
15
+ background: var(--bg-card);
16
+ border-right: 1px solid var(--border);
17
+ padding: 2rem 1rem;
18
+ overflow-y: auto;
19
+ }
20
+ .sidebar ul {
21
+ list-style: none;
22
+ }
23
+ .sidebar li {
24
+ margin-bottom: 0.5rem;
25
+ }
26
+ .sidebar a {
27
+ color: var(--text-secondary);
28
+ text-decoration: none;
29
+ display: block;
30
+ padding: 0.5rem;
31
+ border-radius: 4px;
32
+ }
33
+ .sidebar a:hover,
34
+ .sidebar a.active {
35
+ background: rgba(99, 102, 241, 0.2);
36
+ color: var(--primary);
37
+ }
38
+ .main-content {
39
+ margin-left: 250px;
40
+ padding: 2rem;
41
+ max-width: 900px;
42
+ }
43
+ .main-content h1 {
44
+ font-size: 2rem;
45
+ margin-bottom: 1rem;
46
+ }
47
+ .main-content h2 {
48
+ font-size: 1.5rem;
49
+ margin: 2rem 0 1rem;
50
+ color: var(--secondary);
51
+ }
52
+ .main-content p {
53
+ margin-bottom: 1rem;
54
+ color: var(--text-secondary);
55
+ }
56
+ .main-content pre {
57
+ background: var(--bg-card);
58
+ padding: 1rem;
59
+ border-radius: 8px;
60
+ overflow-x: auto;
61
+ margin-bottom: 1rem;
62
+ }
63
+ .main-content code {
64
+ font-family: 'Fira Code', monospace;
65
+ background: var(--bg-dark);
66
+ padding: 0.2rem 0.4rem;
67
+ border-radius: 4px;
68
+ }
69
+ table {
70
+ width: 100%;
71
+ border-collapse: collapse;
72
+ margin-bottom: 1rem;
73
+ }
74
+ th,
75
+ td {
76
+ padding: 0.75rem;
77
+ text-align: left;
78
+ border: 1px solid var(--border);
79
+ }
80
+ th {
81
+ background: var(--bg-card);
82
+ color: var(--secondary);
83
+ }
84
+ @media (max-width: 768px) {
85
+ .sidebar {
86
+ display: none;
87
+ }
88
+ .main-content {
89
+ margin-left: 0;
90
+ }
91
+ }
92
+ </style>
93
+ </head>
94
+ <body>
95
+ <header>
96
+ <nav>
97
+ <div class="logo">Foliko</div>
98
+ <ul class="nav-links">
99
+ <li><a href="../index.html">首页</a></li>
100
+ <li><a href="../index.html#features">特性</a></li>
101
+ <li><a href="../index.html#quickstart">快速开始</a></li>
102
+ <li><a href="../index.html#docs">文档</a></li>
103
+ </ul>
104
+ </nav>
105
+ </header>
38
106
 
39
- <div class="sidebar">
40
- <ul>
41
- <li><a href="project-structure.html">项目结构</a></li>
42
- <li><a href="configuration.html" class="active">配置指南</a></li>
43
- <li><a href="plugin-development.html">插件开发</a></li>
44
- <li><a href="skill-development.html">技能开发</a></li>
45
- <li><a href="api.html">API 参考</a></li>
46
- </ul>
47
- </div>
107
+ <div class="sidebar">
108
+ <ul>
109
+ <li><a href="project-structure.html">项目结构</a></li>
110
+ <li><a href="configuration.html" class="active">配置指南</a></li>
111
+ <li><a href="plugin-development.html">插件开发</a></li>
112
+ <li><a href="skill-development.html">技能开发</a></li>
113
+ <li><a href="api.html">API 参考</a></li>
114
+ </ul>
115
+ </div>
48
116
 
49
- <div class="main-content">
50
- <h1>配置指南</h1>
117
+ <div class="main-content">
118
+ <h1>配置指南</h1>
51
119
 
52
- <h2>环境变量配置 (.env)</h2>
53
- <p>在项目根目录创建 <code>.env</code> 文件:</p>
54
- <pre><code># AI Provider: minimax, deepseek, openai, anthropic 等
120
+ <h2>环境变量配置 (.env)</h2>
121
+ <p>在项目根目录创建 <code>.env</code> 文件:</p>
122
+ <pre><code># AI Provider: minimax, deepseek, openai, anthropic 等
55
123
  FOLIKO_PROVIDER=minimax
56
124
 
57
125
  # AI Model(可选,不填则使用 provider 默认值)
@@ -70,11 +138,11 @@ FOLIKO_API_KEY=
70
138
  # Provider 专用 API Key(可选)
71
139
  DEEPSEEK_API_KEY=sk-your-deepseek-api-key
72
140
  MINIMAX_API_KEY=sk-your-minimax-api-key</code></pre>
73
- <p><strong>配置优先级</strong>:命令行参数 > .env配置 > provider默认值</p>
141
+ <p><strong>配置优先级</strong>:命令行参数 > .env配置 > provider默认值</p>
74
142
 
75
- <h2>目录结构</h2>
76
- <p>在项目根目录创建 <code>.agent</code> 目录:</p>
77
- <pre><code>项目目录/
143
+ <h2>目录结构</h2>
144
+ <p>在项目根目录创建 <code>.agent</code> 目录:</p>
145
+ <pre><code>项目目录/
78
146
  └── .agent/
79
147
  ├── config # 配置文件
80
148
  ├── ai.json # AI 配置
@@ -83,25 +151,25 @@ MINIMAX_API_KEY=sk-your-minimax-api-key</code></pre>
83
151
  ├── skills/ # 用户技能
84
152
  └── data/ # 数据目录</code></pre>
85
153
 
86
- <h2>config 文件</h2>
87
- <p>简单的 key=value 格式配置:</p>
88
- <pre><code>ai_key: your-api-key
154
+ <h2>config 文件</h2>
155
+ <p>简单的 key=value 格式配置:</p>
156
+ <pre><code>ai_key: your-api-key
89
157
  ai_model: MiniMax-M2.7
90
158
  ai_provider: minimax
91
159
  ai_base_url: https://api.minimaxi.com/v1</code></pre>
92
160
 
93
- <h2>ai.json</h2>
94
- <p>JSON 格式的 AI 配置:</p>
95
- <pre><code>{
161
+ <h2>ai.json</h2>
162
+ <p>JSON 格式的 AI 配置:</p>
163
+ <pre><code>{
96
164
  "provider": "minimax",
97
165
  "model": "MiniMax-M2.7",
98
166
  "apiKey": "your-api-key",
99
167
  "baseURL": "https://api.minimaxi.com/v1"
100
168
  }</code></pre>
101
169
 
102
- <h2>mcp_config.json</h2>
103
- <p>MCP 服务器配置:</p>
104
- <pre><code>{
170
+ <h2>mcp_config.json</h2>
171
+ <p>MCP 服务器配置:</p>
172
+ <pre><code>{
105
173
  "mcpServers": {
106
174
  "fetch": {
107
175
  "command": "npx",
@@ -114,38 +182,38 @@ ai_base_url: https://api.minimaxi.com/v1</code></pre>
114
182
  }
115
183
  }</code></pre>
116
184
 
117
- <h2>CLI 参数</h2>
118
- <p>命令行参数会覆盖 .env 配置:</p>
119
- <table>
120
- <tr>
121
- <th>参数</th>
122
- <th>说明</th>
123
- <th>示例</th>
124
- </tr>
125
- <tr>
126
- <td><code>--provider</code></td>
127
- <td>指定 AI 提供商</td>
128
- <td><code>deepseek</code>, <code>minimax</code></td>
129
- </tr>
130
- <tr>
131
- <td><code>--model</code></td>
132
- <td>指定 AI 模型</td>
133
- <td><code>deepseek-chat</code>, <code>MiniMax-M2.7</code></td>
134
- </tr>
135
- <tr>
136
- <td><code>--base-url</code></td>
137
- <td>指定 API 地址</td>
138
- <td><code>https://api.deepseek.com/v1</code></td>
139
- </tr>
140
- <tr>
141
- <td><code>--api-key</code></td>
142
- <td>指定 API 密钥</td>
143
- <td><code>sk-xxx</code></td>
144
- </tr>
145
- </table>
185
+ <h2>CLI 参数</h2>
186
+ <p>命令行参数会覆盖 .env 配置:</p>
187
+ <table>
188
+ <tr>
189
+ <th>参数</th>
190
+ <th>说明</th>
191
+ <th>示例</th>
192
+ </tr>
193
+ <tr>
194
+ <td><code>--provider</code></td>
195
+ <td>指定 AI 提供商</td>
196
+ <td><code>deepseek</code>, <code>minimax</code></td>
197
+ </tr>
198
+ <tr>
199
+ <td><code>--model</code></td>
200
+ <td>指定 AI 模型</td>
201
+ <td><code>deepseek-chat</code>, <code>MiniMax-M2.7</code></td>
202
+ </tr>
203
+ <tr>
204
+ <td><code>--base-url</code></td>
205
+ <td>指定 API 地址</td>
206
+ <td><code>https://api.deepseek.com/v1</code></td>
207
+ </tr>
208
+ <tr>
209
+ <td><code>--api-key</code></td>
210
+ <td>指定 API 密钥</td>
211
+ <td><code>sk-xxx</code></td>
212
+ </tr>
213
+ </table>
146
214
 
147
- <h3>使用示例</h3>
148
- <pre><code># 使用 .env 中的配置
215
+ <h3>使用示例</h3>
216
+ <pre><code># 使用 .env 中的配置
149
217
  npm run chat
150
218
 
151
219
  # 指定完整配置
@@ -157,10 +225,10 @@ foliko chat --provider deepseek --api-key sk-xxx
157
225
  # 只指定 api-key(使用 FOLIKO_PROVIDER 设定的 provider)
158
226
  foliko chat --api-key sk-xxx</code></pre>
159
227
 
160
- <h2>插件配置</h2>
228
+ <h2>插件配置</h2>
161
229
 
162
- <h3>Telegram 插件</h3>
163
- <pre><code>{
230
+ <h3>Telegram 插件</h3>
231
+ <pre><code>{
164
232
  "telegram": {
165
233
  "botToken": "your-bot-token",
166
234
  "allowedChats": ["123456789"],
@@ -168,31 +236,67 @@ foliko chat --api-key sk-xxx</code></pre>
168
236
  "prefix": "/"
169
237
  }
170
238
  }</code></pre>
171
- <table>
172
- <tr><th>配置项</th><th>说明</th><th>默认值</th></tr>
173
- <tr><td>botToken</td><td>Telegram Bot Token</td><td>TELEGRAM_BOT_TOKEN 环境变量</td></tr>
174
- <tr><td>allowedChats</td><td>允许的聊天 ID 数组</td><td>[] (允许所有人)</td></tr>
175
- <tr><td>groupMode</td><td>是否启用群组模式</td><td>false</td></tr>
176
- <tr><td>prefix</td><td>命令前缀</td><td>/</td></tr>
177
- </table>
239
+ <table>
240
+ <tr>
241
+ <th>配置项</th>
242
+ <th>说明</th>
243
+ <th>默认值</th>
244
+ </tr>
245
+ <tr>
246
+ <td>botToken</td>
247
+ <td>Telegram Bot Token</td>
248
+ <td>TELEGRAM_BOT_TOKEN 环境变量</td>
249
+ </tr>
250
+ <tr>
251
+ <td>allowedChats</td>
252
+ <td>允许的聊天 ID 数组</td>
253
+ <td>[] (允许所有人)</td>
254
+ </tr>
255
+ <tr>
256
+ <td>groupMode</td>
257
+ <td>是否启用群组模式</td>
258
+ <td>false</td>
259
+ </tr>
260
+ <tr>
261
+ <td>prefix</td>
262
+ <td>命令前缀</td>
263
+ <td>/</td>
264
+ </tr>
265
+ </table>
178
266
 
179
- <h3>WeChat 插件</h3>
180
- <pre><code>{
267
+ <h3>WeChat 插件</h3>
268
+ <pre><code>{
181
269
  "weixin": {
182
270
  "forceLogin": false,
183
271
  "qrcodeTerminal": true,
184
272
  "allowedUsers": []
185
273
  }
186
274
  }</code></pre>
187
- <table>
188
- <tr><th>配置项</th><th>说明</th><th>默认值</th></tr>
189
- <tr><td>forceLogin</td><td>强制重新扫码登录</td><td>false</td></tr>
190
- <tr><td>qrcodeTerminal</td><td>终端渲染二维码</td><td>true</td></tr>
191
- <tr><td>allowedUsers</td><td>允许的用户 ID 数组</td><td>[] (允许所有人)</td></tr>
192
- </table>
275
+ <table>
276
+ <tr>
277
+ <th>配置项</th>
278
+ <th>说明</th>
279
+ <th>默认值</th>
280
+ </tr>
281
+ <tr>
282
+ <td>forceLogin</td>
283
+ <td>强制重新扫码登录</td>
284
+ <td>false</td>
285
+ </tr>
286
+ <tr>
287
+ <td>qrcodeTerminal</td>
288
+ <td>终端渲染二维码</td>
289
+ <td>true</td>
290
+ </tr>
291
+ <tr>
292
+ <td>allowedUsers</td>
293
+ <td>允许的用户 ID 数组</td>
294
+ <td>[] (允许所有人)</td>
295
+ </tr>
296
+ </table>
193
297
 
194
- <h3>Session 插件</h3>
195
- <pre><code>{
298
+ <h3>Session 插件</h3>
299
+ <pre><code>{
196
300
  "session": {
197
301
  "sessionTTL": 1800000,
198
302
  "maxSessions": 100,
@@ -201,44 +305,92 @@ foliko chat --api-key sk-xxx</code></pre>
201
305
  "cleanupInterval": 300000
202
306
  }
203
307
  }</code></pre>
204
- <table>
205
- <tr><th>配置项</th><th>说明</th><th>默认值</th></tr>
206
- <tr><td>sessionTTL</td><td>会话过期时间(毫秒)</td><td>30分钟</td></tr>
207
- <tr><td>maxSessions</td><td>最大会话数</td><td>100</td></tr>
208
- <tr><td>maxHistoryLength</td><td>最大历史消息数</td><td>50</td></tr>
209
- <tr><td>autoCleanup</td><td>自动清理过期会话</td><td>true</td></tr>
210
- <tr><td>cleanupInterval</td><td>清理检查间隔(毫秒)</td><td>5分钟</td></tr>
211
- </table>
308
+ <table>
309
+ <tr>
310
+ <th>配置项</th>
311
+ <th>说明</th>
312
+ <th>默认值</th>
313
+ </tr>
314
+ <tr>
315
+ <td>sessionTTL</td>
316
+ <td>会话过期时间(毫秒)</td>
317
+ <td>30分钟</td>
318
+ </tr>
319
+ <tr>
320
+ <td>maxSessions</td>
321
+ <td>最大会话数</td>
322
+ <td>100</td>
323
+ </tr>
324
+ <tr>
325
+ <td>maxHistoryLength</td>
326
+ <td>最大历史消息数</td>
327
+ <td>50</td>
328
+ </tr>
329
+ <tr>
330
+ <td>autoCleanup</td>
331
+ <td>自动清理过期会话</td>
332
+ <td>true</td>
333
+ </tr>
334
+ <tr>
335
+ <td>cleanupInterval</td>
336
+ <td>清理检查间隔(毫秒)</td>
337
+ <td>5分钟</td>
338
+ </tr>
339
+ </table>
212
340
 
213
- <h3>Storage 插件</h3>
214
- <pre><code>{
341
+ <h3>Storage 插件</h3>
342
+ <pre><code>{
215
343
  "storage": {
216
344
  "type": "json",
217
345
  "path": ".agent/data",
218
346
  "namespace": "default"
219
347
  }
220
348
  }</code></pre>
221
- <table>
222
- <tr><th>配置项</th><th>说明</th><th>默认值</th></tr>
223
- <tr><td>type</td><td>存储类型 (json/memory)</td><td>json</td></tr>
224
- <tr><td>path</td><td>存储文件路径</td><td>.agent/data</td></tr>
225
- <tr><td>namespace</td><td>命名空间</td><td>default</td></tr>
226
- </table>
349
+ <table>
350
+ <tr>
351
+ <th>配置项</th>
352
+ <th>说明</th>
353
+ <th>默认值</th>
354
+ </tr>
355
+ <tr>
356
+ <td>type</td>
357
+ <td>存储类型 (json/memory)</td>
358
+ <td>json</td>
359
+ </tr>
360
+ <tr>
361
+ <td>path</td>
362
+ <td>存储文件路径</td>
363
+ <td>.agent/data</td>
364
+ </tr>
365
+ <tr>
366
+ <td>namespace</td>
367
+ <td>命名空间</td>
368
+ <td>default</td>
369
+ </tr>
370
+ </table>
227
371
 
228
- <h3>Scheduler 插件</h3>
229
- <pre><code>{
372
+ <h3>Scheduler 插件</h3>
373
+ <pre><code>{
230
374
  "scheduler": {
231
375
  "checkInterval": 1000
232
376
  }
233
377
  }</code></pre>
234
- <table>
235
- <tr><th>配置项</th><th>说明</th><th>默认值</th></tr>
236
- <tr><td>checkInterval</td><td>任务检查间隔(毫秒)</td><td>1000</td></tr>
237
- </table>
378
+ <table>
379
+ <tr>
380
+ <th>配置项</th>
381
+ <th>说明</th>
382
+ <th>默认值</th>
383
+ </tr>
384
+ <tr>
385
+ <td>checkInterval</td>
386
+ <td>任务检查间隔(毫秒)</td>
387
+ <td>1000</td>
388
+ </tr>
389
+ </table>
238
390
 
239
- <h3>Email 插件</h3>
240
- <p>通过环境变量配置:</p>
241
- <pre><code># SMTP 配置 (发送邮件)
391
+ <h3>Email 插件</h3>
392
+ <p>通过环境变量配置:</p>
393
+ <pre><code># SMTP 配置 (发送邮件)
242
394
  SMTP_HOST=smtp.gmail.com
243
395
  SMTP_PORT=587
244
396
  SMTP_SECURE=false
@@ -254,9 +406,9 @@ IMAP_PASS=your-app-password
254
406
  # 默认发件人
255
407
  FROM_EMAIL=your-email@gmail.com</code></pre>
256
408
 
257
- <h3>MCP 配置</h3>
258
- <p>在 <code>.agent/mcp_config.json</code> 中配置 MCP 服务器:</p>
259
- <pre><code>{
409
+ <h3>MCP 配置</h3>
410
+ <p>在 <code>.agent/mcp_config.json</code> 中配置 MCP 服务器:</p>
411
+ <pre><code>{
260
412
  "mcpServers": {
261
413
  "fetch": {
262
414
  "command": "npx",
@@ -268,6 +420,6 @@ FROM_EMAIL=your-email@gmail.com</code></pre>
268
420
  }
269
421
  }
270
422
  }</code></pre>
271
- </div>
272
- </body>
423
+ </div>
424
+ </body>
273
425
  </html>