AstrBot 4.5.8__py3-none-any.whl → 4.6.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 (30) hide show
  1. astrbot/core/agent/mcp_client.py +152 -26
  2. astrbot/core/agent/message.py +7 -0
  3. astrbot/core/config/default.py +31 -1
  4. astrbot/core/core_lifecycle.py +8 -0
  5. astrbot/core/db/__init__.py +50 -1
  6. astrbot/core/db/migration/migra_webchat_session.py +131 -0
  7. astrbot/core/db/po.py +49 -13
  8. astrbot/core/db/sqlite.py +102 -3
  9. astrbot/core/knowledge_base/kb_helper.py +314 -33
  10. astrbot/core/knowledge_base/kb_mgr.py +45 -1
  11. astrbot/core/knowledge_base/parsers/url_parser.py +103 -0
  12. astrbot/core/knowledge_base/prompts.py +65 -0
  13. astrbot/core/pipeline/process_stage/method/llm_request.py +28 -14
  14. astrbot/core/pipeline/process_stage/utils.py +60 -16
  15. astrbot/core/platform/sources/wecom_ai_bot/wecomai_adapter.py +13 -10
  16. astrbot/core/platform/sources/wecom_ai_bot/wecomai_event.py +8 -4
  17. astrbot/core/platform/sources/wecom_ai_bot/wecomai_queue_mgr.py +0 -4
  18. astrbot/core/provider/entities.py +22 -9
  19. astrbot/core/provider/func_tool_manager.py +12 -9
  20. astrbot/core/provider/manager.py +4 -0
  21. astrbot/core/provider/sources/bailian_rerank_source.py +236 -0
  22. astrbot/core/provider/sources/gemini_source.py +25 -8
  23. astrbot/core/provider/sources/openai_source.py +9 -16
  24. astrbot/dashboard/routes/chat.py +134 -77
  25. astrbot/dashboard/routes/knowledge_base.py +172 -0
  26. {astrbot-4.5.8.dist-info → astrbot-4.6.1.dist-info}/METADATA +5 -4
  27. {astrbot-4.5.8.dist-info → astrbot-4.6.1.dist-info}/RECORD +30 -26
  28. {astrbot-4.5.8.dist-info → astrbot-4.6.1.dist-info}/WHEEL +0 -0
  29. {astrbot-4.5.8.dist-info → astrbot-4.6.1.dist-info}/entry_points.txt +0 -0
  30. {astrbot-4.5.8.dist-info → astrbot-4.6.1.dist-info}/licenses/LICENSE +0 -0
@@ -48,6 +48,7 @@ class KnowledgeBaseRoute(Route):
48
48
  # 文档管理
49
49
  "/kb/document/list": ("GET", self.list_documents),
50
50
  "/kb/document/upload": ("POST", self.upload_document),
51
+ "/kb/document/upload/url": ("POST", self.upload_document_from_url),
51
52
  "/kb/document/upload/progress": ("GET", self.get_upload_progress),
52
53
  "/kb/document/get": ("GET", self.get_document),
53
54
  "/kb/document/delete": ("POST", self.delete_document),
@@ -1070,3 +1071,174 @@ class KnowledgeBaseRoute(Route):
1070
1071
  logger.error(f"删除会话知识库配置失败: {e}")
1071
1072
  logger.error(traceback.format_exc())
1072
1073
  return Response().error(f"删除会话知识库配置失败: {e!s}").__dict__
