AstrBot 4.13.2__py3-none-any.whl → 4.14.1__py3-none-any.whl

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 (61) hide show
  1. astrbot/builtin_stars/astrbot/main.py +0 -6
  2. astrbot/builtin_stars/session_controller/main.py +1 -2
  3. astrbot/cli/__init__.py +1 -1
  4. astrbot/core/agent/agent.py +2 -1
  5. astrbot/core/agent/handoff.py +14 -1
  6. astrbot/core/agent/runners/tool_loop_agent_runner.py +14 -1
  7. astrbot/core/agent/tool.py +5 -0
  8. astrbot/core/astr_agent_run_util.py +21 -3
  9. astrbot/core/astr_agent_tool_exec.py +178 -3
  10. astrbot/core/astr_main_agent.py +980 -0
  11. astrbot/core/astr_main_agent_resources.py +453 -0
  12. astrbot/core/computer/computer_client.py +10 -1
  13. astrbot/core/computer/tools/fs.py +22 -14
  14. astrbot/core/config/default.py +84 -58
  15. astrbot/core/core_lifecycle.py +43 -1
  16. astrbot/core/cron/__init__.py +3 -0
  17. astrbot/core/cron/events.py +67 -0
  18. astrbot/core/cron/manager.py +376 -0
  19. astrbot/core/db/__init__.py +60 -0
  20. astrbot/core/db/po.py +31 -0
  21. astrbot/core/db/sqlite.py +120 -0
  22. astrbot/core/event_bus.py +0 -1
  23. astrbot/core/message/message_event_result.py +21 -3
  24. astrbot/core/pipeline/process_stage/method/agent_sub_stages/internal.py +111 -580
  25. astrbot/core/pipeline/scheduler.py +0 -2
  26. astrbot/core/platform/astr_message_event.py +5 -5
  27. astrbot/core/platform/platform.py +9 -0
  28. astrbot/core/platform/platform_metadata.py +2 -0
  29. astrbot/core/platform/sources/dingtalk/dingtalk_adapter.py +1 -0
  30. astrbot/core/platform/sources/qqofficial/qqofficial_platform_adapter.py +1 -0
  31. astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_adapter.py +1 -0
  32. astrbot/core/platform/sources/webchat/webchat_adapter.py +1 -0
  33. astrbot/core/platform/sources/wecom/wecom_adapter.py +1 -0
  34. astrbot/core/platform/sources/wecom_ai_bot/wecomai_adapter.py +1 -0
  35. astrbot/core/platform/sources/weixin_official_account/weixin_offacc_adapter.py +1 -0
  36. astrbot/core/provider/entities.py +1 -1
  37. astrbot/core/skills/skill_manager.py +9 -8
  38. astrbot/core/star/context.py +8 -0
  39. astrbot/core/star/filter/custom_filter.py +3 -3
  40. astrbot/core/star/register/star_handler.py +1 -1
  41. astrbot/core/subagent_orchestrator.py +96 -0
  42. astrbot/core/tools/cron_tools.py +174 -0
  43. astrbot/core/utils/history_saver.py +31 -0
  44. astrbot/core/utils/trace.py +4 -0
  45. astrbot/dashboard/routes/__init__.py +4 -0
  46. astrbot/dashboard/routes/cron.py +174 -0
  47. astrbot/dashboard/routes/log.py +36 -0
  48. astrbot/dashboard/routes/plugin.py +11 -0
  49. astrbot/dashboard/routes/skills.py +12 -37
  50. astrbot/dashboard/routes/subagent.py +117 -0
  51. astrbot/dashboard/routes/tools.py +41 -14
  52. astrbot/dashboard/server.py +3 -0
  53. {astrbot-4.13.2.dist-info → astrbot-4.14.1.dist-info}/METADATA +21 -2
  54. {astrbot-4.13.2.dist-info → astrbot-4.14.1.dist-info}/RECORD +57 -51
  55. astrbot/builtin_stars/astrbot/process_llm_request.py +0 -308
  56. astrbot/builtin_stars/reminder/main.py +0 -266
  57. astrbot/builtin_stars/reminder/metadata.yaml +0 -4
  58. astrbot/core/pipeline/process_stage/utils.py +0 -219
  59. {astrbot-4.13.2.dist-info → astrbot-4.14.1.dist-info}/WHEEL +0 -0
  60. {astrbot-4.13.2.dist-info → astrbot-4.14.1.dist-info}/entry_points.txt +0 -0
  61. {astrbot-4.13.2.dist-info → astrbot-4.14.1.dist-info}/licenses/LICENSE +0 -0
@@ -9,9 +9,8 @@ astrbot/api/provider/__init__.py,sha256=mJVcon0snjn_xYirk2hntwba6ymIYYC-ZKKmxvx-
9
9
  astrbot/api/star/__init__.py,sha256=OxgHGtWn3lEQGjb4twbpbWnRepUevPu7gxtDAkAsfhQ,250
10
10
  astrbot/api/util/__init__.py,sha256=L1O_mFEUDk8V4lEPsT5iiNbIiOVh7HbrNmitqzUWMZg,180
11
11
  astrbot/builtin_stars/astrbot/long_term_memory.py,sha256=Gra7dqiqXLBH_u4M6TZmu49lxiolotbDNTwbh2aVTiA,7676
12
- astrbot/builtin_stars/astrbot/main.py,sha256=KmiWqfQ1E7VR0Grf4jnO8d5_8tJJINbmFceAQ0FPeMU,4864
12
+ astrbot/builtin_stars/astrbot/main.py,sha256=cAXasaj62RRJdh02gRRpkjlpF9GDcfbv5AIfM2qQhAY,4608
13
13
  astrbot/builtin_stars/astrbot/metadata.yaml,sha256=GCPK0piMKr4C6Bb0kaBJYhiqPDoMEAYJJp2MV5pXs4k,197
14
- astrbot/builtin_stars/astrbot/process_llm_request.py,sha256=AMGlUWfyJM4c0Ed2F7vZCdFG_RmBmT0mThLxXUcpONQ,12479
15
14
  astrbot/builtin_stars/builtin_commands/main.py,sha256=T8bNer22YgFkKZbLn9Zl-5Y1SIbKpQe_HvDJpUiyte4,7613
16
15
  astrbot/builtin_stars/builtin_commands/metadata.yaml,sha256=x0URUKI3S14RRXQ-ewgJy4dYXMKxZcEo2pSKeApGleg,152
17
16
  astrbot/builtin_stars/builtin_commands/commands/__init__.py,sha256=jHIh8Dg5EX5FcyWCEey-z84-iPVSBEamIYwhR75c4Rk,705
@@ -28,16 +27,14 @@ astrbot/builtin_stars/builtin_commands/commands/sid.py,sha256=mQIk2f6zFjO7ukZf-6
28
27
  astrbot/builtin_stars/builtin_commands/commands/t2i.py,sha256=cfE8Z75EQEFvpxA2k1hLNWHQk5OUAHQMMn9_m5mMB2k,775
29
28
  astrbot/builtin_stars/builtin_commands/commands/tts.py,sha256=k6GJEEV6YkCAhIEosv85w65_R7NSAu4TfJ3ViCMHc0c,1304
30
29
  astrbot/builtin_stars/builtin_commands/commands/utils/rst_scene.py,sha256=dOL-hjTceG-vrxatB9Cv3xLDFfRlTO_ifWb9Pc7Za7k,781
31
- astrbot/builtin_stars/reminder/main.py,sha256=hiOS-gQ8Ky_AF7ghdj0yReokt6YWV76707V3ILYoT_A,10584
32
- astrbot/builtin_stars/reminder/metadata.yaml,sha256=LQ5czq7iDtTVPmxktLRvAjsIVKE1WqXRxG-CNWFJl_Y,83
33
- astrbot/builtin_stars/session_controller/main.py,sha256=a4rvB65Z-Nzf7Wmhq69Ki6xRBeuWOLkE1IGiI8f-kpE,5406
30
+ astrbot/builtin_stars/session_controller/main.py,sha256=cKu3zqyo75BTVdrCwvhd9cd5ViVrF2mqM9NUVTe7URk,5342
34
31
  astrbot/builtin_stars/session_controller/metadata.yaml,sha256=JyV3_l1BjPdklELpe2L6V5C03i_oymXaQnnf3y_gFgc,126
35
32
  astrbot/builtin_stars/web_searcher/main.py,sha256=B5eaSinpWbsZP5URZQkCxPw1IwZJRi_1BCINHl_RViQ,17820
36
33
  astrbot/builtin_stars/web_searcher/metadata.yaml,sha256=aHAKtP8UZJaddzIN2eFfglTOIAnLyJ9-wyM00Io6P7E,99
37
34
  astrbot/builtin_stars/web_searcher/engines/__init__.py,sha256=Gcp7k6m3w2Pb-hNCe3QIiYa9smQFcEzmb7jcfg2evuw,4300
