foliko 1.1.10 → 1.1.11

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.
@@ -67,6 +67,345 @@
67
67
  "text": "<think>\n两张海报都已成功创作完成!让我总结一下结果。\n</think>\n\n两张不同风格的测试海报已成功创作完成!🎉\n\n## 📊 创作结果\n\n| 海报 | 风格 | 文件名 | 尺寸 |\n|------|------|--------|------|\n| **海报 1** | 现代简约(蓝白配色) | `test_poster_modern.png` | 2000×2000 |\n| **海报 2** | 复古怀旧(暖色调) | `test_poster_vintage.png` | 2000×2000 |\n\n## 🎨 设计亮点\n\n**现代简约风格:**\n- 蓝白渐变背景\n- 透明装饰圆形和星形\n- 渐变艺术字标题\n- ✨🎨📐 图标点缀\n\n**复古怀旧风格:**\n- 暖色渐变背景(棕/米/橙)\n- Vintage 风格边框\n- 六角星装饰\n- 丝带飘带 + 复古印章\n\n两张海报都已导出到当前目录,可以直接查看效果!"
68
68
  }
69
69
  ]
70
+ },
71
+ {
72
+ "role": "user",
73
+ "content": "20秒后提醒我吃饭"
74
+ },
75
+ {
76
+ "role": "assistant",
77
+ "content": [
78
+ {
79
+ "type": "text",
80
+ "text": "<think>\n用户想要设置一个20秒后的提醒。我需要使用 scheduler 插件来创建定时任务。\n\n查看系统能力,有 scheduler 定时任务调度插件,支持 Cron 表达式、绝对时间、相对时间。\n\n我应该使用 scheduler 插件来设置一个 20 秒后的提醒。相对时间的话,应该可以使用类似 \"+20s\" 或者类似的方式。\n\n让我调用 scheduler 插件来创建提醒任务。\n</think>\n\n\n"
81
+ },
82
+ {
83
+ "type": "tool-call",
84
+ "toolCallId": "call_function_jw0iqvk4nhir_1",
85
+ "toolName": "ext_call",
86
+ "input": {
87
+ "plugin": "scheduler",
88
+ "tool": "create_task",
89
+ "args": "{\"delay\": \"20s\", \"message\": \"该吃饭了!🍽️\", \"type\": \"once\"}"
90
+ }
91
+ }
92
+ ]
93
+ },
94
+ {
95
+ "role": "tool",
96
+ "content": [
97
+ {
98
+ "type": "tool-result",
99
+ "toolCallId": "call_function_jw0iqvk4nhir_1",
100
+ "toolName": "ext_call",
101
+ "output": {
102
+ "type": "error-text",
103
+ "value": "Model tried to call unavailable tool 'ext_call'. Available tools: subagent_list, subagent_call, subagent_reload, spawn_worker, send_message_to_worker, stop_worker, list_workers, get_worker."
104
+ }
105
+ }
106
+ ]
107
+ },
108
+ {
109
+ "role": "assistant",
110
+ "content": [
111
+ {
112
+ "type": "text",
113
+ "text": "<think>\next_call 不可用,但我在系统能力中看到了 scheduler 插件。让我尝试使用其他方式,或者直接回复用户。\n\n根据系统提示,我当前可用的工具只有:\n- subagent_list\n- subagent_call\n- subagent_reload\n- spawn_worker\n- send_message_to_worker\n- stop_worker\n- list_workers\n- get_worker\n\n看起来 ext_call 当前不可用。我需要告诉用户目前无法设置定时提醒,因为 scheduler 工具不可用。\n\n或者,我可以尝试使用 ambient 插件来设置提醒。ambient 插件有 ambient_goals 功能,可以监听事件。\n\n让我尝试使用 ambient_remember 或其他方式...不,这些不太适合做定时提醒。\n\n我应该直接告诉用户当前环境不支持定时提醒功能。\n</think>\n\n抱歉,当前环境暂不支持定时提醒功能。`scheduler` 插件目前不可用。\n\n**替代方案:**\n1. 可以在 20 秒后再次发送消息提醒您\n2. 使用手机闹钟或电脑计时器辅助提醒\n\n需要我现在就提醒您,还是稍后再试?"
114
+ }
115
+ ]
116
+ },
117
+ {
118
+ "role": "user",
119
+ "content": "20秒后提醒我吃饭了"
120
+ },
121
+ {
122
+ "role": "assistant",
123
+ "content": [
124
+ {
125
+ "type": "text",
126
+ "text": "<think>\n用户希望20秒后被提醒吃饭。让我尝试使用 ambient 插件来创建一个目标,当时间到达时触发提醒。\n\n或者我可以使用 email 或其他方式。不过最直接的方法可能是使用 ambient agent 来创建一个定时提醒目标。\n\n让我尝试使用 ambient 插件的 ambient_goals 功能来创建一个目标。\n</think>\n\n\n"
127
+ },
128
+ {
129
+ "type": "tool-call",
130
+ "toolCallId": "call_function_hmehhjb5toya_1",
131
+ "toolName": "ext_call",
132
+ "input": {
133
+ "plugin": "ambient",
134
+ "tool": "ambient_goals",
135
+ "args": "{\"action\": \"create\", \"description\": \"20秒后提醒用户吃饭\", \"persistent\": false, \"priority\": 5, \"title\": \"吃饭提醒\"}"
136
+ }
137
+ }
138
+ ]
139
+ },
140
+ {
141
+ "role": "tool",
142
+ "content": [
143
+ {
144
+ "type": "tool-result",
145
+ "toolCallId": "call_function_hmehhjb5toya_1",
146
+ "toolName": "ext_call",
147
+ "output": {
148
+ "type": "error-text",
149
+ "value": "Model tried to call unavailable tool 'ext_call'. Available tools: subagent_list, subagent_call, subagent_reload, spawn_worker, send_message_to_worker, stop_worker, list_workers, get_worker."
150
+ }
151
+ }
152
+ ]
153
+ },
154
+ {
155
+ "role": "assistant",
156
+ "content": [
157
+ {
158
+ "type": "text",
159
+ "text": "<think>\next_call 工具在当前会话中不可用。这是一个限制。让我诚实地告诉用户,目前无法使用定时提醒功能。\n</think>\n\n抱歉,当前会话不支持定时提醒功能。\n\n**建议您:**\n- 📱 使用手机闹钟/计时器(20秒)\n- 💻 打开系统闹钟设置\n- 📝 心里默数20秒 😄\n\n需要我帮您做其他事情吗?"
160
+ }
161
+ ]
162
+ },
163
+ {
164
+ "role": "user",
165
+ "content": "20秒后提醒我吃饭了"
166
+ },
167
+ {
168
+ "role": "assistant",
169
+ "content": [
170
+ {
171
+ "type": "text",
172
+ "text": "<think>\n用户再次请求20秒后提醒吃饭。让我再尝试一下,也许工具调用方式需要调整,或者我可以用其他方法。\n\n实际上,我注意到系统提示中提到了 scheduler 插件,但我的工具调用返回了错误。让我再仔细看看...\n\n系统提示中确实列出了 scheduler 插件的功能,但我当前可用的工具列表中没有 ext_call。看起来这是一个限制。\n\n让我诚实告诉用户,我无法直接创建定时任务。但我可以建议用户使用其他方式,或者我可以用 spawn_worker 创建一个后台任务来在后台等待后发送消息提醒。\n\n不过 spawn_worker 是用于创建 Worker 的,可能有点过度使用这个功能。让我试试看用 spawn_worker 创建一个简单的提醒任务。\n</think>\n\n让我尝试用后台任务来实现这个提醒:\n"
173
+ },
174
+ {
175
+ "type": "tool-call",
176
+ "toolCallId": "call_function_pb9grqb9xlh6_1",
177
+ "toolName": "spawn_worker",
178
+ "input": {
179
+ "worker_name": "meal-reminder",
180
+ "task": "等待20秒后,向用户发送吃饭提醒消息:\"🔔 提醒:吃饭时间到啦!🍽️\""
181
+ }
182
+ }
183
+ ]
184
+ },
185
+ {
186
+ "role": "tool",
187
+ "content": [
188
+ {
189
+ "type": "tool-result",
190
+ "toolCallId": "call_function_pb9grqb9xlh6_1",
191
+ "toolName": "spawn_worker",
192
+ "output": {
193
+ "type": "text",
194
+ "value": "{\"success\":true,\"workerId\":\"worker_1775966471035_ce9ke8jny\",\"status\":\"running\",\"message\":\"Worker 'meal-reminder' running\"}"
195
+ }
196
+ }
197
+ ]
198
+ },
199
+ {
200
+ "role": "assistant",
201
+ "content": [
202
+ {
203
+ "type": "text",
204
+ "text": "<think>\n好的,Worker 已创建并正在运行。它会在20秒后提醒用户吃饭。让我向用户确认这个安排。\n</think>\n\n好的!✅ 已设置提醒\n\n**⏰ 20秒后您将收到吃饭提醒:**\n> 🔔 提醒:吃饭时间到啦!🍽️\n\n请稍等,我会准时提醒您~"
205
+ }
206
+ ]
207
+ },
208
+ {
209
+ "role": "user",
210
+ "content": "发送一个测试通知给我"
211
+ },
212
+ {
213
+ "role": "assistant",
214
+ "content": [
215
+ {
216
+ "type": "text",
217
+ "text": "<think>\n用户想要发送一个测试通知。我没有直接发送通知的工具,但我可以尝试使用 email 插件发送一封邮件,或者使用其他方式。让我检查一下可用的工具...\n\n我可以尝试:\n1. 使用 email 插件发送邮件\n2. 使用 web 插件发送 webhook 请求\n3. 使用 poster 插件创建一个通知海报\n\n让我尝试使用 email 插件发送一封测试邮件作为通知。\n</think>\n\n\n"
218
+ },
219
+ {
220
+ "type": "tool-call",
221
+ "toolCallId": "call_function_b3ym09zg5xhc_1",
222
+ "toolName": "ext_call",
223
+ "input": {
224
+ "plugin": "email",
225
+ "tool": "email_send",
226
+ "args": "{\"body\": \"🔔 这是一个测试通知\\n\\n如果您收到此消息,说明通知系统正常工作!\", \"subject\": \"测试通知 🔔\", \"to\": \"test@example.com\"}"
227
+ }
228
+ }
229
+ ]
230
+ },
231
+ {
232
+ "role": "tool",
233
+ "content": [
234
+ {
235
+ "type": "tool-result",
236
+ "toolCallId": "call_function_b3ym09zg5xhc_1",
237
+ "toolName": "ext_call",
238
+ "output": {
239
+ "type": "error-text",
240
+ "value": "Model tried to call unavailable tool 'ext_call'. Available tools: subagent_list, subagent_call, subagent_reload, spawn_worker, send_message_to_worker, stop_worker, list_workers, get_worker."
241
+ }
242
+ }
243
+ ]
244
+ },
245
+ {
246
+ "role": "assistant",
247
+ "content": [
248
+ {
249
+ "type": "text",
250
+ "text": "<think>\next_call 工具不可用。让我看看可用的工具列表...我有 subagent_* 和 spawn_worker 等工具。让我看看能否使用某种方式来发送通知。\n\n我可以尝试:\n1. 创建一个海报作为通知卡片\n2. 使用 Worker 来模拟通知\n\n让我尝试用 poster 插件创建一个通知卡片,然后导出。\n</think>\n\n让我创建一个通知海报作为测试:\n"
251
+ },
252
+ {
253
+ "type": "tool-call",
254
+ "toolCallId": "call_function_uf8c4ilhaa35_1",
255
+ "toolName": "ext_call",
256
+ "input": {
257
+ "plugin": "poster",
258
+ "tool": "create_poster_canvas",
259
+ "args": "{\"height\": 300, \"preset\": \"poster_square\", \"width\": 300}"
260
+ }
261
+ }
262
+ ]
263
+ },
264
+ {
265
+ "role": "tool",
266
+ "content": [
267
+ {
268
+ "type": "tool-result",
269
+ "toolCallId": "call_function_uf8c4ilhaa35_1",
270
+ "toolName": "ext_call",
271
+ "output": {
272
+ "type": "error-text",
273
+ "value": "Model tried to call unavailable tool 'ext_call'. Available tools: subagent_list, subagent_call, subagent_reload, spawn_worker, send_message_to_worker, stop_worker, list_workers, get_worker."
274
+ }
275
+ }
276
+ ]
277
+ },
278
+ {
279
+ "role": "assistant",
280
+ "content": [
281
+ {
282
+ "type": "text",
283
+ "text": "<think>\next_call 还是不可用。当前环境中可用的工具只有:\n- subagent_list\n- subagent_call \n- subagent_reload\n- spawn_worker\n- send_message_to_worker\n- stop_worker\n- list_workers\n- get_worker\n\n我需要告诉用户当前环境不支持这些功能,或者看看能否用其他方式解决。\n</think>\n\n抱歉,当前会话环境中通知功能暂不可用。\n\n**当前支持的工具:**\n- 子 Agent 管理(subagent_*)\n- Worker 任务(spawn_worker 等)\n\n**替代方案:**\n- 我可以立即在对话框中发送\"测试通知\"文本\n- 或者稍后配置邮件服务后再尝试\n\n现在直接在对话中发送测试通知可以吗?"
284
+ }
285
+ ]
286
+ },
287
+ {
288
+ "role": "user",
289
+ "content": "开启微信插件"
290
+ },
291
+ {
292
+ "role": "assistant",
293
+ "content": [
294
+ {
295
+ "type": "text",
296
+ "text": "<think>\n用户想要开启微信插件,但我查看当前可用的工具列表,发现并没有微信相关的插件或工具。当前的工具包括:\n- subagent_list\n- subagent_call\n- subagent_reload\n- spawn_worker\n- send_message_to_worker\n- stop_worker\n- list_workers\n- get_worker\n\n系统能力中也没有提到微信插件。我需要告诉用户当前没有微信插件可用,可能需要安装或者功能尚未开发。\n\n让我查看一下是否有 find-skills 技能可以帮助用户找到相关插件。\n</think>\n\n当前环境中没有找到微信插件。\n\n让我帮您搜索是否有可用的微信相关技能:\n"
297
+ },
298
+ {
299
+ "type": "tool-call",
300
+ "toolCallId": "call_function_xcqysi9f6dwj_1",
301
+ "toolName": "subagent_call",
302
+ "input": {
303
+ "agentName": "system-assistant",
304
+ "task": "搜索并安装微信插件或相关技能,查找是否有 wechat、weixin、微信 相关的插件或扩展可用"
305
+ }
306
+ }
307
+ ]
308
+ },
309
+ {
310
+ "role": "tool",
311
+ "content": [
312
+ {
313
+ "type": "tool-result",
314
+ "toolCallId": "call_function_xcqysi9f6dwj_1",
315
+ "toolName": "subagent_call",
316
+ "output": {
317
+ "type": "text",
318
+ "value": "{\"success\":true,\"agent\":\"system-assistant\",\"result\":\"<think>\\nThe error shows that the WeChat plugin requires a logged-in WeChat account context. It says \\\"No cached context token for user...\\\" which means the user needs to be logged in first. This is because WeChat web protocol requires scanning a QR code to log in, and the plugin needs to receive a message first to establish the session context.\\n\\nLet me summarize the findings to the user.\\n</think>\\n\\n搜索完成!以下是完整结果:\\n\\n---\\n\\n## ✅ 微信插件已找到并已启用\\n\\n系统已发现 **weixin** 插件(版本 1.0.0),当前状态为 **已启用**。\\n\\n### 📦 插件提供的功能:\\n\\n| 工具名称 | 功能说明 |\\n|---------|---------|\\n| `weixin_send_message` | 发送文本消息到微信 |\\n| `weixin_send_image` | 发送图片到微信 |\\n| `weixin_send_file` | 发送文件到微信 |\\n| `weixin_send_video` | 发送视频到微信 |\\n| `weixin_send_voice` | 发送语音到微信(silk格式) |\\n\\n### ⚙️ 当前配置:\\n```json\\n{\\n \\\"forceLogin\\\": false,\\n \\\"qrcodeTerminal\\\": true, // 终端显示二维码\\n \\\"allowedUsers\\\": [] // 无用户限制\\n}\\n```\\n\\n### ⚠️ 使用前提条件:\\n微信插件依赖 **微信网页版协议**,**必须先扫码登录**才能使用。当收到微信消息时,插件会自动建立会话上下文。如果当前没有登录会话,调用会提示 `\\\"No cached context token\\\"`。\\n\\n### 🔧 远程仓库搜索:\\n- 远程插件仓库(`plugin_list`)因网络问题 **fetch failed**,但本地已确认存在 weixin 插件\\n- 未发现其他名为 wechat / weixin / 微信 的额外插件\\n\\n---\\n\\n**下一步建议**:当有人给你发送微信消息时,插件会自动建立上下文,你就可以使用 `weixin_send_message` 等工具回复微信了。是否需要我帮你配置 `allowedUsers` 白名单或其他参数?\"}"
319
+ }
320
+ }
321
+ ]
322
+ },
323
+ {
324
+ "role": "assistant",
325
+ "content": [
326
+ {
327
+ "type": "text",
328
+ "text": "<think>\n系统助手找到并确认了微信插件的存在和状态。现在我需要向用户汇报结果。\n</think>\n\n✅ **微信插件已找到并可用!**\n\n## 插件信息\n\n| 项目 | 内容 |\n|------|------|\n| **插件名** | weixin |\n| **版本** | 1.0.0 |\n| **状态** | 已启用 |\n\n## 可用工具\n\n| 工具 | 功能 |\n|------|------|\n| `weixin_send_message` | 发送文本消息 |\n| `weixin_send_image` | 发送图片 |\n| `weixin_send_file` | 发送文件 |\n| `weixin_send_video` | 发送视频 |\n| `weixin_send_voice` | 发送语音 |\n\n## ⚠️ 使用前提\n\n微信插件依赖**微信网页版协议**,需要**扫码登录**才能使用。当收到微信消息时,插件会自动建立会话上下文。\n\n---\n\n**请问您是否需要:**\n1. 帮您配置插件参数(如 `allowedUsers` 白名单)?\n2. 或者等收到微信消息后自动建立连接?"
329
+ }
330
+ ]
331
+ },
332
+ {
333
+ "role": "user",
334
+ "content": "关闭微信插件"
335
+ },
336
+ {
337
+ "role": "assistant",
338
+ "content": [
339
+ {
340
+ "type": "text",
341
+ "text": "<think>\n用户想要关闭微信插件。我需要使用 plugin_manager 或者相关工具来禁用插件。但是根据当前可用的工具列表,我只有 subagent_* 和 worker 相关的工具。\n\n让我尝试使用 ext_call 来调用 plugin_manager 插件禁用微信。\n</think>\n\n\n"
342
+ },
343
+ {
344
+ "type": "tool-call",
345
+ "toolCallId": "call_function_6k0jgp0rdbdq_1",
346
+ "toolName": "ext_call",
347
+ "input": {
348
+ "plugin": "plugin_manager",
349
+ "tool": "disable_plugin",
350
+ "args": "{\"name\": \"weixin\"}"
351
+ }
352
+ }
353
+ ]
354
+ },
355
+ {
356
+ "role": "tool",
357
+ "content": [
358
+ {
359
+ "type": "tool-result",
360
+ "toolCallId": "call_function_6k0jgp0rdbdq_1",
361
+ "toolName": "ext_call",
362
+ "output": {
363
+ "type": "error-text",
364
+ "value": "Model tried to call unavailable tool 'ext_call'. Available tools: subagent_list, subagent_call, subagent_reload, spawn_worker, send_message_to_worker, stop_worker, list_workers, get_worker."
365
+ }
366
+ }
367
+ ]
368
+ },
369
+ {
370
+ "role": "assistant",
371
+ "content": [
372
+ {
373
+ "type": "text",
374
+ "text": "<think>\next_call 当前不可用。让我尝试调用 system-assistant 来帮助禁用微信插件。\n</think>\n\n\n"
375
+ },
376
+ {
377
+ "type": "tool-call",
378
+ "toolCallId": "call_function_f18dcl8x8h3b_1",
379
+ "toolName": "subagent_call",
380
+ "input": {
381
+ "agentName": "system-assistant",
382
+ "task": "禁用或关闭 weixin 微信插件,阻止其接收或发送微信消息"
383
+ }
384
+ }
385
+ ]
386
+ },
387
+ {
388
+ "role": "tool",
389
+ "content": [
390
+ {
391
+ "type": "tool-result",
392
+ "toolCallId": "call_function_f18dcl8x8h3b_1",
393
+ "toolName": "subagent_call",
394
+ "output": {
395
+ "type": "text",
396
+ "value": "{\"success\":true,\"agent\":\"system-assistant\",\"result\":\"<think>\\n成功禁用了微信插件。\\n</think>\\n\\n微信插件 (weixin) 已成功禁用,所有微信消息接收和发送功能已停止。\"}"
397
+ }
398
+ }
399
+ ]
400
+ },
401
+ {
402
+ "role": "assistant",
403
+ "content": [
404
+ {
405
+ "type": "text",
406
+ "text": "<think>\n微信插件已成功禁用。让我向用户确认。\n</think>\n\n✅ **微信插件已关闭**\n\nweixin 插件已被禁用,所有微信消息收发功能已停止。\n\n需要重新启用时,请告诉我。"
407
+ }
408
+ ]
70
409
  }