1074
+
1075
+ async def upload_document_from_url(self):
1076
+ """从 URL 上传文档
1077
+
1078
+ Body:
1079
+ - kb_id: 知识库 ID (必填)
1080
+ - url: 要提取内容的网页 URL (必填)
1081
+ - chunk_size: 分块大小 (可选, 默认512)
1082
+ - chunk_overlap: 块重叠大小 (可选, 默认50)
1083
+ - batch_size: 批处理大小 (可选, 默认32)
1084
+ - tasks_limit: 并发任务限制 (可选, 默认3)
1085
+ - max_retries: 最大重试次数 (可选, 默认3)
1086
+
1087
+ 返回:
1088
+ - task_id: 任务ID,用于查询上传进度和结果
1089
+ """
1090
+ try:
1091
+ kb_manager = self._get_kb_manager()
1092
+ data = await request.json
1093
+
1094
+ kb_id = data.get("kb_id")
1095
+ if not kb_id:
1096
+ return Response().error("缺少参数 kb_id").__dict__
1097
+
1098
+ url = data.get("url")
1099
+ if not url:
1100
+ return Response().error("缺少参数 url").__dict__
1101
+
1102
+ chunk_size = data.get("chunk_size", 512)
1103
+ chunk_overlap = data.get("chunk_overlap", 50)
1104
+ batch_size = data.get("batch_size", 32)
1105
+ tasks_limit = data.get("tasks_limit", 3)
1106
+ max_retries = data.get("max_retries", 3)
1107
+ enable_cleaning = data.get("enable_cleaning", False)
1108
+ cleaning_provider_id = data.get("cleaning_provider_id")
1109
+
1110
+ # 获取知识库
1111
+ kb_helper = await kb_manager.get_kb(kb_id)
1112
+ if not kb_helper:
1113
+ return Response().error("知识库不存在").__dict__
1114
+
1115
+ # 生成任务ID
1116
+ task_id = str(uuid.uuid4())
1117
+
1118
+ # 初始化任务状态
1119
+ self.upload_tasks[task_id] = {
1120
+ "status": "pending",
1121
+ "result": None,
1122
+ "error": None,
1123
+ }
1124
+
1125
+ # 启动后台任务
1126
+ asyncio.create_task(
1127
+ self._background_upload_from_url_task(
1128
+ task_id=task_id,
1129
+ kb_helper=kb_helper,
1130
+ url=url,
1131
+ chunk_size=chunk_size,
1132
+ chunk_overlap=chunk_overlap,
1133
+ batch_size=batch_size,
1134
+ tasks_limit=tasks_limit,
1135
+ max_retries=max_retries,
1136
+ enable_cleaning=enable_cleaning,
1137
+ cleaning_provider_id=cleaning_provider_id,
1138
+ ),
1139
+ )
1140
+
1141
+ return (
1142
+ Response()
1143
+ .ok(
1144
+ {
1145
+ "task_id": task_id,
1146
+ "url": url,
1147
+ "message": "URL upload task created, processing in background",
1148
+ },
1149
+ )
1150
+ .__dict__
1151
+ )
1152
+
1153
+ except ValueError as e:
1154
+ return Response().error(str(e)).__dict__
1155
+ except Exception as e:
1156
+ logger.error(f"从URL上传文档失败: {e}")
1157
+ logger.error(traceback.format_exc())
1158
+ return Response().error(f"从URL上传文档失败: {e!s}").__dict__
1159
+
1160
+ async def _background_upload_from_url_task(
1161
+ self,
1162
+ task_id: str,
1163
+ kb_helper,
1164
+ url: str,
1165
+ chunk_size: int,
1166
+ chunk_overlap: int,
1167
+ batch_size: int,
1168
+ tasks_limit: int,
1169
+ max_retries: int,
1170
+ enable_cleaning: bool,
1171
+ cleaning_provider_id: str | None,
1172
+ ):
1173
+ """后台上传URL任务"""
1174
+ try:
1175
+ # 初始化任务状态
1176
+ self.upload_tasks[task_id] = {
1177
+ "status": "processing",
1178
+ "result": None,
1179
+ "error": None,
1180
+ }
1181
+ self.upload_progress[task_id] = {
1182
+ "status": "processing",
1183
+ "file_index": 0,
1184
+ "file_total": 1,
1185
+ "file_name": f"URL: {url}",
1186
+ "stage": "extracting",
1187
+ "current": 0,
1188
+ "total": 100,
1189
+ }
1190
+
1191
+ # 创建进度回调函数
1192
+ async def progress_callback(stage, current, total):
1193
+ if task_id in self.upload_progress:
1194
+ self.upload_progress[task_id].update(
1195
+ {
1196
+ "status": "processing",
1197
+ "file_index": 0,
1198
+ "file_name": f"URL: {url}",
1199
+ "stage": stage,
1200
+ "current": current,
1201
+ "total": total,
1202
+ },
1203
+ )
1204
+
1205
+ # 上传文档
1206
+ doc = await kb_helper.upload_from_url(
1207
+ url=url,
1208
+ chunk_size=chunk_size,
1209
+ chunk_overlap=chunk_overlap,
1210
+ batch_size=batch_size,
1211
+ tasks_limit=tasks_limit,
1212
+ max_retries=max_retries,
1213
+ progress_callback=progress_callback,
1214
+ enable_cleaning=enable_cleaning,
1215
+ cleaning_provider_id=cleaning_provider_id,
1216
+ )
1217
+
1218
+ # 更新任务完成状态
1219
+ result = {
1220
+ "task_id": task_id,
1221
+ "uploaded": [doc.model_dump()],
1222
+ "failed": [],
1223
+ "total": 1,
1224
+ "success_count": 1,
1225
+ "failed_count": 0,
1226
+ }
1227
+
1228
+ self.upload_tasks[task_id] = {
1229
+ "status": "completed",
1230
+ "result": result,
1231
+ "error": None,
1232
+ }
1233
+ self.upload_progress[task_id]["status"] = "completed"
1234
+
1235
+ except Exception as e:
1236
+ logger.error(f"后台上传URL任务 {task_id} 失败: {e}")
1237
+ logger.error(traceback.format_exc())
1238
+ self.upload_tasks[task_id] = {
1239
+ "status": "failed",
1240
+ "result": None,
1241
+ "error": str(e),
1242
+ }
1243
+ if task_id in self.upload_progress:
1244
+ self.upload_progress[task_id]["status"] = "failed"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: AstrBot
3
- Version: 4.5.8
3
+ Version: 4.6.1
4
4
  Summary: Easy-to-use multi-platform LLM chatbot and development framework