38
35
  astrbot/builtin_stars/web_searcher/engines/bing.py,sha256=pn3DPR-5SO2D_RtBIU3l9Ph7PTUB-FCZAMCYuk6kd6Q,1035
39
36
  astrbot/builtin_stars/web_searcher/engines/sogo.py,sha256=YA7pA5-335r7UgKpyUPAeGGZQbYEwDBO8bm08Ro8Xg0,1701
40
- astrbot/cli/__init__.py,sha256=idpNMtxDYUTjhrcN9xIi-wIuzZpWEdWrn5pYd6O3qvE,23
37
+ astrbot/cli/__init__.py,sha256=9Wn8BwD7EU7A8hupiqYQO3QNgiGcpbdgKgkCwHlUb-o,23
41
38
  astrbot/cli/__main__.py,sha256=QobgMyFoLNTgI_OYddhGOZ9ZvQeBVjjz79mA2cC2OEU,1758
42
39
  astrbot/cli/commands/__init__.py,sha256=eAgppZQIqFO1ylQJFABeYrzQ0oZqPWjtE80aKIPB3ks,149
43
40
  astrbot/cli/commands/cmd_conf.py,sha256=6-YLicBt_zjWTzaVLUJ1VQLQPbDEPYACB9IVnN8Zvng,6330
@@ -51,29 +48,32 @@ astrbot/cli/utils/version_comparator.py,sha256=NVUmshfb5LU4a-S453rI7opqo0QtIHvlT
51
48
  astrbot/core/__init__.py,sha256=ckFl_Qb7fYkYBpqB6DmWmw521_6yyub5w4N116hFEUc,1322
52
49
  astrbot/core/astr_agent_context.py,sha256=bJnAm_CGzkhMnC99GA_j0Xwmi-OYoBPmgGanuS36DF4,637
53
50
  astrbot/core/astr_agent_hooks.py,sha256=FTCQqhl-N8b163nxoPeoyfqhSGCG0bcAmnF1dAHMOm8,3020
54
- astrbot/core/astr_agent_run_util.py,sha256=kPlWu2nLXfJzZddbtuoca0iZph9VRTJgdC9cLQf5UCQ,13592
55
- astrbot/core/astr_agent_tool_exec.py,sha256=VPCJqVK4Teyrg8UgvUywtwKfLbJ29dZ0bj-NTNYzdmQ,10256
51
+ astrbot/core/astr_agent_run_util.py,sha256=MjCyU8UMGg1GIg5iGQ8qbqTm3iacpOA4Mwbyzhlj4yU,14236
52
+ astrbot/core/astr_agent_tool_exec.py,sha256=gAl-HZLV4O3eoboiQx-AkeIUGEqF-JbxY3bBXbQ44cI,16614
53
+ astrbot/core/astr_main_agent.py,sha256=bGXhNejHv9TDhSUARUIOoE-hsryly94xNyyE_0LdVCg,35357
54
+ astrbot/core/astr_main_agent_resources.py,sha256=jTrJbFMJn2fgv7B6Sw6JZhn6xIFwr2VZMmXQrJWhBRE,20097
56
55
  astrbot/core/astrbot_config_mgr.py,sha256=SUvusfo8Qk89eNpEmduWcXuczJ9g5TBH-VOV69ax28g,8950
57
56
  astrbot/core/conversation_mgr.py,sha256=iELU-454tCOFRVs0DwJLZvx59mUSD55TYLlCVTEccyQ,15968
58
- astrbot/core/core_lifecycle.py,sha256=vRCtvRoh2yRcwVVnQVzpD7Ld9cFTEhaErgLaJUt7qOg,13018
59
- astrbot/core/event_bus.py,sha256=hKF_fWEvIWB4RukqqTW6xda2ZbUzdaPFrOsUXUjiy8A,2797
57
+ astrbot/core/core_lifecycle.py,sha256=o1cNPnX3o62_UnvSwfRLNCW7XkJug60AvBye2epnP7U,14720
58
+ astrbot/core/event_bus.py,sha256=5Lg5L0UcwcJeL9NuX7DiTSRR7fr2IoaSbR6ECDKD4K8,2729
60
59
  astrbot/core/exceptions.py,sha256=GVCUgAjpvUHLL59MkJalFrSp_HbtliChu7XII_Px2WM,219
61
60
  astrbot/core/file_token_service.py,sha256=8X0Qyo-NPGhtxy6IcRsJg7Z2tx_ULPf_7OKvw-KBk6o,3317
62
61
  astrbot/core/initial_loader.py,sha256=q798G8wEti7-p3UC0y1GB3MOK-kO6z1Nt826iO5nJVA,1802
63
62
  astrbot/core/log.py,sha256=b6xnedhtAAHSNza3KxytOv0T0o2uhPxNDBW2wtc9xOo,15570
64
63
  astrbot/core/persona_mgr.py,sha256=whlJNS5FiFGZ8CwLBoJGVcWr3ZuLeZx3h6OB4YI17e0,12883
65
64
  astrbot/core/platform_message_history_mgr.py,sha256=0frxrq6Bt18OXbt24uRnQl039wpi2gK5L9ONLtBuMsM,1580
65
+ astrbot/core/subagent_orchestrator.py,sha256=iiUuh97gCzHzanOIfW-fytBMx51kweP_0BkNPS4IpBA,3587
66
66
  astrbot/core/umop_config_router.py,sha256=K1Ya1Ke5iTZgrxgRp7VEiREAI2BcSGYeM3Os_05dUkE,3733
67
67
  astrbot/core/updator.py,sha256=-F9elTgp4UwCdGEPwUwA0SAMQpouvAruktH4uh6nTwY,4666
68
68
  astrbot/core/zip_updator.py,sha256=xBCtHl7XnlMksnS79e8j-FonfB3Lvs95rTmwoo1Z1T0,8824
69
- astrbot/core/agent/agent.py,sha256=wquvKo18JcsJM56dwKyFFAoGhc5qLyQaeqdZ-LlZsWQ,366
70
- astrbot/core/agent/handoff.py,sha256=AxO0yx4Uscy0CO-3Q3fvDOfpfr3gUscLRplH7gH7-Lc,1194
69
+ astrbot/core/agent/agent.py,sha256=ToG66Sb1NRq3pYYZtME6Pf6AyGc6LmbwdEFVbCb4oRk,414
70
+ astrbot/core/agent/handoff.py,sha256=e4UDSEV4bP3-49e4rIGP9SE8pi1O5byW5Ir0nl_3xy0,1914
71
71
  astrbot/core/agent/hooks.py,sha256=ooe9uUz7czlVt2W7jTDwkRbI-qDrOOXWjCaXtiAkrvE,830
72
72
  astrbot/core/agent/mcp_client.py,sha256=u52GPgpeZ1DCCVbI6x4kOGyodD_kweB8H1OgaVg-BZs,14085
73
73
  astrbot/core/agent/message.py,sha256=ufmUrXjboQHi6j7PGttSR5pk-degwjR1kgV3q0slauw,6901
74
74
  astrbot/core/agent/response.py,sha256=g1aw5zE3Y_PsU7z1SVrNTJRlGnqdyuqG5-49LewsL2E,859
75
75
  astrbot/core/agent/run_context.py,sha256=PJYgGlq_m6eBo1ftHE0M37UzOwTcXJNeKgKri1NC2Hk,677
76
- astrbot/core/agent/tool.py,sha256=5MmvtvY4pDQVriuwIzwGSyene-qeFY0gy7ynqf3U9s8,11019
76
+ astrbot/core/agent/tool.py,sha256=L7rrNV2Z7EGH_pZJc9dqf1Ne-pFEenY7cvCr7asPt4A,11225
77
77
  astrbot/core/agent/tool_executor.py,sha256=8GGgVB_JaKGVLQUG1epeL-lvKMqgfQ7mJaOPnVytnXo,438
78
78
  astrbot/core/agent/context/compressor.py,sha256=YzMv7CLOIz96d2ZgT4Z-K4kx-mh82Es3VQwE_lkM4Jc,8319
79
79
  astrbot/core/agent/context/config.py,sha256=Dtta1VYxo0alm9Zd7I2w1Aa7ZX5Nn-bu_Wu6zuPPSOU,1424
@@ -82,7 +82,7 @@ astrbot/core/agent/context/token_counter.py,sha256=LuGNzcqE5_25VTg8qNXhI1DR-M58I
82
82
  astrbot/core/agent/context/truncator.py,sha256=KSmdVj0XsdTZRpx5LzleVg_D_G1lSe0CGpk7ie5Q1vI,4578
83
83
  astrbot/core/agent/runners/__init__.py,sha256=KwR34OKGVSQpJ_MaGVP_MX5L1SZ4oU-lv4GuMbSF5Ys,65
