foliko 1.1.67 → 1.1.69

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 (157) hide show
  1. package/.claude/settings.local.json +19 -10
  2. package/.dockerignore +45 -45
  3. package/.env.example +56 -56
  4. package/CLAUDE.md +2 -2
  5. package/README.md +13 -13
  6. package/SPEC.md +3 -3
  7. package/cli/src/commands/chat.js +2 -20
  8. package/cli/src/commands/list.js +7 -6
  9. package/cli/src/commands/plugin.js +3 -2
  10. package/cli/src/daemon.js +2 -2
  11. package/cli/src/ui/chat-ui-old.js +15 -4
  12. package/cli/src/ui/chat-ui.js +236 -203
  13. package/cli/src/ui/footer-bar.js +20 -46
  14. package/cli/src/ui/message-bubble.js +24 -2
  15. package/cli/src/ui/status-bar.js +177 -0
  16. package/cli/src/utils/config.js +29 -0
  17. package/cli/src/utils/plugin-config.js +1 -1
  18. package/docker-compose.yml +33 -33
  19. package/docs/features.md +120 -120
  20. package/docs/quick-reference.md +160 -160
  21. package/docs/user-manual.md +1391 -1391
  22. package/examples/ambient-example.js +2 -2
  23. package/examples/bootstrap.js +3 -3
  24. package/examples/test-chat.js +1 -1
  25. package/examples/test-reload.js +1 -1
  26. package/examples/test-telegram.js +1 -1
  27. package/examples/test-tg-bot.js +1 -1
  28. package/examples/test-tg-simple.js +2 -2
  29. package/examples/test-tg.js +1 -1
  30. package/examples/test-think.js +1 -1
  31. package/examples/test-weixin-feishu.js +3 -3
  32. package/package.json +3 -1
  33. package/plugins/ambient-agent/index.js +1 -1
  34. package/plugins/audit-plugin.js +84 -29
  35. package/plugins/coordinator-plugin.js +14 -12
  36. package/plugins/data-splitter-plugin.js +323 -0
  37. package/plugins/default-plugins.js +23 -12
  38. package/plugins/email/index.js +1 -1
  39. package/plugins/extension-executor-plugin.js +87 -9
  40. package/plugins/feishu-plugin.js +118 -16
  41. package/plugins/file-system-plugin.js +68 -50
  42. package/plugins/gate-trading.js +10 -10
  43. package/plugins/install-plugin.js +7 -7
  44. package/plugins/memory-plugin.js +9 -12
  45. package/plugins/plugin-manager-plugin.js +12 -14
  46. package/plugins/python-executor-plugin.js +1 -1
  47. package/plugins/python-plugin-loader.js +1 -1
  48. package/plugins/qq-plugin.js +151 -24
  49. package/plugins/rules-plugin.js +8 -8
  50. package/plugins/scheduler-plugin.js +24 -20
  51. package/plugins/session-plugin.js +313 -397
  52. package/plugins/storage-plugin.js +235 -175
  53. package/plugins/subagent-plugin.js +17 -13
  54. package/plugins/telegram-plugin.js +116 -17
  55. package/plugins/think-plugin.js +64 -60
  56. package/plugins/tools-plugin.js +8 -8
  57. package/plugins/web-plugin.js +2 -2
  58. package/plugins/weixin-plugin.js +107 -24
  59. package/skills/find-skills/AGENTS.md +2 -2
  60. package/skills/find-skills/SKILL.md +133 -133
  61. package/skills/foliko-dev/AGENTS.md +236 -236
  62. package/skills/foliko-dev/SKILL.md +19 -19
  63. package/skills/mcp-usage/SKILL.md +200 -200
  64. package/skills/plugin-guide/SKILL.md +4 -4
  65. package/skills/python-plugin-dev/SKILL.md +5 -5
  66. package/skills/skill-guide/SKILL.md +104 -6
  67. package/skills/subagent-guide/SKILL.md +237 -237
  68. package/skills/workflow-guide/SKILL.md +646 -646
  69. package/src/capabilities/skill-manager.js +124 -17
  70. package/src/capabilities/workflow-engine.js +3 -3
  71. package/src/core/agent-chat.js +72 -26
  72. package/src/core/agent.js +17 -27
  73. package/src/core/branch-summary-auto.js +206 -0
  74. package/src/core/chat-session.js +45 -169
  75. package/src/core/command-registry.js +200 -0
  76. package/src/core/constants.js +198 -0
  77. package/src/core/context-compressor.js +702 -326
  78. package/src/core/context-manager.js +0 -1
  79. package/src/core/enhanced-context-compressor.js +210 -0
  80. package/src/core/framework.js +260 -84
  81. package/src/core/jsonl-storage.js +253 -0
  82. package/src/core/plugin-base.js +7 -5
  83. package/src/core/plugin-manager.js +15 -10
  84. package/src/core/provider-registry.js +159 -0
  85. package/src/core/provider.js +2 -0
  86. package/src/core/session-entry.js +225 -0
  87. package/src/core/session-manager.js +701 -0
  88. package/src/core/storage-manager.js +494 -0
  89. package/src/core/sub-agent-config.js +1 -1
  90. package/src/core/subagent.js +16 -135
  91. package/src/core/token-counter.js +177 -58
  92. package/src/core/tool-executor.js +2 -70
  93. package/src/core/ui-extension-context.js +174 -0
  94. package/src/executors/mcp-executor.js +27 -16
  95. package/src/utils/chat-queue.js +11 -22
  96. package/src/utils/data-splitter.js +345 -0
  97. package/src/utils/logger.js +152 -180
  98. package/src/utils/message-validator.js +283 -0
  99. package/src/utils/plugin-helpers.js +2 -2
  100. package/src/utils/retry.js +168 -22
  101. package/website_v2/docs/api.html +1 -1
  102. package/website_v2/docs/configuration.html +2 -2
  103. package/website_v2/docs/plugin-development.html +4 -4
  104. package/website_v2/docs/project-structure.html +2 -2
  105. package/website_v2/docs/skill-development.html +2 -2
  106. package/website_v2/index.html +1 -1
  107. package/website_v2/styles/animations.css +7 -7
  108. package/.agent/agents/backend-dev.md +0 -102
  109. package/.agent/agents/data-analyst.md +0 -117
  110. package/.agent/agents/devops.md +0 -115
  111. package/.agent/agents/frontend-dev.md +0 -94
  112. package/.agent/agents/network-requester.md +0 -44
  113. package/.agent/agents/poster-designer.md +0 -52
  114. package/.agent/agents/product-manager.md +0 -85
  115. package/.agent/agents/qa-engineer.md +0 -100
  116. package/.agent/agents/security-engineer.md +0 -99
  117. package/.agent/agents/team-lead.md +0 -137
  118. package/.agent/agents/ui-designer.md +0 -116
  119. package/.agent/data/default.json +0 -58
  120. package/.agent/data/email/processed-emails.json +0 -1
  121. package/.agent/data/plugins-state.json +0 -199
  122. package/.agent/data/scheduler/tasks.json +0 -1
  123. package/.agent/data/web/web-config.json +0 -5
  124. package/.agent/data/weixin/images/file_1776188148383jpg +0 -0
  125. package/.agent/data/weixin/images/file_1776188458326.jpg +0 -0
  126. package/.agent/data/weixin/images/file_1776188689423.jpg +0 -0
  127. package/.agent/data/weixin/images/file_1776188813604.jpg +0 -0
  128. package/.agent/data/weixin/images/file_1776189097450.jpg +0 -0
  129. package/.agent/data/weixin/videos/file_1776188318431.mp4 +0 -0
  130. package/.agent/data/weixin.json +0 -6
  131. package/.agent/mcp_config.json +0 -14
  132. package/.agent/memory/user/mof6gk94-kneeuh.md +0 -9
  133. package/.agent/package.json +0 -8
  134. package/.agent/plugins/marknative/README.md +0 -134
  135. package/.agent/plugins/marknative/fonts/SegoeUI Emoji.ttf +0 -0
  136. package/.agent/plugins/marknative/fonts.zip +0 -0
  137. package/.agent/plugins/marknative/index.js +0 -256
  138. package/.agent/plugins/marknative/package.json +0 -12
  139. package/.agent/plugins/test-plugin.py +0 -99
  140. package/.agent/plugins.json +0 -14
  141. package/.agent/python-scripts/test_sample.py +0 -24
  142. package/.agent/sessions/cli_default.json +0 -247
  143. package/.agent/skills/agent-browser/SKILL.md +0 -311
  144. package/.agent/skills/agent-browser/TEST_PLAN.md +0 -200
  145. package/.agent/skills/sysinfo/SKILL.md +0 -38
  146. package/.agent/skills/sysinfo/system-info.sh +0 -130
  147. package/.agent/skills/workflow/SKILL.md +0 -324
  148. package/.agent/test-agent.js +0 -35
  149. package/.agent/weixin.json +0 -6
  150. package/.agent/workflows/email-digest.json +0 -50
  151. package/.agent/workflows/file-backup.json +0 -21
  152. package/.agent/workflows/get-ip-notify.json +0 -32
  153. package/.agent/workflows/news-aggregator.json +0 -93
  154. package/.agent/workflows/news-dashboard-v2.json +0 -94
  155. package/.agent/workflows/notification-batch.json +0 -32
  156. package/src/core/session-context.js +0 -346
  157. package/src/core/session-storage.js +0 -295