5
5
  License-File: LICENSE
6
6
  Keywords: Astrbot,Astrbot Module,Astrbot Plugin
@@ -26,7 +26,7 @@ Requires-Dist: dingtalk-stream>=0.22.1
26
26
  Requires-Dist: docstring-parser>=0.16
27
27
  Requires-Dist: faiss-cpu==1.10.0
28
28
  Requires-Dist: filelock>=3.18.0
29
- Requires-Dist: google-genai>=1.14.0
29
+ Requires-Dist: google-genai<1.51.0,>=1.14.0
30
30
  Requires-Dist: jieba>=0.42.1
31
31
  Requires-Dist: lark-oapi>=1.4.15
32
32
  Requires-Dist: lxml-html-clean>=0.4.2
@@ -52,6 +52,7 @@ Requires-Dist: slack-sdk>=3.35.0
52
52
  Requires-Dist: sqlalchemy[asyncio]>=2.0.41
53
53
  Requires-Dist: sqlmodel>=0.0.24
54
54
  Requires-Dist: telegramify-markdown>=0.5.1
55
+ Requires-Dist: tenacity>=9.1.2
55
56
  Requires-Dist: watchfiles>=1.0.5
56
57
  Requires-Dist: websockets>=15.0.1
57
58
  Requires-Dist: wechatpy>=1.8.18
@@ -92,7 +93,7 @@ Description-Content-Type: text/markdown
92
93
  <a href="https://github.com/AstrBotDevs/AstrBot/issues">问题提交</a>
93
94
  </div>
94
95
 
95
- AstrBot 是一个开源的一站式 Agent 聊天机器人平台及开发框架。
96
+ AstrBot 是一个开源的一站式 Agent 聊天机器人平台,可无缝接入主流即时通讯软件,为个人、开发者和团队打造可靠、可扩展的对话式智能基础设施。无论是个人 AI 伙伴、智能客服、自动化助手,还是企业知识库,AstrBot 都能在你的即时通讯软件平台的工作流中快速构建生产可用的 AI 应用。
96
97
 
97
98
  ## 主要功能
98
99
 
