AstrBot 4.13.0__py3-none-any.whl → 4.13.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/cli/__init__.py +1 -1
- astrbot/core/computer/tools/python.py +1 -1
- astrbot/core/computer/tools/shell.py +1 -1
- astrbot/core/config/default.py +1 -1
- astrbot/core/db/po.py +19 -61
- astrbot/core/pipeline/process_stage/method/agent_sub_stages/internal.py +5 -4
- astrbot/core/skills/skill_manager.py +2 -1
- {astrbot-4.13.0.dist-info → astrbot-4.13.1.dist-info}/METADATA +2 -2
- {astrbot-4.13.0.dist-info → astrbot-4.13.1.dist-info}/RECORD +12 -12
- {astrbot-4.13.0.dist-info → astrbot-4.13.1.dist-info}/WHEEL +0 -0
- {astrbot-4.13.0.dist-info → astrbot-4.13.1.dist-info}/entry_points.txt +0 -0
- {astrbot-4.13.0.dist-info → astrbot-4.13.1.dist-info}/licenses/LICENSE +0 -0
astrbot/cli/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "4.13.
|
|
1
|
+
__version__ = "4.13.1"
|
|
@@ -84,7 +84,7 @@ class LocalPythonTool(FunctionTool):
|
|
|
84
84
|
self, context: ContextWrapper[AstrAgentContext], code: str, silent: bool = False
|
|
85
85
|
) -> ToolExecResult:
|
|
86
86
|
if context.context.event.role != "admin":
|
|
87
|
-
return "error: Permission denied. Local Python execution is only allowed for admin users.
|
|
87
|
+
return "error: Permission denied. Local Python execution is only allowed for admin users. Tell user to set admins in AstrBot WebUI."
|
|
88
88
|
|
|
89
89
|
sb = get_local_booter()
|
|
90
90
|
try:
|
|
@@ -47,7 +47,7 @@ class ExecuteShellTool(FunctionTool):
|
|
|
47
47
|
env: dict = {},
|
|
48
48
|
) -> ToolExecResult:
|
|
49
49
|
if context.context.event.role != "admin":
|
|
50
|
-
return "error: Permission denied. Shell execution is only allowed for admin users. Set admins in AstrBot WebUI."
|
|
50
|
+
return "error: Permission denied. Shell execution is only allowed for admin users. Tell user to Set admins in AstrBot WebUI."
|
|
51
51
|
|
|
52
52
|
if self.is_local:
|
|
53
53
|
sb = get_local_booter()
|
astrbot/core/config/default.py
CHANGED
astrbot/core/db/po.py
CHANGED
|
@@ -6,6 +6,14 @@ from typing import TypedDict
|
|
|
6
6
|
from sqlmodel import JSON, Field, SQLModel, Text, UniqueConstraint
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
class TimestampMixin(SQLModel):
|
|
10
|
+
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|
|
11
|
+
updated_at: datetime = Field(
|
|
12
|
+
default_factory=lambda: datetime.now(timezone.utc),
|
|
13
|
+
sa_column_kwargs={"onupdate": lambda: datetime.now(timezone.utc)},
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
|
|
9
17
|
class PlatformStat(SQLModel, table=True):
|
|
10
18
|
"""This class represents the statistics of bot usage across different platforms.
|
|
11
19
|
|
|
@@ -30,7 +38,7 @@ class PlatformStat(SQLModel, table=True):
|
|
|
30
38
|
)
|
|
31
39
|
|
|
32
40
|
|
|
33
|
-
class ConversationV2(SQLModel, table=True):
|
|
41
|
+
class ConversationV2(TimestampMixin, SQLModel, table=True):
|
|
34
42
|
__tablename__: str = "conversations"
|
|
35
43
|
|
|
36
44
|
inner_conversation_id: int | None = Field(
|
|
@@ -47,11 +55,7 @@ class ConversationV2(SQLModel, table=True):
|
|
|
47
55
|
platform_id: str = Field(nullable=False)
|
|
48
56
|
user_id: str = Field(nullable=False)
|
|
49
57
|
content: list | None = Field(default=None, sa_type=JSON)
|
|
50
|
-
|
|
51
|
-
updated_at: datetime = Field(
|
|
52
|
-
default_factory=lambda: datetime.now(timezone.utc),
|
|
53
|
-
sa_column_kwargs={"onupdate": datetime.now(timezone.utc)},
|
|
54
|
-
)
|
|
58
|
+
|
|
55
59
|
title: str | None = Field(default=None, max_length=255)
|
|
56
60
|
persona_id: str | None = Field(default=None)
|
|
57
61
|
token_usage: int = Field(default=0, nullable=False)
|
|
@@ -68,7 +72,7 @@ class ConversationV2(SQLModel, table=True):
|
|
|
68
72
|
)
|
|
69
73
|
|
|
70
74
|
|
|
71
|
-
class PersonaFolder(SQLModel, table=True):
|
|
75
|
+
class PersonaFolder(TimestampMixin, SQLModel, table=True):
|
|
72
76
|
"""Persona 文件夹,支持递归层级结构。
|
|
73
77
|
|
|
74
78
|
用于组织和管理多个 Persona,类似于文件系统的目录结构。
|
|
@@ -92,11 +96,6 @@ class PersonaFolder(SQLModel, table=True):
|
|
|
92
96
|
"""父文件夹ID,NULL表示根目录"""
|
|
93
97
|
description: str | None = Field(default=None, sa_type=Text)
|
|
94
98
|
sort_order: int = Field(default=0)
|
|
95
|
-
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|
|
96
|
-
updated_at: datetime = Field(
|
|
97
|
-
default_factory=lambda: datetime.now(timezone.utc),
|
|
98
|
-
sa_column_kwargs={"onupdate": datetime.now(timezone.utc)},
|
|
99
|
-
)
|
|
100
99
|
|
|
101
100
|
__table_args__ = (
|
|
102
101
|
UniqueConstraint(
|
|
@@ -106,7 +105,7 @@ class PersonaFolder(SQLModel, table=True):
|
|
|
106
105
|
)
|
|
107
106
|
|
|
108
107
|
|
|
109
|
-
class Persona(SQLModel, table=True):
|
|
108
|
+
class Persona(TimestampMixin, SQLModel, table=True):
|
|
110
109
|
"""Persona is a set of instructions for LLMs to follow.
|
|
111
110
|
|
|
112
111
|
It can be used to customize the behavior of LLMs.
|
|
@@ -131,11 +130,6 @@ class Persona(SQLModel, table=True):
|
|
|
131
130
|
"""所属文件夹ID,NULL 表示在根目录"""
|
|
132
131
|
sort_order: int = Field(default=0)
|
|
133
132
|
"""排序顺序"""
|
|
134
|
-
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|
|
135
|
-
updated_at: datetime = Field(
|
|
136
|
-
default_factory=lambda: datetime.now(timezone.utc),
|
|
137
|
-
sa_column_kwargs={"onupdate": datetime.now(timezone.utc)},
|
|
138
|
-
)
|
|
139
133
|
|
|
140
134
|
__table_args__ = (
|
|
141
135
|
UniqueConstraint(
|
|
@@ -145,7 +139,7 @@ class Persona(SQLModel, table=True):
|
|
|
145
139
|
)
|
|
146
140
|
|
|
147
141
|
|
|
148
|
-
class Preference(SQLModel, table=True):
|
|
142
|
+
class Preference(TimestampMixin, SQLModel, table=True):
|
|
149
143
|
"""This class represents preferences for bots."""
|
|
150
144
|
|
|
151
145
|
__tablename__: str = "preferences"
|
|
@@ -161,11 +155,6 @@ class Preference(SQLModel, table=True):
|
|
|
161
155
|
"""ID of the scope, such as 'global', 'umo', 'plugin_name'."""
|
|
162
156
|
key: str = Field(nullable=False)
|
|
163
157
|
value: dict = Field(sa_type=JSON, nullable=False)
|
|
164
|
-
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|
|
165
|
-
updated_at: datetime = Field(
|
|
166
|
-
default_factory=lambda: datetime.now(timezone.utc),
|
|
167
|
-
sa_column_kwargs={"onupdate": datetime.now(timezone.utc)},
|
|
168
|
-
)
|
|
169
158
|
|
|
170
159
|
__table_args__ = (
|
|
171
160
|
UniqueConstraint(
|
|
@@ -177,7 +166,7 @@ class Preference(SQLModel, table=True):
|
|
|
177
166
|
)
|
|
178
167
|
|
|
179
168
|
|
|
180
|
-
class PlatformMessageHistory(SQLModel, table=True):
|
|
169
|
+
class PlatformMessageHistory(TimestampMixin, SQLModel, table=True):
|
|
181
170
|
"""This class represents the message history for a specific platform.
|
|
182
171
|
|
|
183
172
|
It is used to store messages that are not LLM-generated, such as user messages
|
|
@@ -198,14 +187,9 @@ class PlatformMessageHistory(SQLModel, table=True):
|
|
|
198
187
|
default=None,
|
|
199
188
|
) # Name of the sender in the platform
|
|
200
189
|
content: dict = Field(sa_type=JSON, nullable=False) # a message chain list
|
|
201
|
-
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|
|
202
|
-
updated_at: datetime = Field(
|
|
203
|
-
default_factory=lambda: datetime.now(timezone.utc),
|
|
204
|
-
sa_column_kwargs={"onupdate": datetime.now(timezone.utc)},
|
|
205
|
-
)
|
|
206
190
|
|
|
207
191
|
|
|
208
|
-
class PlatformSession(SQLModel, table=True):
|
|
192
|
+
class PlatformSession(TimestampMixin, SQLModel, table=True):
|
|
209
193
|
"""Platform session table for managing user sessions across different platforms.
|
|
210
194
|
|
|
211
195
|
A session represents a chat window for a specific user on a specific platform.
|
|
@@ -233,11 +217,6 @@ class PlatformSession(SQLModel, table=True):
|
|
|
233
217
|
"""Display name for the session"""
|
|
234
218
|
is_group: int = Field(default=0, nullable=False)
|
|
235
219
|
"""0 for private chat, 1 for group chat (not implemented yet)"""
|
|
236
|
-
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|
|
237
|
-
updated_at: datetime = Field(
|
|
238
|
-
default_factory=lambda: datetime.now(timezone.utc),
|
|
239
|
-
sa_column_kwargs={"onupdate": datetime.now(timezone.utc)},
|
|
240
|
-
)
|
|
241
220
|
|
|
242
221
|
__table_args__ = (
|
|
243
222
|
UniqueConstraint(
|
|
@@ -247,7 +226,7 @@ class PlatformSession(SQLModel, table=True):
|
|
|
247
226
|
)
|
|
248
227
|
|
|
249
228
|
|
|
250
|
-
class Attachment(SQLModel, table=True):
|
|
229
|
+
class Attachment(TimestampMixin, SQLModel, table=True):
|
|
251
230
|
"""This class represents attachments for messages in AstrBot.
|
|
252
231
|
|
|
253
232
|
Attachments can be images, files, or other media types.
|
|
@@ -269,11 +248,6 @@ class Attachment(SQLModel, table=True):
|
|
|
269
248
|
path: str = Field(nullable=False) # Path to the file on disk
|
|
270
249
|
type: str = Field(nullable=False) # Type of the file (e.g., 'image', 'file')
|
|
271
250
|
mime_type: str = Field(nullable=False) # MIME type of the file
|
|
272
|
-
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|
|
273
|
-
updated_at: datetime = Field(
|
|
274
|
-
default_factory=lambda: datetime.now(timezone.utc),
|
|
275
|
-
sa_column_kwargs={"onupdate": datetime.now(timezone.utc)},
|
|
276
|
-
)
|
|
277
251
|
|
|
278
252
|
__table_args__ = (
|
|
279
253
|
UniqueConstraint(
|
|
@@ -283,7 +257,7 @@ class Attachment(SQLModel, table=True):
|
|
|
283
257
|
)
|
|
284
258
|
|
|
285
259
|
|
|
286
|
-
class ChatUIProject(SQLModel, table=True):
|
|
260
|
+
class ChatUIProject(TimestampMixin, SQLModel, table=True):
|
|
287
261
|
"""This class represents projects for organizing ChatUI conversations.
|
|
288
262
|
|
|
289
263
|
Projects allow users to group related conversations together.
|
|
@@ -310,11 +284,6 @@ class ChatUIProject(SQLModel, table=True):
|
|
|
310
284
|
"""Title of the project"""
|
|
311
285
|
description: str | None = Field(default=None, max_length=1000)
|
|
312
286
|
"""Description of the project"""
|
|
313
|
-
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|
|
314
|
-
updated_at: datetime = Field(
|
|
315
|
-
default_factory=lambda: datetime.now(timezone.utc),
|
|
316
|
-
sa_column_kwargs={"onupdate": datetime.now(timezone.utc)},
|
|
317
|
-
)
|
|
318
287
|
|
|
319
288
|
__table_args__ = (
|
|
320
289
|
UniqueConstraint(
|
|
@@ -338,7 +307,6 @@ class SessionProjectRelation(SQLModel, table=True):
|
|
|
338
307
|
"""Session ID from PlatformSession"""
|
|
339
308
|
project_id: str = Field(nullable=False, max_length=36)
|
|
340
309
|
"""Project ID from ChatUIProject"""
|
|
341
|
-
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|
|
342
310
|
|
|
343
311
|
__table_args__ = (
|
|
344
312
|
UniqueConstraint(
|
|
@@ -348,7 +316,7 @@ class SessionProjectRelation(SQLModel, table=True):
|
|
|
348
316
|
)
|
|
349
317
|
|
|
350
318
|
|
|
351
|
-
class CommandConfig(SQLModel, table=True):
|
|
319
|
+
class CommandConfig(TimestampMixin, SQLModel, table=True):
|
|
352
320
|
"""Per-command configuration overrides for dashboard management."""
|
|
353
321
|
|
|
354
322
|
__tablename__ = "command_configs" # type: ignore
|
|
@@ -368,14 +336,9 @@ class CommandConfig(SQLModel, table=True):
|
|
|
368
336
|
note: str | None = Field(default=None, sa_type=Text)
|
|
369
337
|
extra_data: dict | None = Field(default=None, sa_type=JSON)
|
|
370
338
|
auto_managed: bool = Field(default=False, nullable=False)
|
|
371
|
-
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|
|
372
|
-
updated_at: datetime = Field(
|
|
373
|
-
default_factory=lambda: datetime.now(timezone.utc),
|
|
374
|
-
sa_column_kwargs={"onupdate": datetime.now(timezone.utc)},
|
|
375
|
-
)
|
|
376
339
|
|
|
377
340
|
|
|
378
|
-
class CommandConflict(SQLModel, table=True):
|
|
341
|
+
class CommandConflict(TimestampMixin, SQLModel, table=True):
|
|
379
342
|
"""Conflict tracking for duplicated command names."""
|
|
380
343
|
|
|
381
344
|
__tablename__ = "command_conflicts" # type: ignore
|
|
@@ -392,11 +355,6 @@ class CommandConflict(SQLModel, table=True):
|
|
|
392
355
|
note: str | None = Field(default=None, sa_type=Text)
|
|
393
356
|
extra_data: dict | None = Field(default=None, sa_type=JSON)
|
|
394
357
|
auto_generated: bool = Field(default=False, nullable=False)
|
|
395
|
-
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|
|
396
|
-
updated_at: datetime = Field(
|
|
397
|
-
default_factory=lambda: datetime.now(timezone.utc),
|
|
398
|
-
sa_column_kwargs={"onupdate": datetime.now(timezone.utc)},
|
|
399
|
-
)
|
|
400
358
|
|
|
401
359
|
__table_args__ = (
|
|
402
360
|
UniqueConstraint(
|
|
@@ -582,9 +582,7 @@ class InternalAgentSubStage(Stage):
|
|
|
582
582
|
req.extra_user_content_parts.append(
|
|
583
583
|
TextPart(text=f"[Image Attachment: path {image_path}]")
|
|
584
584
|
)
|
|
585
|
-
elif isinstance(comp, File)
|
|
586
|
-
"enable", False
|
|
587
|
-
):
|
|
585
|
+
elif isinstance(comp, File):
|
|
588
586
|
file_path = await comp.get_file()
|
|
589
587
|
file_name = comp.name or os.path.basename(file_path)
|
|
590
588
|
req.extra_user_content_parts.append(
|
|
@@ -611,7 +609,10 @@ class InternalAgentSubStage(Stage):
|
|
|
611
609
|
logger.error(f"Error occurred while applying file extract: {e}")
|
|
612
610
|
|
|
613
611
|
if not req.prompt and not req.image_urls:
|
|
614
|
-
|
|
612
|
+
if not event.get_group_id() and req.extra_user_content_parts:
|
|
613
|
+
req.prompt = "<attachment>"
|
|
614
|
+
else:
|
|
615
|
+
return
|
|
615
616
|
|
|
616
617
|
# call event hook
|
|
617
618
|
if await call_event_hook(event, EventType.OnLLMRequestEvent, req):
|
|
@@ -17,7 +17,8 @@ from astrbot.core.utils.astrbot_path import (
|
|
|
17
17
|
|
|
18
18
|
SKILLS_CONFIG_FILENAME = "skills.json"
|
|
19
19
|
DEFAULT_SKILLS_CONFIG: dict[str, dict] = {"skills": {}}
|
|
20
|
-
SANDBOX_SKILLS_ROOT = "/home/shared/skills"
|
|
20
|
+
# SANDBOX_SKILLS_ROOT = "/home/shared/skills"
|
|
21
|
+
SANDBOX_SKILLS_ROOT = "skills"
|
|
21
22
|
|
|
22
23
|
_SKILL_NAME_RE = re.compile(r"^[A-Za-z0-9._-]+$")
|
|
23
24
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: AstrBot
|
|
3
|
-
Version: 4.13.
|
|
3
|
+
Version: 4.13.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
|
|
@@ -103,7 +103,7 @@ AstrBot 是一个开源的一站式 Agent 聊天机器人平台,可接入主
|
|
|
103
103
|
## 主要功能
|
|
104
104
|
|
|
105
105
|
1. 💯 免费 & 开源。
|
|
106
|
-
1. ✨ AI 大模型对话,多模态,Agent,MCP,知识库,人格设定,自动压缩对话。
|
|
106
|
+
1. ✨ AI 大模型对话,多模态,Agent,MCP,Skills,知识库,人格设定,自动压缩对话。
|
|
107
107
|
2. 🤖 支持接入 Dify、阿里云百炼、Coze 等智能体平台。
|
|
108
108
|
2. 🌐 多平台,支持 QQ、企业微信、飞书、钉钉、微信公众号、Telegram、Slack 以及[更多](#支持的消息平台)。
|
|
109
109
|
3. 📦 插件扩展,已有近 800 个插件可一键安装。
|
|
@@ -37,7 +37,7 @@ astrbot/builtin_stars/web_searcher/metadata.yaml,sha256=aHAKtP8UZJaddzIN2eFfglTO
|
|
|
37
37
|
astrbot/builtin_stars/web_searcher/engines/__init__.py,sha256=Gcp7k6m3w2Pb-hNCe3QIiYa9smQFcEzmb7jcfg2evuw,4300
|
|
38
38
|
astrbot/builtin_stars/web_searcher/engines/bing.py,sha256=pn3DPR-5SO2D_RtBIU3l9Ph7PTUB-FCZAMCYuk6kd6Q,1035
|
|
39
39
|
astrbot/builtin_stars/web_searcher/engines/sogo.py,sha256=YA7pA5-335r7UgKpyUPAeGGZQbYEwDBO8bm08Ro8Xg0,1701
|
|
40
|
-
astrbot/cli/__init__.py,sha256=
|
|
40
|
+
astrbot/cli/__init__.py,sha256=eI5KkHEFD5jz0OTYWOVaCxYxX1UbP8_xHAIvX8O5ugE,23
|
|
41
41
|
astrbot/cli/__main__.py,sha256=QobgMyFoLNTgI_OYddhGOZ9ZvQeBVjjz79mA2cC2OEU,1758
|
|
42
42
|
astrbot/cli/commands/__init__.py,sha256=eAgppZQIqFO1ylQJFABeYrzQ0oZqPWjtE80aKIPB3ks,149
|
|
43
43
|
astrbot/cli/commands/cmd_conf.py,sha256=6-YLicBt_zjWTzaVLUJ1VQLQPbDEPYACB9IVnN8Zvng,6330
|
|
@@ -103,14 +103,14 @@ astrbot/core/computer/olayer/python.py,sha256=ksv0qdOgUFMWyb9iYSI3pLLSiBznojjerQ
|
|
|
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
105
|
astrbot/core/computer/tools/fs.py,sha256=OmSaKHpbhLVw-9Nj3ug8ZOBSBlghGfhg_qajK1_5X1o,6871
|
|
106
|
-
astrbot/core/computer/tools/python.py,sha256=
|
|
107
|
-
astrbot/core/computer/tools/shell.py,sha256=
|
|
106
|
+
astrbot/core/computer/tools/python.py,sha256=E6-eRarOjE6AhYioOj5gZhfn10S3fC8uHjO3u0ThO5M,3031
|
|
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=ySh-MpB68hAF9YIx_c830FrEO0_f8BS0dV5IFxa02fI,160460
|
|
111
111
|
astrbot/core/config/i18n_utils.py,sha256=HJn_0XeeVS9ryCBelYfnc0nEn10LlX702fcSSFrF1J8,3879
|
|
112
112
|
astrbot/core/db/__init__.py,sha256=ldEFdHkuQn_WpSNEC9X6knfthF2lD5YYLLZD4phwtdg,18515
|
|
113
|
-
astrbot/core/db/po.py,sha256=
|
|
113
|
+
astrbot/core/db/po.py,sha256=qGS8X2oXc1BWQCXHxqroBr9PhYCtXS6Of4Msm7NvMpI,13786
|
|
114
114
|
astrbot/core/db/sqlite.py,sha256=ry_FhBHXDXMrfBb9Yq1qHAc-8rJEj0UP8l6pwRx1USA,58647
|
|
115
115
|
astrbot/core/db/migration/helper.py,sha256=Kogq0FLJdvWTDuAVWLT1PlTGGJcWkDMWO37KM-G8lTk,2087
|
|
116
116
|
astrbot/core/db/migration/migra_3_to_4.py,sha256=AZkywKcS2aKo81k04uD2qxHsPqKWRfVz9smEnHDxWqE,15343
|
|
@@ -163,7 +163,7 @@ astrbot/core/pipeline/process_stage/stage.py,sha256=tOg6HYGVU1GoY921YBYVO1MTM7a5
|
|
|
163
163
|
astrbot/core/pipeline/process_stage/utils.py,sha256=aOAB6A-drxvoO3XYnncCbteW_DqCelR7cnSDqeb7MRM,9379
|
|
164
164
|
astrbot/core/pipeline/process_stage/method/agent_request.py,sha256=vHC2Z73Fe96iW4j6ZbNvWQkfXD49pVWy6XKoG-20CS8,2049
|
|
165
165
|
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=
|
|
166
|
+
astrbot/core/pipeline/process_stage/method/agent_sub_stages/internal.py,sha256=f_KTw7GRXGGnQa3OEsb5l5PN-v_0_zvaQR-cmf6s1Gc,33955
|
|
167
167
|
astrbot/core/pipeline/process_stage/method/agent_sub_stages/third_party.py,sha256=LNBRItSpZn0MLP4fyHQ_3gUJ8lnmCwuPlqnZDVFLI6Q,7332
|
|
168
168
|
astrbot/core/pipeline/rate_limit_check/stage.py,sha256=9EVJ0zYtxATFsj7ADyWDYcSGBRqmrMiKWp1kkD9LONI,3962
|
|
169
169
|
astrbot/core/pipeline/respond/stage.py,sha256=RIYGXTG-XvBhgRqaHyJYWlsZjskS9pgV-2jm5o956ho,11042
|
|
@@ -259,7 +259,7 @@ astrbot/core/provider/sources/xinference_rerank_source.py,sha256=DsF4JVlXGeeqqyc
|
|
|
259
259
|
astrbot/core/provider/sources/xinference_stt_provider.py,sha256=A2kzsVZD6Fnbfgv7r1xY1y5tT05mRKZYfRVfe8vN8JA,8198
|
|
260
260
|
astrbot/core/provider/sources/zhipu_source.py,sha256=oOCPXGsR9PLWOuu3h8RSVNRw1Qy2Se6dwmeFR3zk3GM,612
|
|
261
261
|
astrbot/core/skills/__init__.py,sha256=6ADR-BbIwB_QlXnWPki4RBPH5XbhNOQDlP5PHFKB32s,136
|
|
262
|
-
astrbot/core/skills/skill_manager.py,sha256=
|
|
262
|
+
astrbot/core/skills/skill_manager.py,sha256=OLtg3zm1JRpKGyCf2pQAEr92Sm-3LVbdQqltlxhq8R4,9691
|
|
263
263
|
astrbot/core/star/README.md,sha256=LXxqxp3xv_oejO8ocBPOrbmLe0WB4feu43fYDNddHTQ,161
|
|
264
264
|
astrbot/core/star/__init__.py,sha256=iTlnjfEGJGy--78PhG7F1cKj9VwJVcDNFtGomX8hRO0,2229
|
|
265
265
|
astrbot/core/star/command_management.py,sha256=AAmbY-saiIoExPzDY5DMxQwCnUvtsWztMJxQIVk2Qco,18099
|
|
@@ -333,8 +333,8 @@ astrbot/dashboard/routes/t2i.py,sha256=F6smxdL99MF7cRw3hqS6-2GErw8Zhsv0V0mfBUeEk
|
|
|
333
333
|
astrbot/dashboard/routes/tools.py,sha256=mMwVFw_VOlpqy_WZg1A-ddGtYa5L5QLWYawl37PT0-c,15354
|
|
334
334
|
astrbot/dashboard/routes/update.py,sha256=qXiqQ_dbqRVftOzGgCQrvK8-qopVK6zKhhVVJ9SK26U,6648
|
|
335
335
|
astrbot/dashboard/routes/util.py,sha256=Ewf5EgWs0evjOyIbgFffJH6T4DzgDrIoacd6VZ5Ix2c,2856
|
|
336
|
-
astrbot-4.13.
|
|
337
|
-
astrbot-4.13.
|
|
338
|
-
astrbot-4.13.
|
|
339
|
-
astrbot-4.13.
|
|
340
|
-
astrbot-4.13.
|
|
336
|
+
astrbot-4.13.1.dist-info/METADATA,sha256=xtb5mFEbGeIvc4K5zx3SLYMxbOQl1Zy3Bh9jpUWJiEI,12192
|
|
337
|
+
astrbot-4.13.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
338
|
+
astrbot-4.13.1.dist-info/entry_points.txt,sha256=OEF09YmhBWYuViXrvTLLpstF4ccmNwDL8r7nnFD0pfI,53
|
|
339
|
+
astrbot-4.13.1.dist-info/licenses/LICENSE,sha256=zPfQj5Mq8-gThIiBcxETr7t8gND9bZWOjTGQAr80TQI,34500
|
|
340
|
+
astrbot-4.13.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|