84
84
  astrbot/core/agent/runners/base.py,sha256=OHMt15x1C3O_F3EJI2Nb_3hwggGUkJHuPWWCa1kHX9o,1885
85
- astrbot/core/agent/runners/tool_loop_agent_runner.py,sha256=WiiEQReoSgL5-58xDF0mvyR8HR2FZHsaf7L9kjAL3fE,26737
85
+ astrbot/core/agent/runners/tool_loop_agent_runner.py,sha256=RRrs_tRK_K0eywWX_7yxk11ldQy6qvNDdXIuE8OVYSo,27351
86
86
  astrbot/core/agent/runners/coze/coze_agent_runner.py,sha256=bc2GImNsBTyXuotl_ohKYiNqws5Dkcms_xmIoUtDJMM,13846
87
87
  astrbot/core/agent/runners/coze/coze_api_client.py,sha256=0k8pQsFsbjKdF-jkY91qZWsC8YSaSmwC98TMTK-zqw0,10853
88
88
  astrbot/core/agent/runners/dashscope/dashscope_agent_runner.py,sha256=xr3otT0o6kHEy_sWjUv4xh-KmES3fjlowIPrtcKYiVI,13339
@@ -92,7 +92,7 @@ astrbot/core/backup/__init__.py,sha256=8uBY2FPYWfIsVZcAgfMWh5-Kwkd50HtyiM0gCETuD
92
92
  astrbot/core/backup/constants.py,sha256=_e-SjZ-uvithscUqnqvPVtIPWN3PBPkSu4yHHKM7pHM,2251
93
93
  astrbot/core/backup/exporter.py,sha256=tULFmXhYqRhJtAwePFkxXMSKqct1MSMyISv9LrfKwVU,19058
94
94
  astrbot/core/backup/importer.py,sha256=efGW5-5ZAfvN1mg4rcc5OrcFTLfyj7L9T0Yd7SBUlNo,28618
95
- astrbot/core/computer/computer_client.py,sha256=uy7l26qzOg_YM71jPdxcLrY6P6A37hndhP8LnG0HItQ,3432
95
+ astrbot/core/computer/computer_client.py,sha256=6WCCkowoglM1VY-rWQmZMGI5LxZWXycU-PjWxcC-63c,4115
96
96
  astrbot/core/computer/booters/base.py,sha256=NgkkvkrTB4iaoIOck86FCtWNPwPhSo4-AuMB3GPKJGY,819
97
97
  astrbot/core/computer/booters/boxlite.py,sha256=U1TsVqzm3qvbcQhB4Q1k7XBlmoiVam9iY0cpeazL7eQ,6495
98
98
  astrbot/core/computer/booters/local.py,sha256=ILZfH7nH0MdHr0qAT0xsvuYDrf7Zs598__q5nmdIEO8,7358
@@ -102,16 +102,19 @@ astrbot/core/computer/olayer/filesystem.py,sha256=e5vgzxZJlqxJctS2EAkHONGvESYbq5
102
102
  astrbot/core/computer/olayer/python.py,sha256=ksv0qdOgUFMWyb9iYSI3pLLSiBznojjerQv7y6En7co,368
103
103
  astrbot/core/computer/olayer/shell.py,sha256=8vaNRpX_EjU0gXVT3rii1JFsYAyqTLlCr4fs7nZ-kQ0,430
104
104
  astrbot/core/computer/tools/__init__.py,sha256=iFsuCjjyNIlkmxOXOSarXW70fGbXNc9ptT8QmzS6Jq4,259
105
- astrbot/core/computer/tools/fs.py,sha256=OmSaKHpbhLVw-9Nj3ug8ZOBSBlghGfhg_qajK1_5X1o,6871
105
+ astrbot/core/computer/tools/fs.py,sha256=IWMQVGcvoSEySGVa-PYRcZImbeHFup3xTRVJbzwpAVI,7349
106
106
  astrbot/core/computer/tools/python.py,sha256=E6-eRarOjE6AhYioOj5gZhfn10S3fC8uHjO3u0ThO5M,3031
107
107
  astrbot/core/computer/tools/shell.py,sha256=b2RWis65YJtUZHhmsLZI1L1LRvnfMlsZcXL4KPbqq_s,2211
108
108
  astrbot/core/config/__init__.py,sha256=vZjtpC7vr-IvBgSUtbS04C0wpulmCG5tPmcEP1WYE_4,172
109
109
  astrbot/core/config/astrbot_config.py,sha256=5r2VhCNO4VuGCqct12g10-TcvAKyXV40-suk5vRMGns,6436
110
- astrbot/core/config/default.py,sha256=pd0QGJWF6tUi7toj0tG7ghrCCpXB0qYJAQ95aDx5Vyo,162833
110
+ astrbot/core/config/default.py,sha256=2baPozggK-OD4OS6cRKhmCJHmj4qcklpvo0wlwNWumM,164252
111
111
  astrbot/core/config/i18n_utils.py,sha256=HJn_0XeeVS9ryCBelYfnc0nEn10LlX702fcSSFrF1J8,3879
112
- astrbot/core/db/__init__.py,sha256=ldEFdHkuQn_WpSNEC9X6knfthF2lD5YYLLZD4phwtdg,18515
113
- astrbot/core/db/po.py,sha256=qGS8X2oXc1BWQCXHxqroBr9PhYCtXS6Of4Msm7NvMpI,13786
114
- astrbot/core/db/sqlite.py,sha256=ry_FhBHXDXMrfBb9Yq1qHAc-8rJEj0UP8l6pwRx1USA,58647
112
+ astrbot/core/cron/__init__.py,sha256=QJXfH2H9YSTAb9t5cZOxjwx9GasTF-TBIs6OksH4oKg,66
113
+ astrbot/core/cron/events.py,sha256=5QnRacoqTJ_FIF_7rupLZVIhjzjt5_aK61hcSVYPnJI,2265
114
+ astrbot/core/cron/manager.py,sha256=5saaINvtYqgSJC-Itv9BqIWLK0jMQJYxjnilXfmaHVQ,13426
115
+ astrbot/core/db/__init__.py,sha256=yaZDWNW65IDGc1N3806A7JBuKae7wA_iOQXSs-b1gUM,20259
116
+ astrbot/core/db/po.py,sha256=M4fk8pKiLnItqo_ZbOt5xzWHiMfAAsYnxI9EFkZ3BYI,14981
117
+ astrbot/core/db/sqlite.py,sha256=CIJqS5V_5MIzRbOB37I6vdkLcUsRUQNQkf0xr413GOY,63246
115
118
  astrbot/core/db/migration/helper.py,sha256=Kogq0FLJdvWTDuAVWLT1PlTGGJcWkDMWO37KM-G8lTk,2087
116
119
  astrbot/core/db/migration/migra_3_to_4.py,sha256=AZkywKcS2aKo81k04uD2qxHsPqKWRfVz9smEnHDxWqE,15343
117
120
  astrbot/core/db/migration/migra_45_to_46.py,sha256=wQk8NUiCNgmpSczO9U-OW6mMRHPWtJDlKuTCOGF8-WY,1560
@@ -147,11 +150,11 @@ astrbot/core/knowledge_base/retrieval/manager.py,sha256=1kjjcBco_TdfZ1g6mEp7lb9A
147
150
  astrbot/core/knowledge_base/retrieval/rank_fusion.py,sha256=OeE4dSAsmyCt_ssAnMf7CQ4tQHlBFxjePgXVf_YwHmY,4441
148
151
  astrbot/core/knowledge_base/retrieval/sparse_retriever.py,sha256=sOCZ9I636j3P5WGxjKXVu7Amp-2DB9jQVQn96Ff7asI,3815
149
152
  astrbot/core/message/components.py,sha256=eW0GQqdYFOzTBSeLl42zQB7QOdm97CWWhRar4uWz5GE,25895
150
- astrbot/core/message/message_event_result.py,sha256=1jC6NLeO7lzcTCi2NO28057sWpTsDabICkmGsiggyhk,7204
153
+ astrbot/core/message/message_event_result.py,sha256=OhBatIEBP-FMes5DUo0YBgwaUBk8vTzCSin8uuzhKh4,7815
151
154
  astrbot/core/pipeline/__init__.py,sha256=nEepE3tnYYo0EYnzdLLyrp_k7XYg0LpQ3W6QuEeGL6k,1461
152
155
  astrbot/core/pipeline/context.py,sha256=jfEyX9i34XM7uqeqqK6rKRDgBXfsV9UHgRpf9Wj_hnI,505
153
156
  astrbot/core/pipeline/context_utils.py,sha256=Fvx_f7zi0VhgKCM3jBPhvB3V74oBc7m_KQdAeCKqvPo,3661