@@ -102,7 +103,7 @@ AstrBot 是一个开源的一站式 Agent 聊天机器人平台及开发框架
102
103
  4. **插件扩展**。深度优化的插件机制,支持[开发插件](https://astrbot.app/dev/plugin.html)扩展功能,社区插件生态丰富。
103
104
  5. **WebUI**。可视化配置和管理机器人,功能齐全。
104
105
 
105
- ## 部署方式
106
+ ## 部署方式
106
107
 
107
108
  #### Docker 部署(推荐 🥳)
108
109
 
@@ -26,7 +26,7 @@ astrbot/core/astr_agent_run_util.py,sha256=QQyyy649GgdcRHkdGg0N1U2yACn5O5kMj_pX2
26
26
  astrbot/core/astr_agent_tool_exec.py,sha256=jNaUEYJHJ42BT8DveBQ1YZ3lbcpq1LH3eGM6l-Lde60,8847
27
27
  astrbot/core/astrbot_config_mgr.py,sha256=SUvusfo8Qk89eNpEmduWcXuczJ9g5TBH-VOV69ax28g,8950
28
28
  astrbot/core/conversation_mgr.py,sha256=GsirCeMBmgxyaOb3hYNleF_11yyFyAER5PtpM3IUvIQ,15765
29
- astrbot/core/core_lifecycle.py,sha256=uoRlYqg33g3XgHDXFq9uOUSOEjomezidwqiA1r8z7-Q,12603
29
+ astrbot/core/core_lifecycle.py,sha256=h8MB3lfPJQhKVQ85TrAmLzcWZds6unbJDSetOZmRals,12945
30
30
  astrbot/core/event_bus.py,sha256=0rABGmFd01B5q972HS_2LQ5OFxd6iPLSyM9FbPKIgcg,2540
31
31
  astrbot/core/exceptions.py,sha256=GVCUgAjpvUHLL59MkJalFrSp_HbtliChu7XII_Px2WM,219
32
32
  astrbot/core/file_token_service.py,sha256=8X0Qyo-NPGhtxy6IcRsJg7Z2tx_ULPf_7OKvw-KBk6o,3317
@@ -40,8 +40,8 @@ astrbot/core/zip_updator.py,sha256=xBCtHl7XnlMksnS79e8j-FonfB3Lvs95rTmwoo1Z1T0,8
40
40
  astrbot/core/agent/agent.py,sha256=wquvKo18JcsJM56dwKyFFAoGhc5qLyQaeqdZ-LlZsWQ,366
41
41
  astrbot/core/agent/handoff.py,sha256=AxO0yx4Uscy0CO-3Q3fvDOfpfr3gUscLRplH7gH7-Lc,1194
42
42
  astrbot/core/agent/hooks.py,sha256=ooe9uUz7czlVt2W7jTDwkRbI-qDrOOXWjCaXtiAkrvE,830
43
- astrbot/core/agent/mcp_client.py,sha256=3N52RRlbscgLZbKwhH-lutO_cOo6ygK5cvcOQ07WGzM,9548
44
- astrbot/core/agent/message.py,sha256=YuINBqzUEHMexwiDNbZwBn7VDOUnUpITqcjmwNhtLGE,5032
43
+ astrbot/core/agent/mcp_client.py,sha256=LsOyVg_uR4Ik6d3vJQ3sfIKBG49X2IloUGn2P2jQ1AU,14085
44
+ astrbot/core/agent/message.py,sha256=kKVCGCGmbNENlWitTCGycos6uNRPuDys5jecOJDsuWQ,5336
45
45
  astrbot/core/agent/response.py,sha256=ddJABXu03Uw3b-YGTvRafFLJEGa40o93pIEz_CRTb4g,261
46
46
  astrbot/core/agent/run_context.py,sha256=h-teucYKYi5o4oTbAsIlkaa04yn2OSNC-ahIF2n6cwE,719
47
47
  astrbot/core/agent/tool.py,sha256=3F-zcADIJkACNljrlDJBZZCJwqhxFkfpgoKvg5v0TQM,9276
@@ -51,13 +51,14 @@ astrbot/core/agent/runners/base.py,sha256=5vDPiI_65ZlmVpuak-A4K2NW4uVhVD6wYRERKb
51
51
  astrbot/core/agent/runners/tool_loop_agent_runner.py,sha256=1bbuYHBz7A3U68Rl-ubG_-u_l4qjVTufkotQdBrIO8M,16781
52
52
  astrbot/core/config/__init__.py,sha256=vZjtpC7vr-IvBgSUtbS04C0wpulmCG5tPmcEP1WYE_4,172
53
53
  astrbot/core/config/astrbot_config.py,sha256=nGyvHyR9VJH9Pk0XKYyeDFVxjwbyVb9u0lIsuvpe3fg,6276
54
- astrbot/core/config/default.py,sha256=RdaNP0ECr86PC4HfgJNToZ_ccNZjh1YnkCULvqS567c,135898
55
- astrbot/core/db/__init__.py,sha256=XA1ootJl_SoMHG6sNUWNR5nj663JHvNF--WEM-hfd1o,8965
56
- astrbot/core/db/po.py,sha256=jLrmhbtqbnjZ1r7sS0WO6SZIubZr1FH04qmD64N4Y50,7845
57
- astrbot/core/db/sqlite.py,sha256=H7DOQDktJ3gRFwK0H9TFb3miJqnpx5pRFjwdTETWhWo,26520
54
+ astrbot/core/config/default.py,sha256=jKQ6gqwTB1bZLWQ_pZSk1YsKLtGAdZW45rk3wxvrF8M,137547
55
+ astrbot/core/db/__init__.py,sha256=s4oIWazGk2U1-9dkr3bvq8M4g9nwOXy4e3f53zlvAJk,10326
56
+ astrbot/core/db/po.py,sha256=w4NaoMc8112YMT3H3NBMOd0HQyuphZ5sTUjU8vZOHR8,9406
57
+ astrbot/core/db/sqlite.py,sha256=F117PS3BIss6-NuXOeTWV_8CVkSDCjqGnLf3yuftQjg,30076
58
58
  astrbot/core/db/migration/helper.py,sha256=Kogq0FLJdvWTDuAVWLT1PlTGGJcWkDMWO37KM-G8lTk,2087
59
59
  astrbot/core/db/migration/migra_3_to_4.py,sha256=hNn_tMququot1qUg3cx_nzxODxcZSlf4M_7YtBgKl2o,15277
60
60
  astrbot/core/db/migration/migra_45_to_46.py,sha256=wQk8NUiCNgmpSczO9U-OW6mMRHPWtJDlKuTCOGF8-WY,1560
61
+ astrbot/core/db/migration/migra_webchat_session.py,sha256=KN2MaT4RPgaHuwQMGoSR_h6hPGEnPbuy_sVlVISgyuE,5251
61
62
  astrbot/core/db/migration/shared_preferences_v3.py,sha256=91zq_MrdAMF1MH5fxLaFkZO19nPNIW4gwqCCRn9u2dQ,1241
62
63
  astrbot/core/db/migration/sqlite_v3.py,sha256=pBBS5UemoVqus0aLJ5avqb3HgoN-b_S4fN5m4tBVf_U,15051
63
64
  astrbot/core/db/vec_db/base.py,sha256=0YxoCPNj_zVprLMamUj-OkUHJDlywIfdN8Q0Kpslm3A,1759
@@ -67,9 +68,10 @@ astrbot/core/db/vec_db/faiss_impl/embedding_storage.py,sha256=c4jk0y3tVsGBVI3I-x
67
68
  astrbot/core/db/vec_db/faiss_impl/sqlite_init.sql,sha256=RiF1mnAFAHtyThOsS0qjvniUF5t9Y8k-gjSlh51p2x8,681
68
69
  astrbot/core/db/vec_db/faiss_impl/vec_db.py,sha256=gZEXdHLIKx0aroD62RZjdY_L7-Twi9VrM594VlSkTuY,7094
69
70
  astrbot/core/knowledge_base/kb_db_sqlite.py,sha256=fkFqBZ1qjrPJoKjAzlckIdJriv5ky_ANQx2GIZqUSY8,10993
70
- astrbot/core/knowledge_base/kb_helper.py,sha256=FAhhmuVDErAKsZa-xqi00BpMxezVXYdTE13EaeOzKwU,12140
71
- astrbot/core/knowledge_base/kb_mgr.py,sha256=7K_RUdb49vcENFRQ2BDF6Hq3Zfx5SapXhBcETtCfbGU,9739
71
+ astrbot/core/knowledge_base/kb_helper.py,sha256=vg_PmGEbFFHQvCKJyQWd68uIdC4UGUncOnVJl7b4_qY,22666
72
+ astrbot/core/knowledge_base/kb_mgr.py,sha256=Iti0nf7MlN-r3XV-5HBHPOJkDusvM-230B0omFygqko,11117
72
73
  astrbot/core/knowledge_base/models.py,sha256=ugENK3bKXG9xP5Av0ls2kkclVVT68gB_wY2p5Q-pdjU,3982
74
+ astrbot/core/knowledge_base/prompts.py,sha256=4pn1rPvqUZY5-3SnUA0QYuI8LG8IQi0j1bDY5yjxg1c,2126
73
75
  astrbot/core/knowledge_base/chunking/__init__.py,sha256=haajNOd42ZA12a2kIdeZ31_QsTsL4rZRU5xaXJvs0Oo,155
74
76
  astrbot/core/knowledge_base/chunking/base.py,sha256=Zy5q6uA-ttPxpzbOGuFGlNlsCRWUeokMl0adQnWIZBA,471
75
77
  astrbot/core/knowledge_base/chunking/fixed_size.py,sha256=WUHJ400ZHJncAPRMkAIzgUbbuzvIwDkwzy-cORRiCSw,1559
@@ -79,6 +81,7 @@ astrbot/core/knowledge_base/parsers/base.py,sha256=4bQyCfXaQs5OFHi9fanhXshBaWkKw
79
81
  astrbot/core/knowledge_base/parsers/markitdown_parser.py,sha256=dmlQ1OwAND-e87fL227dAfumZ3CnZN29mmSQimE3naw,701
80
82
  astrbot/core/knowledge_base/parsers/pdf_parser.py,sha256=jDSyrJMwMH1VozlQNyG8agU4rP9YCNghe5OJGJxEoEY,3093
81
83
  astrbot/core/knowledge_base/parsers/text_parser.py,sha256=_lnGbZxDaFDVkv294hJmnY3JI6ybhrtZVI-8EALm5EI,1095
84
+ astrbot/core/knowledge_base/parsers/url_parser.py,sha256=q5vJQl8bscJKUtaNIHHGt4wbPv6weTB986A1C_o7TI8,3488
82
85
  astrbot/core/knowledge_base/parsers/util.py,sha256=YKtNg98vDv0d8F-RuGtkNUAYO_aQAWz2DlsVGaIMDig,396
83
86
  astrbot/core/knowledge_base/retrieval/__init__.py,sha256=Ou7mqN32YqKB99RHZTAqFHxN6ZpootzLtzUZe-Kjtw0,326
84
87
  astrbot/core/knowledge_base/retrieval/hit_stopwords.txt,sha256=8LikiRxpjLdAfJYyOQ2tUUPM9wEEZ0y3Mh_XXsxAeug,5271
@@ -99,8 +102,8 @@ astrbot/core/pipeline/content_safety_check/strategies/keywords.py,sha256=N3bR19D
99
102
  astrbot/core/pipeline/content_safety_check/strategies/strategy.py,sha256=XM2c-6apssEtAllMAI6BUXaEN_t2XINHcCoAudeKNwc,1206
100
103
  astrbot/core/pipeline/preprocess_stage/stage.py,sha256=BFaON3u4MrQUXp0ZXETU5MIvN_w0p0KJDNc9D7Y3qsY,4202
101
104
  astrbot/core/pipeline/process_stage/stage.py,sha256=yd1CpHbGzmLn-2C2QwvyAHa9WhsF7QKEqb_ojl6HJ6I,2679
102
- astrbot/core/pipeline/process_stage/utils.py,sha256=EPooTG8hs4uB8I8lMtRi23BkDjMu-7eM07v3O305po4,2593
103
- astrbot/core/pipeline/process_stage/method/llm_request.py,sha256=9H4cBgYCPDEqCNHPWVI8AHUd7WJnmSh-16-uY4-TH0w,18985
105
+ astrbot/core/pipeline/process_stage/utils.py,sha256=q4V5G0PZD5b5mPh1lM-6w79LKGpp7RR7-PqYFhWpopM,4061
106
+ astrbot/core/pipeline/process_stage/method/llm_request.py,sha256=viKwCVBIc0ccYjKHCa3pFcFIKz7AwPwTIKNNWaCfWfY,19695
104
107
  astrbot/core/pipeline/process_stage/method/star_request.py,sha256=cbZO2bcS3LIsk21DLO-V7rRrZed3fOjholafAVKDrvI,2515
105
108
  astrbot/core/pipeline/rate_limit_check/stage.py,sha256=9EVJ0zYtxATFsj7ADyWDYcSGBRqmrMiKWp1kkD9LONI,3962
106
109
  astrbot/core/pipeline/respond/stage.py,sha256=im_UrME-g-YOk9TnrDFzFeYIvzZsGBy9BDCAp5PXuNM,10738
@@ -156,23 +159,24 @@ astrbot/core/platform/sources/wecom/wecom_kf_message.py,sha256=__9zR3FCgggRDDwaE
156
159
  astrbot/core/platform/sources/wecom_ai_bot/WXBizJsonMsgCrypt.py,sha256=j6dV8PbpXzB0FNAU6JB4dB_T-aIjiKED4Ig0nBQjmCc,11406
157
160
  astrbot/core/platform/sources/wecom_ai_bot/__init__.py,sha256=WOYATxFKjq7ZIU0pf3M7MZVvW3ovxdAvXvB9PPJiSkc,435
158
161
  astrbot/core/platform/sources/wecom_ai_bot/ierror.py,sha256=6F08cRDiy3mbBLuTHgxkKIkgpXTQsNe4vnB4T1WvZe0,792
159
- astrbot/core/platform/sources/wecom_ai_bot/wecomai_adapter.py,sha256=7JVdujeCjnUH8fIfVwGkthfUt1u7Q85uiml5-33AiOQ,17444
162
+ astrbot/core/platform/sources/wecom_ai_bot/wecomai_adapter.py,sha256=ORvz6t0bU-rb__y5qxBScGHUBymItf2PnFnoCMAgI2o,17470
160
163
  astrbot/core/platform/sources/wecom_ai_bot/wecomai_api.py,sha256=ZDLQvAEQztFXgzBAamLWFFC3BPr7jEhcjEGAcqIUd9g,12008
161
- astrbot/core/platform/sources/wecom_ai_bot/wecomai_event.py,sha256=Bd3-dRPKBOTA2POWVbNUoOkX3AvNS6KVXx5RUyTb2oo,5076
162
- astrbot/core/platform/sources/wecom_ai_bot/wecomai_queue_mgr.py,sha256=fv06hqscDE5EQvXl8P3aAORppZ8RL4XcAouxmJz8o-g,4658
164
+ astrbot/core/platform/sources/wecom_ai_bot/wecomai_event.py,sha256=bo79QZtbxagBb-RhvUXOW4Xsy1deRFmDvAjzAXC-miQ,5228
165
+ astrbot/core/platform/sources/wecom_ai_bot/wecomai_queue_mgr.py,sha256=Vs1cSUe6xM145HPEUCzE5NxVWEUaIcnfx3o5TsNHcjA,4588
163
166
  astrbot/core/platform/sources/wecom_ai_bot/wecomai_server.py,sha256=hLhWV26Wa2HGBtw-eSKGq0LAeCS7HNNDnSRm7OuHJSQ,5280
164
167
  astrbot/core/platform/sources/wecom_ai_bot/wecomai_utils.py,sha256=6vTeKwrt-zXsA0Lt_7GFk7_J0IXWX-ErVvwK9VC0EDM,5427
165
168
  astrbot/core/platform/sources/weixin_official_account/weixin_offacc_adapter.py,sha256=IbOUuf9BnFjG8Dt18xNB3jKXxg09QspDBRThBHtQxtY,10659
166
169
  astrbot/core/platform/sources/weixin_official_account/weixin_offacc_event.py,sha256=_DYWTs5u3MoOKt-7eIH7fGHIpvxae2qckkceH9X9DCQ,7100
167
170
  astrbot/core/provider/__init__.py,sha256=0NVyKtTapnrUy0lkXVYWyM5KetwtDwXmTwBzqLG0MA4,142
168
171
  astrbot/core/provider/entites.py,sha256=0eYiQ-xttqFTb3WZR2b1oemdZy3d5sevELvj9FixJtE,388
169
- astrbot/core/provider/entities.py,sha256=LY0VxEXuLDwUxWJb8Gae2qjmT3UCUKNduE0qoM3ZboU,11718
170
- astrbot/core/provider/func_tool_manager.py,sha256=wJ0wFMofTV8atFKe9kGwJYlxFpAhY-g8rdsC1fa-Vrg,21014
171
- astrbot/core/provider/manager.py,sha256=OzoEniML-bxbIO1GG2IMnzVDZ-IlVGQCbBFB0MB4zZw,22592
172
+ astrbot/core/provider/entities.py,sha256=AwD8KOG8dSlfQXSc1n8gx4xv2vW4niZDiaMoO1Y_dOw,12533
173
+ astrbot/core/provider/func_tool_manager.py,sha256=28fOKbpWOxiclwfcNkmP6sHSBlK4cZKwPXyNhFjjXps,21181
174
+ astrbot/core/provider/manager.py,sha256=3nQXBwlIWt_Ds834vlfThunqu-GxnXttNZOODvNQqC8,22790
172
175
  astrbot/core/provider/provider.py,sha256=bMJBBZzNwHhVv8dEiO1tNUclzxS78Yb01vUbceHZXKA,10680
173
176
  astrbot/core/provider/register.py,sha256=0WMYrT9vbRjeq-72HD0oRT45kJmeKA96UgSItpTJbX8,1904
174
177
  astrbot/core/provider/sources/anthropic_source.py,sha256=kRbJk0K-li84mWwapxYezGlkEF03Lg1brZDZnjmGrQ8,15584
175
178
  astrbot/core/provider/sources/azure_tts_source.py,sha256=uhPr4Dja6XANesAmrfZiuINNIlXej0NV7Goo8ahMm14,9387
179
+ astrbot/core/provider/sources/bailian_rerank_source.py,sha256=-kxF2XRnQRikGggymOBS2aJHRi8Y-zZgc4ykmred9UQ,7451
176
180
  astrbot/core/provider/sources/coze_api_client.py,sha256=0k8pQsFsbjKdF-jkY91qZWsC8YSaSmwC98TMTK-zqw0,10853
177
181
  astrbot/core/provider/sources/coze_source.py,sha256=FXqhRUOjKXwBsUBfVXBlLm5pM--IQpzzFViIUFltX1M,25341
178
182
  astrbot/core/provider/sources/dashscope_source.py,sha256=DlvP4tkBLZGHl77LvWbjdtfNO0spr6y0nypPzwKN-n8,7369
@@ -181,14 +185,14 @@ astrbot/core/provider/sources/dify_source.py,sha256=w6xG9oUlhlMivYjfAufRxIj8xijm
181
185
  astrbot/core/provider/sources/edge_tts_source.py,sha256=7C04B0voPmQdeaB4u-U5Lip6qN3UAyB_yNPBYHLaxo8,4680
182
186
  astrbot/core/provider/sources/fishaudio_tts_api_source.py,sha256=P2N_dkwxx3Kk1uWae1TT4yJShj6i0Q_jTpWT1V_dLQ0,5484
183
187
  astrbot/core/provider/sources/gemini_embedding_source.py,sha256=XpTqb5rlI5z34FmrdFkpvwkk9BiuyFKcpWm6xQEHpNE,2248
184
- astrbot/core/provider/sources/gemini_source.py,sha256=A1VBbHFd8UFk21smt8Y2eUa35HT7dw2Fu9Ts_i-YrcU,30238
188
+ astrbot/core/provider/sources/gemini_source.py,sha256=msWhkuvNw4BD7-Y-HPkcNj7DZBmlxOLSK7XESB54JEI,31322
185
189
  astrbot/core/provider/sources/gemini_tts_source.py,sha256=6LJIT2aTjoZaMszjYRzDu38prsO9G5Xg7SzJmQb2TzE,2880
186
190
  astrbot/core/provider/sources/groq_source.py,sha256=NqmiQn37mrMsaTyGX25eNzMpIgkCifY-5TJO8DFzHaA,456
187
191
  astrbot/core/provider/sources/gsv_selfhosted_source.py,sha256=RYQgwCc67N7RWPaODN4sSLJZn6o5gpgk_jF_KaRnD0M,5942
188
192
  astrbot/core/provider/sources/gsvi_tts_source.py,sha256=nGGctfkzrAeTofAvB2b_VNTYHW44SzyO12B-mBWb1rY,2011
189
193
  astrbot/core/provider/sources/minimax_tts_api_source.py,sha256=qMN6iBR2V145d5BAIkjAa2pVrH5eZOHeWnd8yhemOCY,5837
190
194
  astrbot/core/provider/sources/openai_embedding_source.py,sha256=26hjOYrQ8eHHPi8wybCubtsY-UOOfGx0qcCxQ3BvjIE,1616
191
- astrbot/core/provider/sources/openai_source.py,sha256=4GvBLMv5aBzn0hBZCjORLCDROsV4PcwCK0K5XLBITik,24654
195
+ astrbot/core/provider/sources/openai_source.py,sha256=FU1xEYkoRZrc-AB6Hf6I4iHU8nbl22k0i5nhHxAKAuw,24275
192
196
  astrbot/core/provider/sources/openai_tts_api_source.py,sha256=DVviGQdBpCk6lW3LjnJHzwZr9wGkXRDNwfoQ3FYFVcs,1667
193
197
  astrbot/core/provider/sources/sensevoice_selfhosted_source.py,sha256=aG7m3HvqSdcTRJcncqFNhyz9D-TVIdjiCbGFQPhDcdM,3819
194
198
  astrbot/core/provider/sources/vllm_rerank_source.py,sha256=5mZwtOUG1w7AfqQR7AYznxL_L0HVOKq6_T2G0CrNkZg,2316
@@ -244,11 +248,11 @@ astrbot/dashboard/server.py,sha256=HiuqrnMKWOER8j6h1ZAIAONUb3DwJCEjXl7LkLFXMiI,9
244
248
  astrbot/dashboard/utils.py,sha256=KrAv0lnPaVR0bx8yevT1CLGbSNsJizlfkKkPEtVVANI,5355
245
249
  astrbot/dashboard/routes/__init__.py,sha256=IKg0EzasXsd-OleSixE54Ul5wQcBeMHzVwhhjMFZ2dE,783
246
250
  astrbot/dashboard/routes/auth.py,sha256=rYkvt3MpCY9BhWjG0DUoX3YaBkJT1Id7M2pKqTmXbvo,2946
247
- astrbot/dashboard/routes/chat.py,sha256=ME9CjZ1tKGfGYyQ719sP0hQFVcLkCJHAYDrKjonhPcU,13563
251
+ astrbot/dashboard/routes/chat.py,sha256=Mtw7tqt1xoXaPgutkJsOF2h_Sq3TZmyjSYH2acl8WkA,15032
248
252
  astrbot/dashboard/routes/config.py,sha256=DHWd56JZrtXdxuf80DIfmyFYmeOcZ6mC8aCKZc6QacA,40070
249
253
  astrbot/dashboard/routes/conversation.py,sha256=sFHgkpNDdTR9qkSOC_JfSjzkfTuv63iaMxvh52wQUzM,10773
250
254
  astrbot/dashboard/routes/file.py,sha256=gULvXP9PnVOQlyv_PCEzZQE5ptnGQEjFPvwOLxdVgb4,708
251
- astrbot/dashboard/routes/knowledge_base.py,sha256=B4q9Zkph95xcNRIluKSIgTH0mL7KjPGXp7UzJjQ4S54,39584
255
+ astrbot/dashboard/routes/knowledge_base.py,sha256=Sc03tTpfAhtA5ErofRUwERwx01_vyrWWGlposc8gdvU,45595
252
256
  astrbot/dashboard/routes/log.py,sha256=84OFiLM-Cnqf3HxFne-ykUezfnArlwH4HyY8MJxch00,2143
253
257
  astrbot/dashboard/routes/persona.py,sha256=MEcNHMxJmyvZ3ZhytI5IP7L3FSlMr1JDvdd5efN9Q-M,7833
254
258
  astrbot/dashboard/routes/plugin.py,sha256=lc50jRSRcJfpKMrT1OlFDuA7e841SSCEyEhFXiX742c,20508
@@ -259,8 +263,8 @@ astrbot/dashboard/routes/static_file.py,sha256=7KnNcOb1BVqSTft114LhGsDkfg69X2jHE
259
263
  astrbot/dashboard/routes/t2i.py,sha256=F6smxdL99MF7cRw3hqS6-2GErw8Zhsv0V0mfBUeEk-c,8931
260
264
  astrbot/dashboard/routes/tools.py,sha256=YsVFrwVIhxAI-Ikme7YPrHVnPVTkJ1IaH7n6ciREjdE,14663
261
265
  astrbot/dashboard/routes/update.py,sha256=qXiqQ_dbqRVftOzGgCQrvK8-qopVK6zKhhVVJ9SK26U,6648
262
- astrbot-4.5.8.dist-info/METADATA,sha256=tNASBEgbAu1-hgtG2NFcsbaLS9vqHYv_GS8a6rU4p3Q,10029
263
- astrbot-4.5.8.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
264
- astrbot-4.5.8.dist-info/entry_points.txt,sha256=OEF09YmhBWYuViXrvTLLpstF4ccmNwDL8r7nnFD0pfI,53
265
- astrbot-4.5.8.dist-info/licenses/LICENSE,sha256=zPfQj5Mq8-gThIiBcxETr7t8gND9bZWOjTGQAr80TQI,34500
266
- astrbot-4.5.8.dist-info/RECORD,,
266
+ astrbot-4.6.1.dist-info/METADATA,sha256=RIhPkfOxwegvGss371jfFDGETbOLn05MEdc8qIvAycg,10370
267
+ astrbot-4.6.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
268
+ astrbot-4.6.1.dist-info/entry_points.txt,sha256=OEF09YmhBWYuViXrvTLLpstF4ccmNwDL8r7nnFD0pfI,53
269
+ astrbot-4.6.1.dist-info/licenses/LICENSE,sha256=zPfQj5Mq8-gThIiBcxETr7t8gND9bZWOjTGQAr80TQI,34500
270
+ astrbot-4.6.1.dist-info/RECORD,,