foliko 1.0.73 → 1.0.75

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 (237) 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 +157 -149
  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 +4 -4
  128. package/cli/src/commands/chat.js +53 -51
  129. package/cli/src/commands/list.js +40 -37
  130. package/cli/src/index.js +18 -18
  131. package/cli/src/ui/chat-ui.js +78 -76
  132. package/cli/src/utils/ansi.js +15 -15
  133. package/cli/src/utils/markdown.js +112 -116
  134. package/docker-compose.yml +1 -1
  135. package/docs/ai-sdk-optimization.md +655 -636
  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 +95 -97
  140. package/examples/basic.js +115 -110
  141. package/examples/bootstrap.js +52 -43
  142. package/examples/mcp-example.js +56 -53
  143. package/examples/skill-example.js +49 -49
  144. package/examples/test-chat.js +60 -58
  145. package/examples/test-mcp.js +49 -43
  146. package/examples/test-reload.js +38 -40
  147. package/examples/test-telegram.js +3 -3
  148. package/examples/test-tg-bot.js +7 -4
  149. package/examples/test-tg-simple.js +4 -3
  150. package/examples/test-tg.js +3 -3
  151. package/examples/test-think.js +13 -7
  152. package/examples/test-web-plugin.js +61 -56
  153. package/examples/test-weixin-feishu.js +40 -37
  154. package/examples/workflow.js +49 -49
  155. package/foliko-1.0.75.tgz +0 -0
  156. package/package.json +37 -3
  157. package/plugins/ai-plugin.js +7 -5
  158. package/plugins/ambient-agent/EventWatcher.js +113 -0
  159. package/plugins/ambient-agent/ExplorerLoop.js +640 -0
  160. package/plugins/ambient-agent/GoalManager.js +197 -0
  161. package/plugins/ambient-agent/Reflector.js +95 -0
  162. package/plugins/ambient-agent/StateStore.js +90 -0
  163. package/plugins/ambient-agent/constants.js +101 -0
  164. package/plugins/ambient-agent/index.js +579 -0
  165. package/plugins/default-plugins.js +62 -49
  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 +23 -19
  174. package/plugins/file-system-plugin.js +469 -120
  175. package/plugins/install-plugin.js +6 -4
  176. package/plugins/python-executor-plugin.js +3 -1
  177. package/plugins/python-plugin-loader.js +10 -8
  178. package/plugins/rules-plugin.js +5 -3
  179. package/plugins/scheduler-plugin.js +18 -16
  180. package/plugins/session-plugin.js +3 -1
  181. package/plugins/storage-plugin.js +5 -3
  182. package/plugins/subagent-plugin.js +152 -92
  183. package/plugins/telegram-plugin.js +26 -19
  184. package/plugins/think-plugin.js +4 -2
  185. package/plugins/tools-plugin.js +3 -1
  186. package/plugins/web-plugin.js +15 -13
  187. package/plugins/weixin-plugin.js +43 -36
  188. package/reports/system-health-report-20260401.md +79 -0
  189. package/skills/ambient-agent/SKILL.md +49 -39
  190. package/skills/foliko-dev/AGENTS.md +64 -61
  191. package/skills/foliko-dev/SKILL.md +125 -119
  192. package/skills/mcp-usage/SKILL.md +19 -17
  193. package/skills/python-plugin-dev/SKILL.md +16 -15
  194. package/skills/skill-guide/SKILL.md +12 -12
  195. package/skills/subagent-guide/SKILL.md +237 -0
  196. package/skills/workflow-guide/SKILL.md +90 -45
  197. package/skills/workflow-troubleshooting/DEBUGGING.md +36 -21
  198. package/skills/workflow-troubleshooting/SKILL.md +156 -79
  199. package/src/capabilities/index.js +4 -4
  200. package/src/capabilities/skill-manager.js +211 -197
  201. package/src/capabilities/workflow-engine.js +461 -547
  202. package/src/core/agent-chat.js +426 -279
  203. package/src/core/agent.js +453 -248
  204. package/src/core/framework.js +183 -149
  205. package/src/core/index.js +8 -8
  206. package/src/core/plugin-base.js +52 -52
  207. package/src/core/plugin-manager.js +377 -281
  208. package/src/core/provider.js +35 -32
  209. package/src/core/sub-agent-config.js +264 -0
  210. package/src/core/system-prompt-builder.js +120 -0
  211. package/src/core/tool-registry.js +416 -33
  212. package/src/core/tool-router.js +149 -68
  213. package/src/executors/executor-base.js +58 -58
  214. package/src/executors/mcp-executor.js +269 -257
  215. package/src/index.js +5 -17
  216. package/src/utils/circuit-breaker.js +301 -0
  217. package/src/utils/error-boundary.js +363 -0
  218. package/src/utils/error.js +374 -0
  219. package/src/utils/event-emitter.js +20 -20
  220. package/src/utils/id.js +133 -0
  221. package/src/utils/index.js +217 -3
  222. package/src/utils/logger.js +181 -0
  223. package/src/utils/plugin-helpers.js +90 -0
  224. package/src/utils/retry.js +122 -0
  225. package/src/utils/sandbox.js +292 -0
  226. package/test/tool-registry-validation.test.js +218 -0
  227. package/test_report.md +70 -0
  228. package/website/docs/api.html +169 -107
  229. package/website/docs/configuration.html +296 -144
  230. package/website/docs/plugin-development.html +154 -85
  231. package/website/docs/project-structure.html +110 -109
  232. package/website/docs/skill-development.html +117 -61
  233. package/website/index.html +209 -205
  234. package/website/script.js +20 -17
  235. package/website/styles.css +1 -1
  236. package/plugins/ambient-agent-plugin.js +0 -1565
  237. package/plugins/email.js +0 -1142