154
- astrbot/core/pipeline/scheduler.py,sha256=iE9bsrv9ux4nSS-zexrKmm3djZaqcaSruMV86Pe19-Q,3538
157
+ astrbot/core/pipeline/scheduler.py,sha256=2iMvyblMwxxPxWO1Aj0_RPqm5Dqm9kTvsr3a97REedo,3497
155
158
  astrbot/core/pipeline/stage.py,sha256=hpzghbberezaBJtb2cwhY8x0xi6lZrgWfD2BYv-te1g,1350
156
159
  astrbot/core/pipeline/content_safety_check/stage.py,sha256=wzHadhasKyYswVXfRJ_8My6S3mo_0Xjm6DF95TxD57g,1389
157
160
  astrbot/core/pipeline/content_safety_check/strategies/__init__.py,sha256=47gYlyvW-Dr401fO0dMAAAmMXnSkTI63MnYak3GGvNw,164
@@ -160,10 +163,9 @@ astrbot/core/pipeline/content_safety_check/strategies/keywords.py,sha256=N3bR19D
160
163
  astrbot/core/pipeline/content_safety_check/strategies/strategy.py,sha256=XM2c-6apssEtAllMAI6BUXaEN_t2XINHcCoAudeKNwc,1206
161
164
  astrbot/core/pipeline/preprocess_stage/stage.py,sha256=swnXm88qWvXPzYi75RpR-phef__NNyY7664fQKEl86U,4201
162
165
  astrbot/core/pipeline/process_stage/stage.py,sha256=tOg6HYGVU1GoY921YBYVO1MTM7a55M0N8uB9tOoTomg,2406
163
- astrbot/core/pipeline/process_stage/utils.py,sha256=aOAB6A-drxvoO3XYnncCbteW_DqCelR7cnSDqeb7MRM,9379
164
166
  astrbot/core/pipeline/process_stage/method/agent_request.py,sha256=vHC2Z73Fe96iW4j6ZbNvWQkfXD49pVWy6XKoG-20CS8,2049
165
167
  astrbot/core/pipeline/process_stage/method/star_request.py,sha256=C-PTq_Wpq4QMS2ecfRDCcDSX3rYyldfsAN-jAaEEb-w,2430
166
- astrbot/core/pipeline/process_stage/method/agent_sub_stages/internal.py,sha256=5YJZ6xbVxz9Mc2mg16cVcIN26F4NjDswxsmg9hrsNms,34682
168
+ astrbot/core/pipeline/process_stage/method/agent_sub_stages/internal.py,sha256=UEeZb3S9eb91LzPCSYKNegENfu_A49Z5zdQwfcPsObg,15214
167
169
  astrbot/core/pipeline/process_stage/method/agent_sub_stages/third_party.py,sha256=LNBRItSpZn0MLP4fyHQ_3gUJ8lnmCwuPlqnZDVFLI6Q,7332
168
170
  astrbot/core/pipeline/rate_limit_check/stage.py,sha256=9EVJ0zYtxATFsj7ADyWDYcSGBRqmrMiKWp1kkD9LONI,3962
169
171
  astrbot/core/pipeline/respond/stage.py,sha256=RIYGXTG-XvBhgRqaHyJYWlsZjskS9pgV-2jm5o956ho,11042
@@ -172,17 +174,17 @@ astrbot/core/pipeline/session_status_check/stage.py,sha256=448eWo72O-JZCXMGBLznJ
172
174
  astrbot/core/pipeline/waking_check/stage.py,sha256=eDxbk_nWEhiwrARJ8DFoH8qf1mi_OdeOutWq3xLA41c,9787
173
175
  astrbot/core/pipeline/whitelist_check/stage.py,sha256=x6o4oswIvVtHFRbuKuLFoyFEgx-gSo3IMGYvopu8d9A,2411
174
176
  astrbot/core/platform/__init__.py,sha256=5Hhb2mIb8mS2RWfxILIMuV03XiyfqEbn4pAjvi8ntl0,361
175
- astrbot/core/platform/astr_message_event.py,sha256=s_ZmELWxvadFIl_Y3mfSV9kpvuE16Wu6sFJk4s6ULi4,16098
177
+ astrbot/core/platform/astr_message_event.py,sha256=4C0OayaWMSspjMSOJE-q-4tv6Gx73Wgq3ioVa0_Ah88,16142
176
178
  astrbot/core/platform/astrbot_message.py,sha256=kdoiyZoCaH3iVua4pvKw7HHlfVpVB4bI36UeqYX1o38,2670
177
179
  astrbot/core/platform/manager.py,sha256=iz6mnYE6DAIZ_b_bkqWfTNYCffRKJVHqsbxuugM3pTU,11549
178
180
  astrbot/core/platform/message_session.py,sha256=Fg0MWI4i6IB2jsD39a7fAduFtNcVdFIi40HAHeR9brk,1092
179
181
  astrbot/core/platform/message_type.py,sha256=uGn5KN8B_7b9F5nFTpvLAXRlXx2VFHP3JmJjN8cC7fg,261
180
- astrbot/core/platform/platform.py,sha256=U2jq248bfPaAcIa8PUO5aiPyAOGIN1lz6LVnqQOPFik,5114
181
- astrbot/core/platform/platform_metadata.py,sha256=PCqNk-H-V7BtiQXbbyHd84s43BBIZNhUQ9X-SVKP3uM,693
182
+ astrbot/core/platform/platform.py,sha256=ZGkQM5dicIHiszXuzeF9hjeWcIDLI8lKAAYjva52u-g,5494
183
+ astrbot/core/platform/platform_metadata.py,sha256=d2ilQ5gva70dtKJSBCih85cMWAAzsmeeml84pIz8J_4,804
182
184
  astrbot/core/platform/register.py,sha256=ptIPhVvbzODuWwXr8J0jJSzSPfv3rr7F67gXqvIpvvk,1985
183
185
  astrbot/core/platform/sources/aiocqhttp/aiocqhttp_message_event.py,sha256=rlCB8f9Wmysq7C3vcbSgXKbY5jSW5SjhNn2GrZ34cFs,8144
184
186
  astrbot/core/platform/sources/aiocqhttp/aiocqhttp_platform_adapter.py,sha256=J9Nrv2VNxP12Ybg9LRZbvEnbw9JxZtCME8QxTj6XdbE,18612
185
- astrbot/core/platform/sources/dingtalk/dingtalk_adapter.py,sha256=36oOlr6AcqcqlebcRdSNhllPXb9QyZcKdJI3go5Mw6c,11463
187
+ astrbot/core/platform/sources/dingtalk/dingtalk_adapter.py,sha256=zNjzHWUzqnD0iKoFmy1zsUNjuUO7Y9eKSKyir3jgb5s,11508
186
188
  astrbot/core/platform/sources/dingtalk/dingtalk_event.py,sha256=k6tIeP_2UEjGyg4sV4woEwkpWBWP0BOqyqvtDZf6Hnc,5479
187
189
  astrbot/core/platform/sources/discord/client.py,sha256=YGrUSopQKDRFfzjCdcBQm-EcNWonBwAgXzW678G0e_c,5181
188
190
  astrbot/core/platform/sources/discord/components.py,sha256=qKcGssKA3vBLHpad0g96KMD722Ng5jYKgpQBGQFOPX8,3971
@@ -196,8 +198,8 @@ astrbot/core/platform/sources/misskey/misskey_api.py,sha256=YlE1zxHs0dPWJVuVsWR0
196
198
  astrbot/core/platform/sources/misskey/misskey_event.py,sha256=2PYSU9arxzbS71jz5D__3maFFNKqxYZiGmXtLuC_aAc,6550
197
199
  astrbot/core/platform/sources/misskey/misskey_utils.py,sha256=_B1Sr8ajI1ljWBoxhwzOVMNt_pFoVNfhIsOVokKI18g,17741
198
200
  astrbot/core/platform/sources/qqofficial/qqofficial_message_event.py,sha256=VB_zIxXchKCURl8JfIiTzYMGQ62I0sE7HHhTf5oFFks,13682
199
- astrbot/core/platform/sources/qqofficial/qqofficial_platform_adapter.py,sha256=p8ifAmXtvs7BBqRukqnkkPQ62niwGTjUIP50YUrQa7E,7388
200
- astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_adapter.py,sha256=AoELYkwpEUDhe10Yq1ltjpnL2kCIGsgjy3Ok90abWl0,5574
201
+ astrbot/core/platform/sources/qqofficial/qqofficial_platform_adapter.py,sha256=6ljsuNqobnsJyGLjmUl9CJQtNbg-6AqVc9uMIutXWJQ,7433
202
+ astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_adapter.py,sha256=HaRHWQot2HiGkC_cBWVnAtRPbqDYgO3vAlGiayMWmIw,5619
201
203
  astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_event.py,sha256=vqifw9itvrcr7sV9cL0T19qLZ7I9CWORi4oUBgZrOqc,501
202
204
  astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_server.py,sha256=oV5l58IcE732c3Y7lBfJpro52dahC5scPP_SNqEMmg4,4219