@@ -1,116 +0,0 @@
1
- ---
2
- name: ui-designer
3
- description: UI/UX设计师专家。处理界面设计、交互设计、用户体验优化、设计系统维护、视觉设计、图标设计等任务。触发词:设计、UI、UX、界面、视觉、交互、设计规范、Figma、视觉设计、用户体验、原型、设计系统。
4
- tools: read_file, search_file, write_file, list_poster_fonts, list_poster_templates, list_poster_components, loadSkill
5
- mcp_tools: designmd_search_design_kits, designmd_get_design_kit, designmd_list_popular_kits, designmd_list_tags, designmd_download_design_kit
6
- skills: frontend-design, poster-design, designmd-design-kits
7
- model: inherit
8
- ---
9
-
10
- # UI/UX 设计师
11
-
12
- 你是一位资深UI/UX设计师,精通用户体验和视觉设计。
13
-
14
- ## 核心能力
15
-
16
- ### 设计工具
17
- - 原型设计: Figma, Sketch, Adobe XD
18
- - 视觉设计: Photoshop, Illustrator
19
- - 动效设计: After Effects, Principle
20
- - 设计系统: designmd.ai
21
-
22
- ### 设计领域
23
- - 界面UI设计
24
- - 交互原型设计
25
- - 用户体验设计
26
- - 品牌视觉设计
27
- - 运营物料设计
28
- - 海报/Banner设计
29
- - 设计系统搭建
30
-
31
- ### DESIGNmd 设计系统
32
- 你可以使用 DESIGNmd 平台搜索和获取优秀的设计系统:
33
- - `designmd_search_design_kits`: 搜索设计系统库
34
- - `designmd_list_popular_kits`: 浏览热门/趋势设计系统
35
- - `designmd_get_design_kit`: 获取设计系统完整详情
36
- - `designmd_list_tags`: 查看可用标签分类
37
- - `designmd_download_design_kit`: 下载设计系统到本地
38
-
39
- ## 设计原则
40
-
41
- ### 1. 用户中心
42
- - 深入理解用户需求
43
- - 关注用户使用场景
44
- - 可用性测试验证
45
- - 持续优化迭代
46
-
47
- ### 2. 视觉层次
48
- - 清晰的视觉层级
49
- - 合理的布局结构
50
- - 一致的间距系统
51
- - 适当的留白空间
52
-
53
- ### 3. 一致性
54
- - 统一的视觉风格
55
- - 统一的组件样式
56
- - 统一的状态反馈
57
- - 统一的交互动效
58
-
59
- ### 4. 可访问性
60
- - 色彩对比度
61
- - 键盘可访问
62
- - 屏幕阅读器支持
63
- - 操作反馈明确
64
-
65
- ## 响应格式
66
-
67
- ```
68
- ## 设计分析
69
- ### 需求理解
70
- - 设计目标
71
- - 目标用户
72
- - 使用场景
73
-
74
- ### 设计方向
75
- - 风格定位
76
- - 色彩方案
77
- - 字体选择
78
-
79
- ### 参考设计系统
80
- - 设计系统名称
81
- - 设计系统URL
82
- - 适用理由
83
-
84
- ## 设计方案
85
- ### 布局设计
86
- - 页面结构
87
- - 栅格系统
88
- - 响应式策略
89
-
90
- ### 组件设计
91
- | 组件 | 状态 | 样式说明 |
92
- |------|------|----------|
93
- | 按钮 | default/hover/active/disabled | xxx |
94
-
95
- ### 视觉规范
96
- - 主色调: #xxx
97
- - 辅助色: #xxx
98
- - 字体: 思源黑体
99
- - 圆角: 8px
100
-
101
- ## 交付物
102
- - 设计稿
103
- - 切图标注
104
- - 设计规范文档
105
- - 组件代码
106
- ```
107
-
108
- ## 工作流程
109
-
110
- 1. **需求分析**:理解产品需求和用户群体
111
- 2. **设计调研**:使用 designmd 搜索参考设计系统
112
- 3. **概念设计**:确定设计方向和风格
113
- 4. **方案设计**:输出详细设计方案
114
- 5. **评审优化**:设计评审和优化
115
- 6. **交付开发**:设计标注和组件代码
116
- 7. **走查验收**:开发还原度检查
@@ -1,58 +0,0 @@
1
- {
2
- "session:cli_default": {
3
- "messages": [],
4
- "variables": {},
5
- "metadata": {}
6
- },
7
- "session:weixin_o9cq80zgZqKPA2-s59PN43GdDy1w@im.wechat": {
8
- "messages": [],
9
- "variables": {},
10
- "metadata": {
11
- "platform": "weixin",
12
- "userId": "o9cq80zgZqKPA2-s59PN43GdDy1w@im.wechat"
13
- },
14
- "createdAt": "2026-04-11T19:20:50.718Z",
15
- "lastActive": "2026-04-11T19:20:50.718Z"
16
- },
17
- "business_card:business_card_info": {
18
- "value": "{\"name\": \"张明远\", \"title\": \"技术总监\", \"company\": \"星辰科技有限公司\", \"phone\": \"+86 138-0000-1234\", \"email\": \"zhangmingyuan@startech.com\", \"website\": \"www.startech.com\", \"address\": \"北京市朝阳区科技园A座1201\", \"file\": \"business_card.png\", \"size\": \"1050x630\", \"dpi\": 300, \"created\": \"2026-04-13\"}",
19
- "updatedAt": "2026-04-12T16:27:27.826Z"
20
- },
21
- "default:test-key-6": {
22
- "value": "第6条消息的测试数据",
23
- "updatedAt": "2026-04-26T02:57:54.415Z"
24
- },
25
- "session:qq_c2c_D960F12877541624D7B2C836110B3D0F": {
26
- "messages": [],
27
- "variables": {},
28
- "metadata": {
29
- "platform": "qq",
30
- "identifier": "D960F12877541624D7B2C836110B3D0F",
31
- "type": "c2c"
32
- },
33
- "createdAt": "2026-05-01T16:24:24.447Z",
34
- "lastActive": "2026-05-01T16:24:24.447Z"
35
- },
36
- "session:qq_c2c_default_c2c": {
37
- "messages": [],
38
- "variables": {},
39
- "metadata": {
40
- "platform": "qq",
41
- "identifier": "default_c2c",
42
- "type": "c2c"
43
- },
44
- "createdAt": "2026-05-02T14:21:02.797Z",
45
- "lastActive": "2026-05-02T14:21:02.797Z"
46
- },
47
- "session:qq_group_default_group": {
48
- "messages": [],
49
- "variables": {},
50
- "metadata": {
51
- "platform": "qq",
52
- "identifier": "default_group",
53
- "type": "group"
54
- },
55
- "createdAt": "2026-05-02T14:21:02.798Z",
56
- "lastActive": "2026-05-02T14:21:02.798Z"
57
- }
58
- }
@@ -1 +0,0 @@
1
- ["<709921775831304@mail.yandex.ru>","<164041775831815@mail.yandex.ru>","<1453131775832337@mail.yandex.ru>","1224161775832900@mail.yandex.ru","659171775833135@mail.yandex.ru","300181775834203@mail.yandex.ru","2939231775834764@mail.yandex.ru","1443171775835448@mail.yandex.ru","1647161775839441@mail.yandex.ru","807111775840146@mail.yandex.ru","1317101775840554@mail.yandex.ru","859941775840854@mail.yandex.ru","41131775841292@mail.yandex.ru","341691775841865@mail.yandex.ru","170181775842337@mail.yandex.ru","18581775842668@mail.yandex.ru","3899221775842970@mail.yandex.ru","386541775843216@mail.yandex.ru","408111775843932@mail.yandex.ru","<408111775843932@mail.yandex.ru>","2304111775844462@mail.yandex.ru","<2304111775844462@mail.yandex.ru>"]
@@ -1,199 +0,0 @@
1
- {
2
- "defaults": {
3
- "enabled": true,
4
- "config": {}
5
- },
6
- "install": {
7
- "enabled": true,
8
- "config": {}
9
- },
10
- "ai": {
11
- "enabled": true
12
- },
13
- "skill-manager": {
14
- "enabled": true,
15
- "config": {}
16
- },
17
- "mcp": {
18
- "enabled": true,
19
- "config": {}
20
- },
21
- "python-plugin-loader": {
22
- "enabled": true,
23
- "config": {}
24
- },
25
- "subagent-manager": {
26
- "enabled": true,
27
- "config": {
28
- "agentsDir": "D:\\Code\\foliko\\.agent\\agents"
29
- }
30
- },
31
- "marknative": {
32
- "enabled": true,
33
- "config": {}
34
- },
35
- "poster": {
36
- "enabled": true,
37
- "config": {}
38
- },
39
- "ambient": {
40
- "enabled": true,
41
- "config": {
42
- "enabled": true,
43
- "tickInterval": 5000,
44
- "cooldownPeriod": 3000,
45
- "persistencePath": ".agent/data/ambient",
46
- "defaultGoals": []
47
- }
48
- },
49
- "audit": {
50
- "enabled": true,
51
- "config": {
52
- "maxLogs": 1000,
53
- "retentionDays": 30,
54
- "logDir": ".agent/logs"
55
- }
56
- },
57
- "coordinator": {
58
- "enabled": false,
59
- "config": {}
60
- },
61
- "email": {
62
- "enabled": false,
63
- "config": {}
64
- },
65
- "extension-executor": {
66
- "enabled": true,
67
- "config": {}
68
- },
69
- "feishu": {
70
- "enabled": false,
71
- "config": {
72
- "appId": "cli_a90e8b47db235bdb",
73
- "appSecret": "Vmfy9gXWtYQtec36uY3B8ecr1QEZO2N8",
74
- "allowedUsers": []
75
- }
76
- },
77
- "file-system": {
78
- "enabled": true,
79
- "config": {}
80
- },
81
- "gate-trading": {
82
- "enabled": false,
83
- "config": {}
84
- },
85
- "memory": {
86
- "enabled": true,
87
- "config": {
88
- "memoryDir": ".agent/memory",
89
- "autoExtract": true,
90
- "extractOnTopics": [
91
- "provider",
92
- "preference",
93
- "setting",
94
- "user"
95
- ]
96
- }
97
- },
98
- "plugin_manager": {
99
- "enabled": true,
100
- "config": {}
101
- },
102
- "python-executor": {
103
- "enabled": true,
104
- "config": {
105
- "pythonPath": "python",
106
- "timeout": 120000,
107
- "baseDir": ".agent/python-scripts",
108
- "pipPath": null
109
- }
110
- },
111
- "rules": {
112
- "enabled": true,
113
- "config": {
114
- "rulesDir": ".agent/rules",
115
- "autoLoad": true
116
- }
117
- },
118
- "scheduler": {
119
- "enabled": true,
120
- "config": {
121
- "checkInterval": 1000,
122
- "persistencePath": ".agent/data/scheduler"
123
- }
124
- },
125
- "session": {
126
- "enabled": true,
127
- "config": {
128
- "sessionTTL": 1800000,
129
- "maxSessions": 100,
130
- "maxHistoryLength": 150,
131
- "autoCleanup": false,
132
- "cleanupInterval": 300000,
133
- "persistToStorage": true,
134
- "onSessionStart": null,
135
- "onSessionEnd": null,
136
- "onSessionCreated": null
137
- }
138
- },
139
- "shell-executor": {
140
- "enabled": true,
141
- "config": {
142
- "timeout": 60000,
143
- "workingDir": "D:\\Code\\foliko"
144
- }
145
- },
146
- "storage": {
147
- "enabled": true,
148
- "config": {
149
- "type": "json",
150
- "path": ".agent/data",
151
- "namespace": "default"
152
- }
153
- },
154
- "telegram": {
155
- "enabled": false,
156
- "config": {
157
- "botToken": "\"1980700161:AAHQQxKRAyg6-MuOTZDIj7x9WjEdIaGhK5I\"",
158
- "allowedChats": [],
159
- "groupMode": false,
160
- "prefix": "/"
161
- }
162
- },
163
- "think": {
164
- "enabled": true,
165
- "config": {
166
- "autoReflect": false,
167
- "reflectDelay": 2000,
168
- "maxReflectDepth": 3,
169
- "enableContinuous": false
170
- }
171
- },
172
- "tools": {
173
- "enabled": true,
174
- "config": {}
175
- },
176
- "web": {
177
- "enabled": true,
178
- "config": {}
179
- },
180
- "weixin": {
181
- "enabled": false,
182
- "config": {
183
- "forceLogin": false,
184
- "qrcodeTerminal": true,
185
- "allowedUsers": []
186
- }
187
- },
188
- "qq": {
189
- "enabled": false,
190
- "config": {
191
- "appId": "102888416",
192
- "clientSecret": "acfimrw28FMUdmw6HSer4IWl0GXo6Oh0",
193
- "allowedUsers": [],
194
- "markdownSupport": false,
195
- "appID": "102888416",
196
- "token": "acfimrw28FMUdmw6HSer4IWl0GXo6Oh0"
197
- }
198
- }
199
- }
@@ -1 +0,0 @@
1
- []
@@ -1,5 +0,0 @@
1
- {
2
- "routes": [],
3
- "webhooks": [],
4
- "statics": []
5
- }
@@ -1,6 +0,0 @@
1
- {
2
- "token": "456b1c0cb5f7@im.bot:06000038355b2b75ffe34f60575352ea07fcb8",
3
- "baseUrl": "https://ilinkai.weixin.qq.com",
4
- "accountId": "456b1c0cb5f7@im.bot",
5
- "userId": "o9cq80zgZqKPA2-s59PN43GdDy1w@im.wechat"
6
- }
@@ -1,14 +0,0 @@
1
- {
2
- "mcpServers": {
3
- "designmd": {
4
- "enabled":false,
5
- "command": "npx",
6
- "args": [
7
- "designmd-mcp"
8
- ],
9
- "env": {
10
- "DESIGNMD_API_KEY": "dk_a840970283f38bab0bf34b9109a293c8bef0a59c"
11
- }
12
- }
13
- }
14
- }
@@ -1,9 +0,0 @@
1
- ---
2
- id: "mof6gk94-kneeuh"
3
- name: "测试记忆-第5条消息"
4
- type: "user"
5
- project: "null"
6
- tags: [测试, 验证]
7
- created: "2026-04-26"
8
- ---
9
- 这是第5条消息的测试记忆,用于验证记忆存储功能。时间: 2026-04-26 10:56
@@ -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,134 +0,0 @@
1
- # MarkNative Plugin
2
-
3
- 将 Markdown 转换为 PNG/SVG 图片的 Foliko 插件。基于 [marknative](https://github.com/liyown/marknative) 项目。
4
-
5
- ## 特性
6
-
7
- - **原生渲染**: 不需要浏览器,使用原生 2D canvas API
8
- - **多种格式**: 支持 PNG 和 SVG 输出
9
- - **丰富主题**: 10 种内置主题(浅色/深色)
10
- - **代码高亮**: 支持代码块语法高亮
11
- - **分页支持**: 自动分页处理长文档
12
- - **双重模式**: 支持本地运行和 Daytona 沙箱运行
13
-
14
- ## 安装依赖
15
-
16
- ### 方式一:本地安装
17
- ```bash
18
- cd .agent/plugins/marknative
19
- npm install
20
- ```
21
-
22
- ### 方式二:使用 Daytona 沙箱
23
- 确保已配置 Daytona 插件,插件将自动在沙箱中运行。
24
-
25
- ## 工具列表
26
-
27
- ### marknative_render
28
- 将 Markdown 渲染为图片(Base64 编码返回)
29
-
30
- 参数:
31
- - `markdown`: Markdown 内容(必填)
32
- - `format`: 输出格式 (png/svg)
33
- - `theme`: 主题名称
34
- - `singlePage`: 是否单页输出
35
- - `codeTheme`: 代码高亮主题
36
- - `useSandbox`: 是否强制使用沙箱执行
37
-
38
- ### marknative_render_to_file
39
- 将 Markdown 渲染为图片并保存到文件
40
-
41
- 参数:
42
- - `markdown`: Markdown 内容(必填)
43
- - `outputPath`: 输出文件路径(必填)
44
- - `format`: 输出格式
45
- - `theme`: 主题名称
46
- - `codeTheme`: 代码高亮主题
47
-
48
- ### marknative_preview
49
- 预览渲染效果(返回第一页 Base64)
50
-
51
- 参数:
52
- - `markdown`: Markdown 内容(必填)
53
- - `theme`: 主题名称
54
- - `codeTheme`: 代码高亮主题
55
-
56
- ### marknative_get_themes
57
- 获取所有可用主题和代码高亮主题列表
58
-
59
- ### marknative_status
60
- 检查插件状态
61
-
62
- ## 可用主题
63
-
64
- | 主题 | 描述 |
65
- |------|------|
66
- | default | 默认主题(浅色) |
67
- | github | GitHub 风格 |
68
- | solarized | Solarized 风格 |
69
- | sepia | 复古纸张风格 |
70
- | rose | 玫瑰粉风格 |
71
- | dark | 深色主题 |
72
- | nord | Nord 风格 |
73
- | dracula | Dracula 风格 |
74
- | ocean | 海洋风格 |
75
- | forest | 森林风格 |
76
-
77
- ## 代码高亮主题
78
-
79
- 支持 Shiki 主题:`github-light`, `github-dark`, `nord`, `dracula`, `solarized-light`, `solarized-dark`, `monokai` 等。
80
-
81
- ## 使用示例
82
-
83
- ```javascript
84
- // 1. 检查状态
85
- marknative_status({})
86
-
87
- // 2. 渲染为 Base64 图片
88
- marknative_render({
89
- markdown: '# Hello\n\nThis is **markdown** to image!',
90
- format: 'png',
91
- theme: 'github'
92
- })
93
-
94
- // 3. 保存为文件
95
- marknative_render_to_file({
96
- markdown: '# Document\n\nContent here...',
97
- outputPath: './output.png',
98
- theme: 'dark'
99
- })
100
-
101
- // 4. 预览
102
- marknative_preview({
103
- markdown: '# Preview\n\nTest content',
104
- theme: 'nord'
105
- })
106
-
107
- // 5. 获取主题列表
108
- marknative_get_themes({})
109
- ```
110
-
111
- ## 完整示例
112
-
113
- ```javascript
114
- // 渲染带有代码高亮的文档
115
- marknative_render({
116
- markdown: `# 示例代码
117
-
118
- \`\`\`javascript
119
- function hello() {
120
- console.log('Hello, World!');
121
- }
122
- \`\`\`
123
-
124
- **支持语法高亮!**
125
- `,
126
- format: 'png',
127
- theme: 'dark',
128
- codeTheme: 'github-dark'
129
- })
130
- ```
131
-
132
- ## 许可证
133
-
134
- MIT
Binary file