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.
- astrbot/builtin_stars/astrbot/main.py +0 -6
- astrbot/builtin_stars/session_controller/main.py +1 -2
- astrbot/cli/__init__.py +1 -1
- astrbot/core/agent/agent.py +2 -1
- astrbot/core/agent/handoff.py +14 -1
- astrbot/core/agent/runners/tool_loop_agent_runner.py +14 -1
- astrbot/core/agent/tool.py +5 -0
- astrbot/core/astr_agent_run_util.py +21 -3
- astrbot/core/astr_agent_tool_exec.py +178 -3
- astrbot/core/astr_main_agent.py +980 -0
- astrbot/core/astr_main_agent_resources.py +453 -0
- astrbot/core/computer/computer_client.py +10 -1
- astrbot/core/computer/tools/fs.py +22 -14
- astrbot/core/config/default.py +84 -58
- astrbot/core/core_lifecycle.py +43 -1
- astrbot/core/cron/__init__.py +3 -0
- astrbot/core/cron/events.py +67 -0
- astrbot/core/cron/manager.py +376 -0
- astrbot/core/db/__init__.py +60 -0
- astrbot/core/db/po.py +31 -0
- astrbot/core/db/sqlite.py +120 -0
- astrbot/core/event_bus.py +0 -1
- astrbot/core/message/message_event_result.py +21 -3
- astrbot/core/pipeline/process_stage/method/agent_sub_stages/internal.py +111 -580
- astrbot/core/pipeline/scheduler.py +0 -2
- astrbot/core/platform/astr_message_event.py +5 -5
- astrbot/core/platform/platform.py +9 -0
- astrbot/core/platform/platform_metadata.py +2 -0
- astrbot/core/platform/sources/dingtalk/dingtalk_adapter.py +1 -0
- astrbot/core/platform/sources/qqofficial/qqofficial_platform_adapter.py +1 -0
- astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_adapter.py +1 -0
- astrbot/core/platform/sources/webchat/webchat_adapter.py +1 -0
- astrbot/core/platform/sources/wecom/wecom_adapter.py +1 -0
- astrbot/core/platform/sources/wecom_ai_bot/wecomai_adapter.py +1 -0
- astrbot/core/platform/sources/weixin_official_account/weixin_offacc_adapter.py +1 -0
- astrbot/core/provider/entities.py +1 -1
- astrbot/core/skills/skill_manager.py +9 -8
- astrbot/core/star/context.py +8 -0
- astrbot/core/star/filter/custom_filter.py +3 -3
- astrbot/core/star/register/star_handler.py +1 -1
- astrbot/core/subagent_orchestrator.py +96 -0
- astrbot/core/tools/cron_tools.py +174 -0
- astrbot/core/utils/history_saver.py +31 -0
- astrbot/core/utils/trace.py +4 -0
- astrbot/dashboard/routes/__init__.py +4 -0
- astrbot/dashboard/routes/cron.py +174 -0
- astrbot/dashboard/routes/log.py +36 -0
- astrbot/dashboard/routes/plugin.py +11 -0
- astrbot/dashboard/routes/skills.py +12 -37
- astrbot/dashboard/routes/subagent.py +117 -0
- astrbot/dashboard/routes/tools.py +41 -14
- astrbot/dashboard/server.py +3 -0
- {astrbot-4.13.2.dist-info → astrbot-4.14.1.dist-info}/METADATA +21 -2
- {astrbot-4.13.2.dist-info → astrbot-4.14.1.dist-info}/RECORD +57 -51
- astrbot/builtin_stars/astrbot/process_llm_request.py +0 -308
- astrbot/builtin_stars/reminder/main.py +0 -266
- astrbot/builtin_stars/reminder/metadata.yaml +0 -4
- astrbot/core/pipeline/process_stage/utils.py +0 -219
- {astrbot-4.13.2.dist-info → astrbot-4.14.1.dist-info}/WHEEL +0 -0
- {astrbot-4.13.2.dist-info → astrbot-4.14.1.dist-info}/entry_points.txt +0 -0
- {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=
|
|
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/
|
|
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=
|
|
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=
|
|
55
|
-
astrbot/core/astr_agent_tool_exec.py,sha256=
|
|
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=
|
|
59
|
-
astrbot/core/event_bus.py,sha256=
|
|
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=
|
|
70
|
-
astrbot/core/agent/handoff.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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/
|
|
113
|
-
astrbot/core/
|
|
114
|
-
astrbot/core/
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
181
|
-
astrbot/core/platform/platform_metadata.py,sha256=
|
|
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=
|
|
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=
|
|
200
|
-
astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_adapter.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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.
|
|
338
|
-
astrbot-4.
|
|
339
|
-
astrbot-4.
|
|
340
|
-
astrbot-4.
|
|
341
|
-
astrbot-4.
|
|
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))
|