203
205
  astrbot/core/platform/sources/satori/satori_adapter.py,sha256=2utJY9CACAZo70_R91H3ZZrDNgTb-Tf9dQrvQUVhhMs,28142
@@ -207,27 +209,27 @@ astrbot/core/platform/sources/slack/slack_adapter.py,sha256=4hzYi3SiA97LWCjTZmqf
207
209
  astrbot/core/platform/sources/slack/slack_event.py,sha256=Vb4IHuTsRi22PxxjUZ6TKfDg0DpiYBMxAeV8mhMPBTE,8984
208
210
  astrbot/core/platform/sources/telegram/tg_adapter.py,sha256=8JeTRh1il9dLR1vOgKM84iwNUxS8GxQ7XGrFuZVkXFk,16169
209
211
  astrbot/core/platform/sources/telegram/tg_event.py,sha256=urZ7qMLXcygx1TQxVC04bVS1Z1_1Yls-5qJqOFHrROA,11782
210
- astrbot/core/platform/sources/webchat/webchat_adapter.py,sha256=4uM-JhbGWMXAUYLgq2HnpX39sO7tv6j5K4ihrKFHbxM,9008
212
+ astrbot/core/platform/sources/webchat/webchat_adapter.py,sha256=bYO4EL2tEGyLH86JgVtZQBmUEoNtvcElc9QQ8wHGywg,9053
211
213
  astrbot/core/platform/sources/webchat/webchat_event.py,sha256=-X-j9r9-kwr2NjFBUa5Qmo0Po-_Oo8jrVjtk5V8lXP8,7033
212
214
  astrbot/core/platform/sources/webchat/webchat_queue_mgr.py,sha256=2P0hQRNn7tMs9O6MLQ1GkJSSKz7R5Q8k_0JxEltSKLM,1364
213
- astrbot/core/platform/sources/wecom/wecom_adapter.py,sha256=n0SlqDKoJuH0sPu0rXcvPzXD346l7Vw8lix8mAuPUVI,15608
215
+ astrbot/core/platform/sources/wecom/wecom_adapter.py,sha256=dswfWZ8n1oJ9Kk8BRvVwetj9b2czqjficyHG5PTuIv8,15653
214
216
  astrbot/core/platform/sources/wecom/wecom_event.py,sha256=sCIM1fAfMrEIVeUZzx3sfu77412dcxbgOUt5rI3LEvk,9145
215
217
  astrbot/core/platform/sources/wecom/wecom_kf.py,sha256=eenwV2hmH0j70OfYFsnAw9vukwHYmfF-YTzCym-6JE0,10820
216
218
  astrbot/core/platform/sources/wecom/wecom_kf_message.py,sha256=__9zR3FCgggRDDwaEUsgfUgvhCtkUE5Uoi4jAuJrVUo,5934
217
219
  astrbot/core/platform/sources/wecom_ai_bot/WXBizJsonMsgCrypt.py,sha256=j6dV8PbpXzB0FNAU6JB4dB_T-aIjiKED4Ig0nBQjmCc,11406
218
220
  astrbot/core/platform/sources/wecom_ai_bot/__init__.py,sha256=WOYATxFKjq7ZIU0pf3M7MZVvW3ovxdAvXvB9PPJiSkc,435
219
221
  astrbot/core/platform/sources/wecom_ai_bot/ierror.py,sha256=6F08cRDiy3mbBLuTHgxkKIkgpXTQsNe4vnB4T1WvZe0,792
220
- astrbot/core/platform/sources/wecom_ai_bot/wecomai_adapter.py,sha256=T_1JPEUUO_XRxJiCio2BUByVYpKFAgKy5v6CKx75h_M,18394
222
+ astrbot/core/platform/sources/wecom_ai_bot/wecomai_adapter.py,sha256=Wi8rSunBv2tg0su6ghw-v1JGnRkhPFKxDo_wU7b3mtc,18439
221
223
  astrbot/core/platform/sources/wecom_ai_bot/wecomai_api.py,sha256=ZDLQvAEQztFXgzBAamLWFFC3BPr7jEhcjEGAcqIUd9g,12008
222
224
  astrbot/core/platform/sources/wecom_ai_bot/wecomai_event.py,sha256=vn2g1lXQjzjLIYoAIumekjATLkCu6PKBEo14MYmJQDY,5251
223
225
  astrbot/core/platform/sources/wecom_ai_bot/wecomai_queue_mgr.py,sha256=Vs1cSUe6xM145HPEUCzE5NxVWEUaIcnfx3o5TsNHcjA,4588
224
226
  astrbot/core/platform/sources/wecom_ai_bot/wecomai_server.py,sha256=NkQywylnI2xju4yINTYEVgJ6u2Rd_ASfj8V-4vwUpJ4,5936
225
227
  astrbot/core/platform/sources/wecom_ai_bot/wecomai_utils.py,sha256=6vTeKwrt-zXsA0Lt_7GFk7_J0IXWX-ErVvwK9VC0EDM,5427
226
- astrbot/core/platform/sources/weixin_official_account/weixin_offacc_adapter.py,sha256=-mJH63wGLi_Vjuu3cIlKCKU837YyMX4GgJ-a3MU6wVI,12745
228
+ astrbot/core/platform/sources/weixin_official_account/weixin_offacc_adapter.py,sha256=FEQ3L6I488AC9kNPi9evEHDpUS02qXY7jDrTzrxTq4E,12790
227
229
  astrbot/core/platform/sources/weixin_official_account/weixin_offacc_event.py,sha256=tGfu6DNsqRCrr8P83VVep3Sh035-esKHTXriDsIOdJA,7233
228
230
  astrbot/core/provider/__init__.py,sha256=0NVyKtTapnrUy0lkXVYWyM5KetwtDwXmTwBzqLG0MA4,142
229
231
  astrbot/core/provider/entites.py,sha256=0eYiQ-xttqFTb3WZR2b1oemdZy3d5sevELvj9FixJtE,388
230
- astrbot/core/provider/entities.py,sha256=1Az26czWgrnJn2zCi0_WfC3MRyAYrN_cxcYemFZqhxs,15604
232
+ astrbot/core/provider/entities.py,sha256=qRQVUhPMnxBWK7xPlIVNvPCBPdqk__eG6MrbHAp662s,15615
231
233
  astrbot/core/provider/func_tool_manager.py,sha256=2pBKHAuj-6rITOipHmH8hrs8D4N2bAUx5TcJfUVYtsk,21241
232
234
  astrbot/core/provider/manager.py,sha256=_5qq7EEMYuWqVWHcxvmj-0N7e-DxTCnyIWgNVB6bwxs,31576
233
235
  astrbot/core/provider/provider.py,sha256=p4l4qSTPimtkH0tba4D5k97bhVNczE9SNHw4bnos5SI,14336
@@ -259,12 +261,12 @@ astrbot/core/provider/sources/xinference_rerank_source.py,sha256=DsF4JVlXGeeqqyc
259
261
  astrbot/core/provider/sources/xinference_stt_provider.py,sha256=A2kzsVZD6Fnbfgv7r1xY1y5tT05mRKZYfRVfe8vN8JA,8198
260
262
  astrbot/core/provider/sources/zhipu_source.py,sha256=oOCPXGsR9PLWOuu3h8RSVNRw1Qy2Se6dwmeFR3zk3GM,612
261
263
  astrbot/core/skills/__init__.py,sha256=6ADR-BbIwB_QlXnWPki4RBPH5XbhNOQDlP5PHFKB32s,136
262
- astrbot/core/skills/skill_manager.py,sha256=OLtg3zm1JRpKGyCf2pQAEr92Sm-3LVbdQqltlxhq8R4,9691
264
+ astrbot/core/skills/skill_manager.py,sha256=Qk1E8WkL-7PHN8ZIHxmHlNpw92iTbIHk20Rdtpim-S4,9733
263
265
  astrbot/core/star/README.md,sha256=LXxqxp3xv_oejO8ocBPOrbmLe0WB4feu43fYDNddHTQ,161
264
266
  astrbot/core/star/__init__.py,sha256=iTlnjfEGJGy--78PhG7F1cKj9VwJVcDNFtGomX8hRO0,2229
265
267
  astrbot/core/star/command_management.py,sha256=AAmbY-saiIoExPzDY5DMxQwCnUvtsWztMJxQIVk2Qco,18099
266
268
  astrbot/core/star/config.py,sha256=dwIERy7S4k-2RHoMweZ_dYwNqkjiW78J_Gwoy3DLUq0,3533
267
- astrbot/core/star/context.py,sha256=6THd6T3MsHyGukX7UJf4iJg4jWzC8eQmuvp1JyO7sXg,24650
269
+ astrbot/core/star/context.py,sha256=e6XIvHk94KvEE5dZ2WZCqywPxM7t_fdzxM-W0rL6NYg,25090
268
270
  astrbot/core/star/session_llm_manager.py,sha256=6y5rxQQ5RpuzOcw-4DAOeUBEep7nKIfBc6kTGTUkJX8,5707