@@ -1,56 +1,124 @@
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
- .warning { background: rgba(251, 191, 36, 0.1); border: 1px solid #fbbf24; padding: 1rem; border-radius: 8px; margin-bottom: 1rem; }
21
- .tip { background: rgba(34, 211, 238, 0.1); border: 1px solid var(--secondary); padding: 1rem; border-radius: 8px; margin-bottom: 1rem; }
22
- @media (max-width: 768px) { .sidebar { display: none; } .main-content { margin-left: 0; } }
23
- </style>
24
- </head>
25
- <body>
26
- <header>
27
- <nav>
28
- <div class="logo">Foliko</div>
29
- <ul class="nav-links">
30
- <li><a href="../index.html">首页</a></li>
31
- <li><a href="../index.html#features">特性</a></li>
32
- <li><a href="../index.html#quickstart">快速开始</a></li>
33
- <li><a href="../index.html#docs">文档</a></li>
34
- </ul>
35
- </nav>
36
- </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
+ .warning {
70
+ background: rgba(251, 191, 36, 0.1);
71
+ border: 1px solid #fbbf24;
72
+ padding: 1rem;
73
+ border-radius: 8px;
74
+ margin-bottom: 1rem;
75
+ }
76
+ .tip {
77
+ background: rgba(34, 211, 238, 0.1);
78
+ border: 1px solid var(--secondary);
79
+ padding: 1rem;
80
+ border-radius: 8px;
81
+ margin-bottom: 1rem;
82
+ }
83
+ @media (max-width: 768px) {
84
+ .sidebar {
85
+ display: none;
86
+ }
87
+ .main-content {
88
+ margin-left: 0;
89
+ }
90
+ }
91
+ </style>
92
+ </head>
93
+ <body>
94
+ <header>
95
+ <nav>
96
+ <div class="logo">Foliko</div>
97
+ <ul class="nav-links">
98
+ <li><a href="../index.html">首页</a></li>
99
+ <li><a href="../index.html#features">特性</a></li>
100
+ <li><a href="../index.html#quickstart">快速开始</a></li>
101
+ <li><a href="../index.html#docs">文档</a></li>
102
+ </ul>
103
+ </nav>
104
+ </header>
37
105
 
38
- <div class="sidebar">
39
- <ul>
40
- <li><a href="project-structure.html">项目结构</a></li>
41
- <li><a href="configuration.html">配置指南</a></li>
42
- <li><a href="plugin-development.html" class="active">插件开发</a></li>
43
- <li><a href="skill-development.html">技能开发</a></li>
44
- <li><a href="api.html">API 参考</a></li>
45
- </ul>
46
- </div>
106
+ <div class="sidebar">
107
+ <ul>
108
+ <li><a href="project-structure.html">项目结构</a></li>
109
+ <li><a href="configuration.html">配置指南</a></li>
110
+ <li><a href="plugin-development.html" class="active">插件开发</a></li>
111
+ <li><a href="skill-development.html">技能开发</a></li>
112
+ <li><a href="api.html">API 参考</a></li>
113
+ </ul>
114
+ </div>
47
115
 
48
- <div class="main-content">
49
- <h1>插件开发</h1>
116
+ <div class="main-content">
117
+ <h1>插件开发</h1>
50
118
 
51
- <h2>快速开始</h2>
52
- <p>在 <code>.agent/plugins/</code> 目录下创建插件文件:</p>
53
- <pre><code>// .agent/plugins/my-plugin.js
119
+ <h2>快速开始</h2>
120
+ <p>在 <code>.agent/plugins/</code> 目录下创建插件文件:</p>
121
+ <pre><code>// .agent/plugins/my-plugin.js
54
122
  module.exports = function(Plugin) {
55
123
  return class MyPlugin extends Plugin {
56
124
  constructor(config = {}) {
@@ -78,26 +146,26 @@ module.exports = function(Plugin) {
78
146
  }
79
147
  }</code></pre>
80
148
 
81
- <h2>插件结构</h2>
149
+ <h2>插件结构</h2>
82
150
 
83
- <h3>必须属性</h3>
84
- <ul>
85
- <li><code>name</code> - 唯一名称</li>
86
- <li><code>version</code> - 版本号(可选,默认 1.0.0)</li>
87
- <li><code>description</code> - 描述(可选)</li>
88
- <li><code>priority</code> - 优先级(可选,默认 10)</li>
89
- </ul>
151
+ <h3>必须属性</h3>
152
+ <ul>
153
+ <li><code>name</code> - 唯一名称</li>
154
+ <li><code>version</code> - 版本号(可选,默认 1.0.0)</li>
155
+ <li><code>description</code> - 描述(可选)</li>
156
+ <li><code>priority</code> - 优先级(可选,默认 10)</li>
157
+ </ul>
90
158
 
91
- <h3>生命周期</h3>
92
- <ul>
93
- <li><code>install(framework)</code> - 安装时调用,注册工具</li>
94
- <li><code>start(framework)</code> - 启动时调用</li>
95
- <li><code>reload(framework)</code> - 热重载时调用</li>
96
- <li><code>uninstall(framework)</code> - 卸载时调用</li>
97
- </ul>
159
+ <h3>生命周期</h3>
160
+ <ul>
161
+ <li><code>install(framework)</code> - 安装时调用,注册工具</li>
162
+ <li><code>start(framework)</code> - 启动时调用</li>
163
+ <li><code>reload(framework)</code> - 热重载时调用</li>
164
+ <li><code>uninstall(framework)</code> - 卸载时调用</li>
165
+ </ul>
98
166
 
99
- <h2>注册工具</h2>
100
- <pre><code>framework.registerTool({
167
+ <h2>注册工具</h2>
168
+ <pre><code>framework.registerTool({
101
169
  name: 'tool_name',
102
170
  description: '工具描述',
103
171
  inputSchema: z.object({
@@ -108,21 +176,24 @@ module.exports = function(Plugin) {
108
176
  }
109
177
  })</code></pre>
110
178
 
111
- <div class="tip">
112
- <strong>提示:</strong> 如果插件需要第三方库(如 zod),需要先调用 <code>install</code> 工具安装依赖。
113
- </div>
179
+ <div class="tip">
180
+ <strong>提示:</strong> 如果插件需要第三方库(如 zod),需要先调用
181
+ <code>install</code> 工具安装依赖。
182
+ </div>
114
183
 
115
- <h2>第三方依赖</h2>
116
- <p>如果插件需要使用第三方 npm 包:</p>
117
- <ol>
118
- <li>创建插件文件(暂不加载)</li>
119
- <li>调用 <code>install { package: "包名" }</code> 安装依赖</li>
120
- <li>调用 <code>reload_plugins</code> 重载插件</li>
121
- </ol>
184
+ <h2>第三方依赖</h2>
185
+ <p>如果插件需要使用第三方 npm 包:</p>
186
+ <ol>
187
+ <li>创建插件文件(暂不加载)</li>
188
+ <li>调用 <code>install { package: "包名" }</code> 安装依赖</li>
189
+ <li>调用 <code>reload_plugins</code> 重载插件</li>
190
+ </ol>
122
191
 
123
- <h2>Python 插件</h2>
124
- <p>除了 JavaScript 插件,框架还支持 Python 插件。创建 <code>.agent/plugins/*.py</code> 文件:</p>
125
- <pre><code># .agent/plugins/my-python-plugin.py
192
+ <h2>Python 插件</h2>
193
+ <p>
194
+ 除了 JavaScript 插件,框架还支持 Python 插件。创建 <code>.agent/plugins/*.py</code> 文件:
195
+ </p>
196
+ <pre><code># .agent/plugins/my-python-plugin.py
126
197
 
127
198
  plugin_info = {
128
199
  "name": "my-python-plugin",
@@ -136,16 +207,14 @@ def execute_tool(tool_name, params):
136
207
  return {"success": True, "result": f"Hello, {params.get('name', 'World')}!"}
137
208
  return {"success": False, "error": "Unknown tool"}</code></pre>
138
209
 
139
- <p>使用 Python 插件工具:</p>
140
- <pre><code>python_plugin {
210
+ <p>使用 Python 插件工具:</p>
211
+ <pre><code>python_plugin {
141
212
  plugin: "my-python-plugin",
142
213
  tool: "hello",
143
214
  params: { name: "Foliko" }
144
215
  }</code></pre>
145
216
 
146
- <div class="tip">
147
- <strong>提示:</strong> Python 插件会自动加载并注册到框架中。
217
+ <div class="tip"><strong>提示:</strong> Python 插件会自动加载并注册到框架中。</div>
148
218
  </div>
149
- </div>
150
- </body>
219
+ </body>
151
220
  </html>
@@ -1,102 +1,103 @@
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 {
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, .sidebar a.active {
34
- background: rgba(99, 102, 241, 0.2);
35
- color: var(--primary);
36
- }
37
- .main-content {
38
- margin-left: 250px;
39
- padding: 2rem;
40
- max-width: 900px;
41
- }
42
- .main-content h1 {
43
- font-size: 2rem;
44
- margin-bottom: 1rem;
45
- }
46
- .main-content h2 {
47
- font-size: 1.5rem;
48
- margin: 2rem 0 1rem;
49
- color: var(--secondary);
50
- }
51
- .main-content p {
52
- margin-bottom: 1rem;
53
- color: var(--text-secondary);
54
- }
55
- .main-content pre {
56
- background: var(--bg-card);
57
- padding: 1rem;
58
- border-radius: 8px;
59
- overflow-x: auto;
60
- margin-bottom: 1rem;
61
- }
62
- @media (max-width: 768px) {
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>
63
9
  .sidebar {
64
- display: none;
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);
65
37
  }
66
38
  .main-content {
67
- margin-left: 0;
39
+ margin-left: 250px;
40
+ padding: 2rem;
41
+ max-width: 900px;
68
42
  }
69
- }
70
- </style>
71
- </head>
72
- <body>
73
- <header>
74
- <nav>
75
- <div class="logo">Foliko</div>
76
- <ul class="nav-links">
77
- <li><a href="../index.html">首页</a></li>
78
- <li><a href="../index.html#features">特性</a></li>
79
- <li><a href="../index.html#quickstart">快速开始</a></li>
80
- <li><a href="../index.html#docs">文档</a></li>
81
- </ul>
82
- </nav>
83
- </header>
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
+ @media (max-width: 768px) {
64
+ .sidebar {
65
+ display: none;
66
+ }
67
+ .main-content {
68
+ margin-left: 0;
69
+ }
70
+ }
71
+ </style>
72
+ </head>
73
+ <body>
74
+ <header>
75
+ <nav>
76
+ <div class="logo">Foliko</div>
77
+ <ul class="nav-links">
78
+ <li><a href="../index.html">首页</a></li>
79
+ <li><a href="../index.html#features">特性</a></li>
80
+ <li><a href="../index.html#quickstart">快速开始</a></li>
81
+ <li><a href="../index.html#docs">文档</a></li>
82
+ </ul>
83
+ </nav>
84
+ </header>
84
85
 
85
- <div class="sidebar">
86
- <ul>
87
- <li><a href="project-structure.html" class="active">项目结构</a></li>
88
- <li><a href="configuration.html">配置指南</a></li>
89
- <li><a href="plugin-development.html">插件开发</a></li>
90
- <li><a href="skill-development.html">技能开发</a></li>
91
- <li><a href="api.html">API 参考</a></li>
92
- </ul>
93
- </div>
86
+ <div class="sidebar">
87
+ <ul>
88
+ <li><a href="project-structure.html" class="active">项目结构</a></li>
89
+ <li><a href="configuration.html">配置指南</a></li>
90
+ <li><a href="plugin-development.html">插件开发</a></li>
91
+ <li><a href="skill-development.html">技能开发</a></li>
92
+ <li><a href="api.html">API 参考</a></li>
93
+ </ul>
94
+ </div>
94
95
 
95
- <div class="main-content">
96
- <h1>项目结构</h1>
96
+ <div class="main-content">
97
+ <h1>项目结构</h1>
97
98
 
98
- <h2>目录结构</h2>
99
- <pre><code>foliko/
99
+ <h2>目录结构</h2>
100
+ <pre><code>foliko/
100
101
  ├── cli/ # 命令行入口
101
102
  │ ├── bin/foliko.js # CLI 入口脚本
102
103
  │ └── src/
@@ -112,31 +113,31 @@
112
113
  ├── examples/ # 示例
113
114
  └── docs/ # 文档</code></pre>
114
115
 
115
- <h2>核心目录</h2>
116
- <h3>cli/</h3>
117
- <p>命令行界面相关代码,包含聊天模式、命令解析等。</p>
116
+ <h2>核心目录</h2>
117
+ <h3>cli/</h3>
118
+ <p>命令行界面相关代码,包含聊天模式、命令解析等。</p>
118
119
 
119
- <h3>src/core/</h3>
120
- <p>框架核心组件,包括:</p>
121
- <ul>
122
- <li><code>agent.js</code> - Agent 类</li>
123
- <li><code>framework.js</code> - 框架容器</li>
124
- <li><code>plugin-manager.js</code> - 插件管理器</li>
125
- <li><code>tool-registry.js</code> - 工具注册表</li>
126
- </ul>
120
+ <h3>src/core/</h3>
121
+ <p>框架核心组件,包括:</p>
122
+ <ul>
123
+ <li><code>agent.js</code> - Agent 类</li>
124
+ <li><code>framework.js</code> - 框架容器</li>
125
+ <li><code>plugin-manager.js</code> - 插件管理器</li>
126
+ <li><code>tool-registry.js</code> - 工具注册表</li>
127
+ </ul>
127
128
 
128
- <h3>plugins/</h3>
129
- <p>内置插件,提供核心功能:AI、存储、工具、工作流等。</p>
129
+ <h3>plugins/</h3>
130
+ <p>内置插件,提供核心功能:AI、存储、工具、工作流等。</p>
130
131
 
131
- <h3>.agent/</h3>
132
- <p>用户配置目录(项目根目录下),包含:</p>
133
- <pre><code>.agent/
132
+ <h3>.agent/</h3>
133
+ <p>用户配置目录(项目根目录下),包含:</p>
134
+ <pre><code>.agent/
134
135
  ├── config # 配置文件
135
136
  ├── ai.json # AI 配置
136
137
  ├── mcp_config.json # MCP 配置
137
138
  ├── plugins/ # 用户插件
138
139
  ├── skills/ # 用户技能
139
140
  └── data/ # 数据存储</code></pre>
140
- </div>
141
- </body>
141
+ </div>
142
+ </body>
142
143
  </html>