71
410
  ],
72
411
  "variables": {},
@@ -0,0 +1,211 @@
1
+ {
2
+ "sessionId": "weixin_o9cq80zgZqKPA2-s59PN43GdDy1w@im.wechat",
3
+ "messages": [
4
+ {
5
+ "role": "user",
6
+ "content": "20秒后提醒我吃饭"
7
+ },
8
+ {
9
+ "role": "assistant",
10
+ "content": [
11
+ {
12
+ "type": "text",
13
+ "text": "<think>\n用户想要设置一个20秒后的吃饭提醒。这是一个简单的定时任务,我应该使用 schedule_task 工具来创建这个提醒。\n</think>\n\n\n"
14
+ },
15
+ {
16
+ "type": "tool-call",
17
+ "toolCallId": "call_function_fa76p5x5iqym_1",
18
+ "toolName": "schedule_task",
19
+ "input": {
20
+ "name": "吃饭提醒",
21
+ "scheduleTime": "20 seconds",
22
+ "message": "该吃饭了!",
23
+ "notify": true
24
+ }
25
+ }
26
+ ]
27
+ },
28
+ {
29
+ "role": "tool",
30
+ "content": [
31
+ {
32
+ "type": "tool-result",
33
+ "toolCallId": "call_function_fa76p5x5iqym_1",
34
+ "toolName": "schedule_task",
35
+ "output": {
36
+ "type": "text",
37
+ "value": "{\"success\":true,\"taskId\":\"task_1775966961289_u01m1yigx\",\"name\":\"吃饭提醒\",\"scheduleTime\":\"20 seconds\",\"executeAt\":\"2026-04-12T04:09:41.290Z\",\"message\":\"提醒已设置\",\"sessionId\":\"default\",\"llm\":false,\"notify\":true}"
38
+ }
39
+ }
40
+ ]
41
+ },
42
+ {
43
+ "role": "assistant",
44
+ "content": [
45
+ {
46
+ "type": "text",
47
+ "text": "<think>\n定时任务已成功创建,20秒后会提醒用户吃饭。\n</think>\n\n已设置好,20秒后提醒你吃饭。"
48
+ }
49
+ ]
50
+ },
51
+ {
52
+ "role": "user",
53
+ "content": "20秒后提醒我吃饭"
54
+ },
55
+ {
56
+ "role": "assistant",
57
+ "content": [
58
+ {
59
+ "type": "text",
60
+ "text": "<think>用户再次要求20秒后提醒吃饭,和之前一样。我直接设置一个定时任务即可。</think>\n\n\n\n\n"
61
+ },
62
+ {
63
+ "type": "tool-call",
64
+ "toolCallId": "call_2d5549f652b44d03a86ebdda",
65
+ "toolName": "schedule_task",
66
+ "input": {
67
+ "name": "吃饭提醒",
68
+ "scheduleTime": "20 seconds",
69
+ "message": "该吃饭了!"
70
+ }
71
+ }
72
+ ]
73
+ },
74
+ {
75
+ "role": "tool",
76
+ "content": [
77
+ {
78
+ "type": "tool-result",
79
+ "toolCallId": "call_2d5549f652b44d03a86ebdda",
80
+ "toolName": "schedule_task",
81
+ "output": {
82
+ "type": "text",
83
+ "value": "{\"success\":true,\"taskId\":\"task_1775967006108_oeq8d2vpa\",\"name\":\"吃饭提醒\",\"scheduleTime\":\"20 seconds\",\"executeAt\":\"2026-04-12T04:10:26.108Z\",\"message\":\"提醒已设置\",\"sessionId\":\"default\",\"llm\":false,\"notify\":true}"
84
+ }
85
+ }
86
+ ]
87
+ },
88
+ {
89
+ "role": "assistant",
90
+ "content": [
91
+ {
92
+ "type": "text",
93
+ "text": "<think>任务已设置成功,20秒后会提醒用户吃饭。</think>\n\n\n\n已设置,20秒后提醒你吃饭。"
94
+ }
95
+ ]
96
+ },
97
+ {
98
+ "role": "user",
99
+ "content": "你好啊"
100
+ },
101
+ {
102
+ "role": "assistant",
103
+ "content": [
104
+ {
105
+ "type": "text",
106
+ "text": "<think>用户只是打了个招呼\"你好啊\",这是一个简单的问候,不需要调用任何工具,直接回复即可。</think>\n\n\n\n你好!有什么可以帮你的吗?"
107
+ }
108
+ ]
109
+ },
110
+ {
111
+ "role": "user",
112
+ "content": "20秒后提醒我哈哈哈😂"
113
+ },
114
+ {
115
+ "role": "assistant",
116
+ "content": [
117
+ {
118
+ "type": "text",
119
+ "text": "<think>用户想要20秒后提醒他\"哈哈哈\",这是一个简单的提醒任务,和之前设置吃饭提醒一样。</think>\n\n\n\n\n"
120
+ },
121
+ {
122
+ "type": "tool-call",
123
+ "toolCallId": "call_e3129868f2c94c6b9167e5c7",
124
+ "toolName": "schedule_task",
125
+ "input": {
126
+ "name": "提醒",
127
+ "scheduleTime": "20 seconds",
128
+ "message": "哈哈哈!"
129
+ }
130
+ }
131
+ ]
132
+ },
133
+ {
134
+ "role": "tool",
135
+ "content": [
136
+ {
137
+ "type": "tool-result",
138
+ "toolCallId": "call_e3129868f2c94c6b9167e5c7",
139
+ "toolName": "schedule_task",
140
+ "output": {
141
+ "type": "text",
142
+ "value": "{\"success\":true,\"taskId\":\"task_1775967084114_28lm89dyu\",\"name\":\"提醒\",\"scheduleTime\":\"20 seconds\",\"executeAt\":\"2026-04-12T04:11:44.114Z\",\"message\":\"提醒已设置\",\"sessionId\":\"default\",\"llm\":false,\"notify\":true}"
143
+ }
144
+ }
145
+ ]
146
+ },
147
+ {
148
+ "role": "assistant",
149
+ "content": [
150
+ {
151
+ "type": "text",
152
+ "text": "<think>好的,提醒已设置成功。</think>\n\n\n\n搞定,20秒后提醒你哈哈哈 😂"
153
+ }
154
+ ]
155
+ },
156
+ {
157
+ "role": "user",
158
+ "content": "20秒后提醒我哈哈哈😂,不通知"
159
+ },
160
+ {
161
+ "role": "assistant",
162
+ "content": [
163
+ {
164
+ "type": "text",
165
+ "text": "<think>用户想要设置一个20秒后的提醒,但不要通知(notify设为false)。</think>\n\n\n\n\n"
166
+ },
167
+ {
168
+ "type": "tool-call",
169
+ "toolCallId": "call_9e41d27eef474653988183b9",
170
+ "toolName": "schedule_task",
171
+ "input": {
172
+ "name": "提醒",
173
+ "scheduleTime": "20 seconds",
174
+ "message": "哈哈哈!",
175
+ "notify": false
176
+ }
177
+ }
178
+ ]
179
+ },
180
+ {
181
+ "role": "tool",
182
+ "content": [
183
+ {
184
+ "type": "tool-result",
185
+ "toolCallId": "call_9e41d27eef474653988183b9",
186
+ "toolName": "schedule_task",
187
+ "output": {
188
+ "type": "text",
189
+ "value": "{\"success\":true,\"taskId\":\"task_1775967163128_1cyzmqa51\",\"name\":\"提醒\",\"scheduleTime\":\"20 seconds\",\"executeAt\":\"2026-04-12T04:13:03.128Z\",\"message\":\"提醒已设置\",\"sessionId\":\"default\",\"llm\":false,\"notify\":false}"
190
+ }
191
+ }
192
+ ]
193
+ },
194
+ {
195
+ "role": "assistant",
196
+ "content": [
197
+ {
198
+ "type": "text",
199
+ "text": "<think>已设置好,20秒后会有提醒但不会发送系统通知。任务会在后台静默执行。</think>\n\n\n\n好,已设置20秒后提醒,不通知。"
200
+ }
201
+ ]
202
+ }
203
+ ],
204
+ "variables": {},
205
+ "metadata": {
206
+ "createdAt": 1775966956790,
207
+ "lastActive": 1775966956790,
208
+ "messageCount": 0,
209
+ "compressionCount": 0
210
+ }
211
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foliko",
3
- "version": "1.1.10",
3
+ "version": "1.1.11",
4
4
  "description": "简约的插件化 Agent 框架",
5
5
  "main": "src/index.js",
6
6
  "type": "commonjs",
@@ -263,10 +263,10 @@ class WeixinPlugin extends Plugin {
263
263
 
264
264
  // 监听定时提醒事件
265
265
  if (this._framework) {
266
- this._framework.on('scheduler:reminder', async (data) => {
267
- // log.info(' Received scheduler reminder:', data)
268
- await this._handleScheduledReminder(data)
269
- })
266
+ // this._framework.on('scheduler:reminder', async (data) => {
267
+ // // log.info(' Received scheduler reminder:', data)
268
+ // await this._handleScheduledReminder(data)
269
+ // })
270
270
 
271
271
  // 监听 webhook 事件
272
272
  this._framework.on('webhook:received', async (data) => {
@@ -685,7 +685,6 @@ class WeixinPlugin extends Plugin {
685
685
  */
686
686
  async _handleNotification(data) {
687
687
  const { title, message, source = '系统消息', level, sessionId } = data
688
-
689
688
  if (!this._bot) {
690
689
  log.warn(' Bot not ready, cannot send notification')
691
690
  return
@@ -1318,7 +1318,7 @@ ${truncatedContent}${truncatedNote}
1318
1318
  // 添加用户消息
1319
1319
  const userMessage = typeof message === 'string' ? { role: 'user', content: message } : message;
1320
1320
  messages.push(userMessage);
1321
-
1321
+ //await fs.writeFile('system.md',this._systemPrompt)
1322
1322
  // 检查上下文大小,必要时压缩
1323
1323
  const messagesTokens = this._countMessagesTokens(messages);
1324
1324
  const toolsTokens = this._countToolsTokens();