269
271
  astrbot/core/star/session_plugin_manager.py,sha256=2mGUhwWHsAOC1F575d7GwcVdoc3Brv-w-pbISJSmP38,3144
270
272
  astrbot/core/star/star.py,sha256=Wkf81teNZ27JE_JrENuP0SrpFc2uFYRxHQsWo8R9-No,1826
@@ -275,17 +277,19 @@ astrbot/core/star/updator.py,sha256=4pl42Ks_yjJ3kydx3BwOqocAczhhFBrRnxhBKh4_0Eo,
275
277
  astrbot/core/star/filter/__init__.py,sha256=bC6eHXh0CjzHmn-LTvsanWReoGIPhhMnBSrMLh97hZQ,470
276
278
  astrbot/core/star/filter/command.py,sha256=ao_u1oTbtd-ThJPaCQkIqLEMApcIt4dQZf9Oks5Wvg4,8907
277
279
  astrbot/core/star/filter/command_group.py,sha256=JC_cMkOe-DCBDwqNGPDi_hDb0V8t_l4gqNRnkAb1CKA,5049
278
- astrbot/core/star/filter/custom_filter.py,sha256=2SfHLrYJEuNceR81nzLRIhpcnx0J4AuXNCV4HP4kC2I,2241
280
+ astrbot/core/star/filter/custom_filter.py,sha256=4f323ls4UXPwNeKlpTNlbIAx7qpieOJRd7EOX87uWGc,2242
279
281
  astrbot/core/star/filter/event_message_type.py,sha256=DMQy1463oTcwZbIZwbr4uxH7wIVkzsQ6bSe4aRrYn2M,1164
280
282
  astrbot/core/star/filter/permission.py,sha256=BYO9kd0coAJ4ayy0YOvTb4b35mavBSCKqR4mjm47jjQ,917
281
283
  astrbot/core/star/filter/platform_adapter_type.py,sha256=yTJDeYRY_nH-LhRkkMUb6n6W1toiyP_WUJo-maJq8xM,2100
282
284
  astrbot/core/star/filter/regex.py,sha256=GHB5YvBMLFbOOiFVUnEHaqHTER7sU1pAVrAcXdwBtkQ,545
283
285
  astrbot/core/star/register/__init__.py,sha256=U1LfqaZ5NbLj6lLuABLQHjpzh-x1qonR43oJMFn9rrc,1204
284
286
  astrbot/core/star/register/star.py,sha256=Eto7nD_HFuCNt-VJnXUXKv2D7a5TQ6qkhzLJ_itXo_8,1920
285
- astrbot/core/star/register/star_handler.py,sha256=qr0YFcNEiDWNbwgB3eDKfl5y79FrR-VYIQiXGzZE9zc,20058
287
+ astrbot/core/star/register/star_handler.py,sha256=sVHWtLvuACdJY-EpyHx650FTurm29zbcKxKOXUVl2Iw,20059
288
+ astrbot/core/tools/cron_tools.py,sha256=CSIbkg2NWBEnkfbUupj08lBUR4or28oIo73_hsAB4nc,6211
286
289
  astrbot/core/utils/astrbot_path.py,sha256=KPtOk8EpXC7_ThhCjtiXdxMZrXwWokRtxEWWm_v_cDY,2751
287
290
  astrbot/core/utils/command_parser.py,sha256=Cwd4zzyKEoC-er0a-9WZ5n2g4F8eH9p6BHxD96gjaVM,617
288
291
  astrbot/core/utils/file_extract.py,sha256=I9jgcaPYK74-BwuI18oUpoupnPYINeP3QFD3kFodqBA,697
292
+ astrbot/core/utils/history_saver.py,sha256=9QlQYhBuRKxoEKMSxQQ1IDobK2JeK3VoEow3lDJKvUk,1035
289
293
  astrbot/core/utils/io.py,sha256=WUgM6V9_a-hi3CRKS9a-RFRAkZ5yu0M3WgpbR3-3tCw,10817
290
294
  astrbot/core/utils/llm_metadata.py,sha256=n1KUfIFeDs7f3ZzeqfWGTtSvZHP1OoFAx3Sr_fpoiKg,2152
291
295
  astrbot/core/utils/log_pipe.py,sha256=jphGRAdmzhBVRKdpJwOP1AtpbGlun9v7Cr50kHZtlyo,883
@@ -298,7 +302,7 @@ astrbot/core/utils/session_lock.py,sha256=fZDIbyy1nYfgsQSGUc_pWHZp4Kv6inXjENP8ay
298
302
  astrbot/core/utils/session_waiter.py,sha256=Q4zdrvxs-cLLopLCQES6bYZ6MQrajl4fzqZjmmXX170,7073
299
303
  astrbot/core/utils/shared_preferences.py,sha256=4mj6FuUdejSbSQ4HVCiRWUIlvE0YK5MvTn7GlOCWK1I,7302
300
304
  astrbot/core/utils/tencent_record_helper.py,sha256=utfxCdqn4Beiv7Vd5OosNSLJQuLMusUXdbsxpDV2IxM,5048
301
- astrbot/core/utils/trace.py,sha256=ArG-pRjSbf52U0t2b8VQhq9JkZvyGPw9nsoQ7etYvy4,2038
305
+ astrbot/core/utils/trace.py,sha256=pgxfI1d5irjPHIUf04DuYD4zBvpMeeTdLcTWVXMmXLI,2161
302
306
  astrbot/core/utils/version_comparator.py,sha256=_VnI50v1xqcZ-wXtOCwknUVwq-wk2Pjh3TLBVe1MTf8,3405
303
307
  astrbot/core/utils/webhook_utils.py,sha256=B-dnZdXFAoRo4GMO8FjjT4Em7IYIsU8olJlMCqJt2pc,2021
304
308
  astrbot/core/utils/t2i/__init__.py,sha256=wAPd4gcBfuUfFmp_QdYR2AyxmQgMgtY3-AhblbGHqMk,336
@@ -308,9 +312,9 @@ astrbot/core/utils/t2i/renderer.py,sha256=3IH-eLxOCIpEPHjXA1GF-ylGGyKz4GlMIbkjfv
308
312
  astrbot/core/utils/t2i/template_manager.py,sha256=Pfht7PZCdVteF93lja1LZQcUFNeCOKLs6EFx9XMeYKQ,4520
309
313
  astrbot/core/utils/t2i/template/astrbot_powershell.html,sha256=UcjetoIJG3pJRUHMDOor3Nhj7FFmVXXpkySkpXXztO4,4943
310
314
  astrbot/core/utils/t2i/template/base.html,sha256=fQvq4I4lrlH2s_jwAzj62lWeC4g87xXsYJMJ0XunCPA,6619
311
- astrbot/dashboard/server.py,sha256=Xd5POZMZa8NCGLGhpLiaNc3chaphKU1bqVve9zwGvQw,10849
315
+ astrbot/dashboard/server.py,sha256=_Gvga_XHF2y5b0OYgvxv5qWbkBpH1tbjuS8t80iEzyc,11032
312
316
  astrbot/dashboard/utils.py,sha256=KrAv0lnPaVR0bx8yevT1CLGbSNsJizlfkKkPEtVVANI,5355
313
- astrbot/dashboard/routes/__init__.py,sha256=nskGN0EwGPQAPNdZYySjKjQyusGsIYPOQ8HR1V6P3m4,1069
317
+ astrbot/dashboard/routes/__init__.py,sha256=WuGJ4mnkzafgqyU-qzdUUcuseDGCmXAvuOXAbyfOHOw,1171
314
318
  astrbot/dashboard/routes/auth.py,sha256=rYkvt3MpCY9BhWjG0DUoX3YaBkJT1Id7M2pKqTmXbvo,2946
315
319
  astrbot/dashboard/routes/backup.py,sha256=npYpOdFAxcBmzPyTWtzAV1WtoO916Rv61CJgcfisHgU,39382
316
320
  astrbot/dashboard/routes/chat.py,sha256=4Mb3n6a2A8LSVvViEX3-FyN2BLl0eDtJd7aVK-cN6sY,31398
@@ -318,24 +322,26 @@ astrbot/dashboard/routes/chatui_project.py,sha256=AUHP3fXNQ91nz0SGsICSeBfDgvKcz3
318
322
  astrbot/dashboard/routes/command.py,sha256=DYwcqUF1ibFVQ4qMX3Nob7f0Kz5HmQE0iBWrVNF3Hk8,2917
319
323
  astrbot/dashboard/routes/config.py,sha256=Xv6TOmL1JLNeVfxugWBd2f6Msmro9f-43x08xJINWFc,54146
320
324
  astrbot/dashboard/routes/conversation.py,sha256=TWGY7BJ9QfmbxurAieBrbMmCi4_Ua2klxsAUlSRXbng,14302
325
+ astrbot/dashboard/routes/cron.py,sha256=FasQm_FKTN4RoOyokvHwI4ZVaPV4tXp6-vLf89XeOGA,7211
321
326
  astrbot/dashboard/routes/file.py,sha256=gULvXP9PnVOQlyv_PCEzZQE5ptnGQEjFPvwOLxdVgb4,708
322
327
  astrbot/dashboard/routes/knowledge_base.py,sha256=GZ_iDYV2uXXzvGMF-4VJ8hZxLdHIWSSfg_3wlWwsizA,46081
323
328
  astrbot/dashboard/routes/live_chat.py,sha256=3a1QdH0vz51xfd1e4VYKpYj19pw6ml69GlG4DYXbFIc,16029
324
- astrbot/dashboard/routes/log.py,sha256=YyRG6rrxxCAdbJP4dJyywP1CH_GwXrKCBr5XU_eo230,3335
329
+ astrbot/dashboard/routes/log.py,sha256=MPi1ScuUOOl2mOA1TbnL1A0Ryp95ov6iebmKw_Km_Lo,4723
325
330
  astrbot/dashboard/routes/persona.py,sha256=HS3pT0WtcY-4T6a8cDBAtRqLx4cVjSJfpbfSUJERvM0,18555
326
331
  astrbot/dashboard/routes/platform.py,sha256=JfQzzmWSnahKjke3lBUeXo7Auzz_nTB0mUv0fIf_Nag,3392
327
- astrbot/dashboard/routes/plugin.py,sha256=qQvAtIY_33gF6F_D_iyQDbvrgO8t0IV_Gt6Qy_lcLlA,27475
332
+ astrbot/dashboard/routes/plugin.py,sha256=W8RCoHYtO3kZw7XPy3b4cGL72GoBQRzpfJsIriQkYN8,27804
328
333
  astrbot/dashboard/routes/route.py,sha256=vhNIWFhic1eVHRx7ej8OUmmcNDA3FPaRPdXO_-SS4K4,1572
329
334
  astrbot/dashboard/routes/session_management.py,sha256=KV1OhBbs0iTV3gv8NL1A5zzhyNVLrhbUKL9-L-2tEPM,36575
330
- astrbot/dashboard/routes/skills.py,sha256=Obt6a_bbScQiiwU1TRbbq_QhhFGLxJolO-2eMjDbVSE,5761
335
+ astrbot/dashboard/routes/skills.py,sha256=o_F2XPmvGGJbEPNtYiTRCF5P2AOj-TcUKtBmEewZsYY,4407
331
336
  astrbot/dashboard/routes/stat.py,sha256=8t1VjuSjk1IomUpOS9EFLIqh5484TSIZX5VYGVTbNyc,11028
332
337
  astrbot/dashboard/routes/static_file.py,sha256=7KnNcOb1BVqSTft114LhGsDkfg69X2jHEm0tOK0kW0Y,1169
338
+ astrbot/dashboard/routes/subagent.py,sha256=szOdToMCXf_0RXXKdoBm8FShygOaBrj9BYLqnAua9dc,4758
333
339
  astrbot/dashboard/routes/t2i.py,sha256=F6smxdL99MF7cRw3hqS6-2GErw8Zhsv0V0mfBUeEk-c,8931
334
- astrbot/dashboard/routes/tools.py,sha256=mMwVFw_VOlpqy_WZg1A-ddGtYa5L5QLWYawl37PT0-c,15354
340
+ astrbot/dashboard/routes/tools.py,sha256=n2l04MGyZL7vVPvGtEbPPBNNs-1qbDkrNMcQbTL8Yag,16294
335
341
  astrbot/dashboard/routes/update.py,sha256=qXiqQ_dbqRVftOzGgCQrvK8-qopVK6zKhhVVJ9SK26U,6648
336
342
  astrbot/dashboard/routes/util.py,sha256=Ewf5EgWs0evjOyIbgFffJH6T4DzgDrIoacd6VZ5Ix2c,2856
337
- astrbot-4.13.2.dist-info/METADATA,sha256=rRD6HXbf61csviihXAED9fhbqnSgOhl8zdJjAbnNXx4,12192
338
- astrbot-4.13.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
339
- astrbot-4.13.2.dist-info/entry_points.txt,sha256=OEF09YmhBWYuViXrvTLLpstF4ccmNwDL8r7nnFD0pfI,53
340
- astrbot-4.13.2.dist-info/licenses/LICENSE,sha256=zPfQj5Mq8-gThIiBcxETr7t8gND9bZWOjTGQAr80TQI,34500
341
- astrbot-4.13.2.dist-info/RECORD,,
343
+ astrbot-4.14.1.dist-info/METADATA,sha256=IrdyiuhhG6OQ3SYfrnNj5mUjHnmJoRicP7DDMLkj_lE,13559
344
+ astrbot-4.14.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
345
+ astrbot-4.14.1.dist-info/entry_points.txt,sha256=OEF09YmhBWYuViXrvTLLpstF4ccmNwDL8r7nnFD0pfI,53
346
+ astrbot-4.14.1.dist-info/licenses/LICENSE,sha256=zPfQj5Mq8-gThIiBcxETr7t8gND9bZWOjTGQAr80TQI,34500
347
+ astrbot-4.14.1.dist-info/RECORD,,
@@ -1,308 +0,0 @@
1
- import builtins
2
- import copy
3
- import datetime
4
- import zoneinfo
5
-
6
- from astrbot.api import logger, sp, star
7
- from astrbot.api.event import AstrMessageEvent
8
- from astrbot.api.message_components import Image, Reply
9
- from astrbot.api.provider import Provider, ProviderRequest
10
- from astrbot.core.agent.message import TextPart
11
- from astrbot.core.pipeline.process_stage.utils import (
12
- CHATUI_SPECIAL_DEFAULT_PERSONA_PROMPT,
13
- LOCAL_EXECUTE_SHELL_TOOL,
14
- LOCAL_PYTHON_TOOL,
15
- )
16
- from astrbot.core.provider.func_tool_manager import ToolSet
17
- from astrbot.core.skills.skill_manager import SkillManager, build_skills_prompt
18
-
19
-
20
- class ProcessLLMRequest:
21
- def __init__(self, context: star.Context):
22
- self.ctx = context
23
- cfg = context.get_config()
24
- self.timezone = cfg.get("timezone")
25
- if not self.timezone:
26
- # 系统默认时区
27
- self.timezone = None
28
- else:
29
- logger.info(f"Timezone set to: {self.timezone}")
30
-
31
- self.skill_manager = SkillManager()
32
-
33
- def _apply_local_env_tools(self, req: ProviderRequest) -> None:
34
- """Add local environment tools to the provider request."""
35
- if req.func_tool is None:
36
- req.func_tool = ToolSet()
37
- req.func_tool.add_tool(LOCAL_EXECUTE_SHELL_TOOL)
38
- req.func_tool.add_tool(LOCAL_PYTHON_TOOL)
39
-
40
- async def _ensure_persona(
41
- self,
42
- req: ProviderRequest,
43
- cfg: dict,
44
- umo: str,
45
- platform_type: str,
46
- event: AstrMessageEvent,
47
- ):
48
- """确保用户人格已加载"""
49
- if not req.conversation:
50
- return
51
- # persona inject
52
-
53
- # custom rule is preferred
54
- persona_id = (
55
- await sp.get_async(
56
- scope="umo", scope_id=umo, key="session_service_config", default={}
57
- )
58
- ).get("persona_id")
59
-
60
- if not persona_id:
61
- persona_id = req.conversation.persona_id or cfg.get("default_personality")
62
- if not persona_id and persona_id != "[%None]": # [%None] 为用户取消人格
63
- default_persona = self.ctx.persona_manager.selected_default_persona_v3
64
- if default_persona:
65
- persona_id = default_persona["name"]
66
-
67
- # ChatUI special default persona
68
- if platform_type == "webchat":
69
- # non-existent persona_id to let following codes not working
70
- persona_id = "_chatui_default_"
71
- req.system_prompt += CHATUI_SPECIAL_DEFAULT_PERSONA_PROMPT
72
-
73
- persona = next(
74
- builtins.filter(
75
- lambda persona: persona["name"] == persona_id,
76
- self.ctx.persona_manager.personas_v3,
77
- ),
78
- None,
79
- )
80
- if persona:
81
- if prompt := persona["prompt"]:
82
- req.system_prompt += prompt
83
- if begin_dialogs := copy.deepcopy(persona["_begin_dialogs_processed"]):
84
- req.contexts[:0] = begin_dialogs
85
-
86
- # skills select and prompt
87
- runtime = self.skills_cfg.get("runtime", "local")
88
- skills = self.skill_manager.list_skills(active_only=True, runtime=runtime)
89
- if runtime == "sandbox" and not self.sandbox_cfg.get("enable", False):
90
- logger.warning(
91
- "Skills runtime is set to sandbox, but sandbox mode is disabled, will skip skills prompt injection.",
92
- )
93
- req.system_prompt += "\n[Background: User added some skills, and skills runtime is set to sandbox, but sandbox mode is disabled. So skills will be unavailable.]\n"
94
- elif skills:
95
- # persona.skills == None means all skills are allowed
96
- if persona and persona.get("skills") is not None:
97
- if not persona["skills"]:
98
- return
99
- allowed = set(persona["skills"])
100
- skills = [skill for skill in skills if skill.name in allowed]
101
- if skills:
102
- req.system_prompt += f"\n{build_skills_prompt(skills)}\n"
103
-
104
- # if user wants to use skills in non-sandbox mode, apply local env tools
105
- runtime = self.skills_cfg.get("runtime", "local")
106
- sandbox_enabled = self.sandbox_cfg.get("enable", False)
107
- if runtime == "local" and not sandbox_enabled:
108
- self._apply_local_env_tools(req)
109
-
110
- # tools select
111
- tmgr = self.ctx.get_llm_tool_manager()
112
- if (persona and persona.get("tools") is None) or not persona:
113
- # select all
114
- toolset = tmgr.get_full_tool_set()
115
- for tool in toolset:
116
- if not tool.active:
117
- toolset.remove_tool(tool.name)
118
- else:
119
- toolset = ToolSet()
120
- if persona["tools"]:
121
- for tool_name in persona["tools"]:
122
- tool = tmgr.get_func(tool_name)
123
- if tool and tool.active:
124
- toolset.add_tool(tool)
125
- if not req.func_tool:
126
- req.func_tool = toolset
127
- else:
128
- req.func_tool.merge(toolset)
129
- event.trace.record(
130
- "sel_persona", persona_id=persona_id, persona_toolset=toolset.names()
131
- )
132
- logger.debug(f"Tool set for persona {persona_id}: {toolset.names()}")
133
-
134
- async def _ensure_img_caption(
135
- self,
136
- req: ProviderRequest,
137
- cfg: dict,
138
- img_cap_prov_id: str,
139
- ):
140
- try:
141
- caption = await self._request_img_caption(
142
- img_cap_prov_id,
143
- cfg,
144
- req.image_urls,
145
- )
146
- if caption:
147
- req.extra_user_content_parts.append(
148
- TextPart(text=f"<image_caption>{caption}</image_caption>")
149
- )
150
- req.image_urls = []
151
- except Exception as e:
152
- logger.error(f"处理图片描述失败: {e}")
153
-
154
- async def _request_img_caption(
155
- self,
156
- provider_id: str,
157
- cfg: dict,
158
- image_urls: list[str],
159
- ) -> str:
160
- if prov := self.ctx.get_provider_by_id(provider_id):
161
- if isinstance(prov, Provider):
162
- img_cap_prompt = cfg.get(
163
- "image_caption_prompt",
164
- "Please describe the image.",
165
- )
166
- logger.debug(f"Processing image caption with provider: {provider_id}")
167
- llm_resp = await prov.text_chat(
168
- prompt=img_cap_prompt,
169
- image_urls=image_urls,
170
- )
171
- return llm_resp.completion_text
172
- raise ValueError(
173
- f"Cannot get image caption because provider `{provider_id}` is not a valid Provider, it is {type(prov)}.",
174
- )
175
- raise ValueError(
176
- f"Cannot get image caption because provider `{provider_id}` is not exist.",
177
- )
178
-
179
- async def process_llm_request(self, event: AstrMessageEvent, req: ProviderRequest):
180
- """在请求 LLM 前注入人格信息、Identifier、时间、回复内容等 System Prompt"""
181
- cfg: dict = self.ctx.get_config(umo=event.unified_msg_origin)[
182
- "provider_settings"
183
- ]
184
- self.skills_cfg = cfg.get("skills", {})
185
- self.sandbox_cfg = cfg.get("sandbox", {})
186
-
187
- # prompt prefix
188
- if prefix := cfg.get("prompt_prefix"):
189
- # 支持 {{prompt}} 作为用户输入的占位符
190
- if "{{prompt}}" in prefix:
191
- req.prompt = prefix.replace("{{prompt}}", req.prompt)
192
- else:
193
- req.prompt = prefix + req.prompt
194
-
195
- # 收集系统提醒信息
196
- system_parts = []
197
-
198
- # user identifier
199
- if cfg.get("identifier"):
200
- user_id = event.message_obj.sender.user_id
201
- user_nickname = event.message_obj.sender.nickname
202
- system_parts.append(f"User ID: {user_id}, Nickname: {user_nickname}")
203
-
204
- # group name identifier
205
- if cfg.get("group_name_display") and event.message_obj.group_id:
206
- if not event.message_obj.group:
207
- logger.error(
208
- f"Group name display enabled but group object is None. Group ID: {event.message_obj.group_id}"
209
- )
210
- return
211
- group_name = event.message_obj.group.group_name
212
- if group_name:
213
- system_parts.append(f"Group name: {group_name}")
214
-
215
- # time info
216
- if cfg.get("datetime_system_prompt"):
217
- current_time = None
218
- if self.timezone:
219
- # 启用时区
220
- try:
221
- now = datetime.datetime.now(zoneinfo.ZoneInfo(self.timezone))
222
- current_time = now.strftime("%Y-%m-%d %H:%M (%Z)")
223
- except Exception as e:
224
- logger.error(f"时区设置错误: {e}, 使用本地时区")
225
- if not current_time:
226
- current_time = (
227
- datetime.datetime.now().astimezone().strftime("%Y-%m-%d %H:%M (%Z)")
228
- )
229
- system_parts.append(f"Current datetime: {current_time}")
230
-
231
- img_cap_prov_id: str = cfg.get("default_image_caption_provider_id") or ""
232
- if req.conversation:
233
- # inject persona for this request
234
- platform_type = event.get_platform_name()
235
- await self._ensure_persona(
236
- req, cfg, event.unified_msg_origin, platform_type, event
237
- )
238
-
239
- # image caption
240
- if img_cap_prov_id and req.image_urls:
241
- await self._ensure_img_caption(req, cfg, img_cap_prov_id)
242
-
243
- # quote message processing
244
- # 解析引用内容
245
- quote = None
246
- for comp in event.message_obj.message:
247
- if isinstance(comp, Reply):
248
- quote = comp
249
- break
250
- if quote:
251
- content_parts = []
252
-
253
- # 1. 处理引用的文本
254
- sender_info = (
255
- f"({quote.sender_nickname}): " if quote.sender_nickname else ""
256
- )
257
- message_str = quote.message_str or "[Empty Text]"
258
- content_parts.append(f"{sender_info}{message_str}")
259
-
260
- # 2. 处理引用的图片 (保留原有逻辑,但改变输出目标)
261
- image_seg = None
262
- if quote.chain:
263
- for comp in quote.chain:
264
- if isinstance(comp, Image):
265
- image_seg = comp
266
- break
267
-
268
- if image_seg:
269
- try:
270
- # 找到可以生成图片描述的 provider
271
- prov = None
272
- if img_cap_prov_id:
273
- prov = self.ctx.get_provider_by_id(img_cap_prov_id)
274
- if prov is None:
275
- prov = self.ctx.get_using_provider(event.unified_msg_origin)
276
-
277
- # 调用 provider 生成图片描述
278
- if prov and isinstance(prov, Provider):
279
- llm_resp = await prov.text_chat(
280
- prompt="Please describe the image content.",
281
- image_urls=[await image_seg.convert_to_file_path()],
282
- )
283
- if llm_resp.completion_text:
284
- # 将图片描述作为文本添加到 content_parts
285
- content_parts.append(
286
- f"[Image Caption in quoted message]: {llm_resp.completion_text}"
287
- )
288
- else:
289
- logger.warning(
290
- "No provider found for image captioning in quote."
291
- )
292
- except BaseException as e:
293
- logger.error(f"处理引用图片失败: {e}")
294
-
295
- # 3. 将所有部分组合成文本并添加到 extra_user_content_parts 中
296
- # 确保引用内容被正确的标签包裹
297
- quoted_content = "\n".join(content_parts)
298
- # 确保所有内容都在<Quoted Message>标签内
299
- quoted_text = f"<Quoted Message>\n{quoted_content}\n</Quoted Message>"
300
-
301
- req.extra_user_content_parts.append(TextPart(text=quoted_text))
302
-
303
- # 统一包裹所有系统提醒
304
- if system_parts:
305
- system_content = (
306
- "<system_reminder>" + "\n".join(system_parts) + "</system_reminder>"
307
- )
308
- req.extra_user_content_parts.append(TextPart(text=system_content))