AstrBot 3.5.26__tar.gz → 4.0.0__tar.gz

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 (531) hide show
  1. {astrbot-3.5.26 → astrbot-4.0.0}/.github/workflows/docker-image.yml +29 -2
  2. {astrbot-3.5.26 → astrbot-4.0.0}/PKG-INFO +33 -50
  3. {astrbot-3.5.26 → astrbot-4.0.0}/README.md +28 -48
  4. astrbot-4.0.0/astrbot/api/__init__.py +20 -0
  5. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/cli/utils/basic.py +12 -3
  6. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/__init__.py +1 -2
  7. astrbot-4.0.0/astrbot/core/agent/agent.py +13 -0
  8. astrbot-4.0.0/astrbot/core/agent/handoff.py +34 -0
  9. astrbot-4.0.0/astrbot/core/agent/hooks.py +27 -0
  10. astrbot-4.0.0/astrbot/core/agent/mcp_client.py +208 -0
  11. astrbot-4.0.0/astrbot/core/agent/response.py +12 -0
  12. astrbot-4.0.0/astrbot/core/agent/run_context.py +17 -0
  13. astrbot-4.0.0/astrbot/core/agent/runners/__init__.py +3 -0
  14. {astrbot-3.5.26/astrbot/core/pipeline/process_stage/agent_runner → astrbot-4.0.0/astrbot/core/agent/runners}/base.py +20 -19
  15. astrbot-3.5.26/astrbot/core/pipeline/process_stage/agent_runner/tool_loop_agent.py → astrbot-4.0.0/astrbot/core/agent/runners/tool_loop_agent_runner.py +126 -98
  16. astrbot-4.0.0/astrbot/core/agent/tool.py +256 -0
  17. astrbot-4.0.0/astrbot/core/agent/tool_executor.py +11 -0
  18. astrbot-4.0.0/astrbot/core/astr_agent_context.py +11 -0
  19. astrbot-4.0.0/astrbot/core/astrbot_config_mgr.py +283 -0
  20. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/config/default.py +654 -239
  21. astrbot-4.0.0/astrbot/core/conversation_mgr.py +297 -0
  22. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/core_lifecycle.py +66 -9
  23. astrbot-4.0.0/astrbot/core/db/__init__.py +284 -0
  24. astrbot-4.0.0/astrbot/core/db/migration/helper.py +64 -0
  25. astrbot-4.0.0/astrbot/core/db/migration/migra_3_to_4.py +338 -0
  26. astrbot-3.5.26/astrbot/core/utils/shared_preferences.py → astrbot-4.0.0/astrbot/core/db/migration/shared_preferences_v3.py +3 -1
  27. astrbot-3.5.26/astrbot/core/db/sqlite.py → astrbot-4.0.0/astrbot/core/db/migration/sqlite_v3.py +78 -152
  28. astrbot-4.0.0/astrbot/core/db/po.py +244 -0
  29. astrbot-4.0.0/astrbot/core/db/sqlite.py +542 -0
  30. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/db/vec_db/faiss_impl/vec_db.py +28 -5
  31. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/event_bus.py +21 -19
  32. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/message/components.py +59 -50
  33. astrbot-4.0.0/astrbot/core/persona_mgr.py +183 -0
  34. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/pipeline/__init__.py +0 -3
  35. astrbot-4.0.0/astrbot/core/pipeline/context.py +15 -0
  36. astrbot-4.0.0/astrbot/core/pipeline/context_utils.py +98 -0
  37. astrbot-4.0.0/astrbot/core/pipeline/process_stage/method/llm_request.py +594 -0
  38. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/pipeline/process_stage/method/star_request.py +2 -12
  39. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/pipeline/respond/stage.py +2 -2
  40. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/pipeline/result_decorate/stage.py +10 -5
  41. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/pipeline/scheduler.py +9 -8
  42. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/pipeline/stage.py +3 -3
  43. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/pipeline/waking_check/stage.py +10 -1
  44. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/astr_message_event.py +15 -17
  45. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/manager.py +5 -0
  46. astrbot-4.0.0/astrbot/core/platform/message_session.py +28 -0
  47. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/platform.py +1 -1
  48. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/platform_metadata.py +1 -1
  49. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/aiocqhttp/aiocqhttp_message_event.py +26 -14
  50. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/aiocqhttp/aiocqhttp_platform_adapter.py +11 -4
  51. astrbot-4.0.0/astrbot/core/platform/sources/satori/satori_adapter.py +482 -0
  52. astrbot-4.0.0/astrbot/core/platform/sources/satori/satori_event.py +221 -0
  53. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/telegram/tg_adapter.py +0 -1
  54. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/webchat/webchat_adapter.py +1 -1
  55. astrbot-4.0.0/astrbot/core/platform_message_history_mgr.py +47 -0
  56. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/entities.py +27 -17
  57. astrbot-4.0.0/astrbot/core/provider/func_tool_manager.py +570 -0
  58. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/manager.py +115 -94
  59. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/provider.py +25 -16
  60. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/dashscope_source.py +1 -2
  61. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/dify_source.py +1 -2
  62. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/gemini_source.py +57 -18
  63. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/openai_source.py +3 -3
  64. astrbot-4.0.0/astrbot/core/provider/sources/vllm_rerank_source.py +59 -0
  65. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/__init__.py +7 -5
  66. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/context.py +73 -78
  67. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/filter/platform_adapter_type.py +3 -0
  68. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/register/__init__.py +2 -0
  69. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/register/star_handler.py +67 -5
  70. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/session_llm_manager.py +42 -85
  71. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/session_plugin_manager.py +12 -4
  72. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/star.py +0 -24
  73. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/star_handler.py +17 -33
  74. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/star_manager.py +33 -51
  75. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/star_tools.py +116 -21
  76. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/updator.py +7 -5
  77. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/utils/io.py +1 -1
  78. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/utils/metrics.py +4 -3
  79. astrbot-4.0.0/astrbot/core/utils/shared_preferences.py +180 -0
  80. astrbot-4.0.0/astrbot/core/utils/t2i/network_strategy.py +128 -0
  81. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/utils/t2i/renderer.py +10 -6
  82. astrbot-4.0.0/astrbot/core/utils/t2i/template/astrbot_powershell.html +184 -0
  83. astrbot-4.0.0/astrbot/core/utils/t2i/template/default_template.html.bak +247 -0
  84. astrbot-4.0.0/astrbot/core/utils/t2i/template_manager.py +95 -0
  85. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/zip_updator.py +26 -4
  86. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/dashboard/routes/__init__.py +3 -2
  87. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/dashboard/routes/chat.py +83 -53
  88. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/dashboard/routes/config.py +237 -70
  89. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/dashboard/routes/conversation.py +26 -12
  90. astrbot-4.0.0/astrbot/dashboard/routes/persona.py +199 -0
  91. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/dashboard/routes/plugin.py +0 -105
  92. astrbot-4.0.0/astrbot/dashboard/routes/route.py +56 -0
  93. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/dashboard/routes/session_management.py +35 -199
  94. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/dashboard/routes/stat.py +5 -1
  95. astrbot-4.0.0/astrbot/dashboard/routes/t2i.py +232 -0
  96. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/dashboard/routes/tools.py +65 -65
  97. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/dashboard/routes/update.py +20 -5
  98. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/dashboard/server.py +3 -0
  99. astrbot-4.0.0/changelogs/v3.5.27.md +5 -0
  100. astrbot-4.0.0/changelogs/v4.0.0-beta.3.md +3 -0
  101. astrbot-4.0.0/changelogs/v4.0.0-beta.4.md +8 -0
  102. astrbot-4.0.0/changelogs/v4.0.0-beta.5.md +15 -0
  103. astrbot-4.0.0/changelogs/v4.0.0.md +24 -0
  104. astrbot-4.0.0/dashboard/src/assets/images/astrbot_banner.png +0 -0
  105. astrbot-4.0.0/dashboard/src/assets/images/platform_logos/satori.png +0 -0
  106. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/components/shared/AstrBotConfig.vue +106 -7
  107. astrbot-4.0.0/dashboard/src/components/shared/AstrBotConfigV4.vue +456 -0
  108. astrbot-4.0.0/dashboard/src/components/shared/KnowledgeBaseSelector.vue +225 -0
  109. astrbot-4.0.0/dashboard/src/components/shared/ListConfigItem.vue +216 -0
  110. astrbot-4.0.0/dashboard/src/components/shared/MigrationDialog.vue +297 -0
  111. astrbot-4.0.0/dashboard/src/components/shared/PersonaSelector.vue +152 -0
  112. astrbot-4.0.0/dashboard/src/components/shared/PluginSetSelector.vue +226 -0
  113. astrbot-4.0.0/dashboard/src/components/shared/ProviderSelector.vue +167 -0
  114. astrbot-4.0.0/dashboard/src/components/shared/T2ITemplateEditor.vue +546 -0
  115. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/loader.ts +2 -0
  116. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/core/header.json +1 -1
  117. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/core/navigation.json +2 -1
  118. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/features/alkaid/knowledge-base.json +36 -18
  119. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/features/extension.json +0 -15
  120. astrbot-4.0.0/dashboard/src/i18n/locales/en-US/features/migration.json +18 -0
  121. astrbot-4.0.0/dashboard/src/i18n/locales/en-US/features/persona.json +67 -0
  122. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/features/platform.json +5 -0
  123. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/features/provider.json +4 -2
  124. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/features/settings.json +5 -0
  125. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/features/tool-use.json +8 -3
  126. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/core/header.json +1 -1
  127. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/core/navigation.json +4 -3
  128. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/features/alkaid/knowledge-base.json +37 -19
  129. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/features/config.json +5 -1
  130. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/features/extension.json +0 -15
  131. astrbot-4.0.0/dashboard/src/i18n/locales/zh-CN/features/migration.json +18 -0
  132. astrbot-4.0.0/dashboard/src/i18n/locales/zh-CN/features/persona.json +67 -0
  133. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/features/platform.json +5 -0
  134. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/features/provider.json +5 -2
  135. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/features/settings.json +5 -0
  136. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/features/tool-use.json +46 -5
  137. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/translations.ts +10 -2
  138. astrbot-4.0.0/dashboard/src/layouts/full/FullLayout.vue +59 -0
  139. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/layouts/full/vertical-header/VerticalHeader.vue +3 -5
  140. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/layouts/full/vertical-sidebar/VerticalSidebar.vue +1 -2
  141. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/layouts/full/vertical-sidebar/sidebarItem.ts +13 -14
  142. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/router/MainRoutes.ts +30 -20
  143. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/scss/components/_VTextField.scss +4 -14
  144. astrbot-4.0.0/dashboard/src/views/AboutPage.vue +40 -0
  145. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/ChatPage.vue +69 -57
  146. astrbot-4.0.0/dashboard/src/views/ConfigPage.vue +1168 -0
  147. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/ExtensionPage.vue +11 -197
  148. astrbot-4.0.0/dashboard/src/views/PersonaPage.vue +807 -0
  149. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/PlatformPage.vue +95 -20
  150. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/ProviderPage.vue +28 -94
  151. astrbot-4.0.0/dashboard/src/views/Settings.vue +61 -0
  152. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/ToolUsePage.vue +192 -414
  153. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/alkaid/KnowledgeBase.vue +541 -94
  154. {astrbot-3.5.26 → astrbot-4.0.0}/main.py +3 -3
  155. {astrbot-3.5.26 → astrbot-4.0.0}/packages/astrbot/long_term_memory.py +60 -35
  156. {astrbot-3.5.26 → astrbot-4.0.0}/packages/astrbot/main.py +116 -116
  157. {astrbot-3.5.26 → astrbot-4.0.0}/packages/python_interpreter/main.py +4 -4
  158. {astrbot-3.5.26 → astrbot-4.0.0}/packages/session_controller/main.py +8 -7
  159. {astrbot-3.5.26 → astrbot-4.0.0}/packages/thinking_filter/main.py +4 -6
  160. astrbot-4.0.0/packages/web_searcher/main.py +352 -0
  161. {astrbot-3.5.26 → astrbot-4.0.0}/pyproject.toml +5 -2
  162. {astrbot-3.5.26 → astrbot-4.0.0}/requirements.txt +4 -1
  163. astrbot-4.0.0/uv.lock +3407 -0
  164. astrbot-3.5.26/astrbot/api/__init__.py +0 -7
  165. astrbot-3.5.26/astrbot/core/conversation_mgr.py +0 -209
  166. astrbot-3.5.26/astrbot/core/db/__init__.py +0 -161
  167. astrbot-3.5.26/astrbot/core/db/po.py +0 -89
  168. astrbot-3.5.26/astrbot/core/db/sqlite_init.sql +0 -50
  169. astrbot-3.5.26/astrbot/core/pipeline/context.py +0 -113
  170. astrbot-3.5.26/astrbot/core/pipeline/platform_compatibility/stage.py +0 -56
  171. astrbot-3.5.26/astrbot/core/pipeline/process_stage/method/llm_request.py +0 -373
  172. astrbot-3.5.26/astrbot/core/provider/func_tool_manager.py +0 -758
  173. astrbot-3.5.26/astrbot/core/utils/t2i/network_strategy.py +0 -81
  174. astrbot-3.5.26/astrbot/dashboard/routes/route.py +0 -37
  175. astrbot-3.5.26/dashboard/src/assets/images/logo-normal.svg +0 -40
  176. astrbot-3.5.26/dashboard/src/assets/images/logo-waifu.png +0 -0
  177. astrbot-3.5.26/dashboard/src/components/shared/ListConfigItem.vue +0 -135
  178. astrbot-3.5.26/dashboard/src/layouts/full/FullLayout.vue +0 -25
  179. astrbot-3.5.26/dashboard/src/views/AboutPage.vue +0 -244
  180. astrbot-3.5.26/dashboard/src/views/AlkaidPage_sigma.vue +0 -438
  181. astrbot-3.5.26/dashboard/src/views/ConfigPage.vue +0 -280
  182. astrbot-3.5.26/dashboard/src/views/Settings.vue +0 -48
  183. astrbot-3.5.26/packages/web_searcher/main.py +0 -150
  184. astrbot-3.5.26/uv.lock +0 -2748
  185. {astrbot-3.5.26 → astrbot-4.0.0}/.dockerignore +0 -0
  186. {astrbot-3.5.26 → astrbot-4.0.0}/.github/FUNDING.yml +0 -0
  187. {astrbot-3.5.26 → astrbot-4.0.0}/.github/ISSUE_TEMPLATE/PLUGIN_PUBLISH.yml +0 -0
  188. {astrbot-3.5.26 → astrbot-4.0.0}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  189. {astrbot-3.5.26 → astrbot-4.0.0}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  190. {astrbot-3.5.26 → astrbot-4.0.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  191. {astrbot-3.5.26 → astrbot-4.0.0}/.github/copilot-instructions.md +0 -0
  192. {astrbot-3.5.26 → astrbot-4.0.0}/.github/dependabot.yml +0 -0
  193. {astrbot-3.5.26 → astrbot-4.0.0}/.github/workflows/auto_release.yml +0 -0
  194. {astrbot-3.5.26 → astrbot-4.0.0}/.github/workflows/codeql.yml +0 -0
  195. {astrbot-3.5.26 → astrbot-4.0.0}/.github/workflows/coverage_test.yml +0 -0
  196. {astrbot-3.5.26 → astrbot-4.0.0}/.github/workflows/dashboard_ci.yml +0 -0
  197. {astrbot-3.5.26 → astrbot-4.0.0}/.github/workflows/stale.yml +0 -0
  198. {astrbot-3.5.26 → astrbot-4.0.0}/.gitignore +0 -0
  199. {astrbot-3.5.26 → astrbot-4.0.0}/.pre-commit-config.yaml +0 -0
  200. {astrbot-3.5.26 → astrbot-4.0.0}/.python-version +0 -0
  201. {astrbot-3.5.26 → astrbot-4.0.0}/CODE_OF_CONDUCT.md +0 -0
  202. {astrbot-3.5.26 → astrbot-4.0.0}/Dockerfile +0 -0
  203. {astrbot-3.5.26 → astrbot-4.0.0}/Dockerfile_with_node +0 -0
  204. {astrbot-3.5.26 → astrbot-4.0.0}/LICENSE +0 -0
  205. {astrbot-3.5.26 → astrbot-4.0.0}/README_en.md +0 -0
  206. {astrbot-3.5.26 → astrbot-4.0.0}/README_ja.md +0 -0
  207. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/__init__.py +0 -0
  208. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/api/all.py +0 -0
  209. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/api/event/__init__.py +0 -0
  210. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/api/event/filter/__init__.py +0 -0
  211. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/api/message_components.py +0 -0
  212. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/api/platform/__init__.py +0 -0
  213. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/api/provider/__init__.py +0 -0
  214. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/api/star/__init__.py +0 -0
  215. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/api/util/__init__.py +0 -0
  216. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/cli/__init__.py +0 -0
  217. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/cli/__main__.py +0 -0
  218. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/cli/commands/__init__.py +0 -0
  219. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/cli/commands/cmd_conf.py +0 -0
  220. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/cli/commands/cmd_init.py +0 -0
  221. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/cli/commands/cmd_plug.py +0 -0
  222. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/cli/commands/cmd_run.py +0 -0
  223. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/cli/utils/__init__.py +0 -0
  224. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/cli/utils/plugin.py +0 -0
  225. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/cli/utils/version_comparator.py +0 -0
  226. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/config/__init__.py +0 -0
  227. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/config/astrbot_config.py +0 -0
  228. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/db/vec_db/base.py +0 -0
  229. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/db/vec_db/faiss_impl/__init__.py +0 -0
  230. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/db/vec_db/faiss_impl/document_storage.py +0 -0
  231. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/db/vec_db/faiss_impl/embedding_storage.py +0 -0
  232. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/db/vec_db/faiss_impl/sqlite_init.sql +0 -0
  233. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/file_token_service.py +0 -0
  234. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/initial_loader.py +0 -0
  235. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/log.py +0 -0
  236. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/message/message_event_result.py +0 -0
  237. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/pipeline/content_safety_check/stage.py +0 -0
  238. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/pipeline/content_safety_check/strategies/__init__.py +0 -0
  239. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/pipeline/content_safety_check/strategies/baidu_aip.py +0 -0
  240. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/pipeline/content_safety_check/strategies/keywords.py +0 -0
  241. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/pipeline/content_safety_check/strategies/strategy.py +0 -0
  242. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/pipeline/preprocess_stage/stage.py +0 -0
  243. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/pipeline/process_stage/stage.py +0 -0
  244. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/pipeline/rate_limit_check/stage.py +0 -0
  245. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/pipeline/session_status_check/stage.py +0 -0
  246. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/pipeline/whitelist_check/stage.py +0 -0
  247. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/__init__.py +0 -0
  248. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/astrbot_message.py +0 -0
  249. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/message_type.py +0 -0
  250. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/register.py +0 -0
  251. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/dingtalk/dingtalk_adapter.py +0 -0
  252. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/dingtalk/dingtalk_event.py +0 -0
  253. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/discord/client.py +0 -0
  254. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/discord/components.py +0 -0
  255. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/discord/discord_platform_adapter.py +0 -0
  256. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/discord/discord_platform_event.py +0 -0
  257. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/lark/lark_adapter.py +0 -0
  258. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/lark/lark_event.py +0 -0
  259. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/qqofficial/qqofficial_message_event.py +0 -0
  260. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/qqofficial/qqofficial_platform_adapter.py +0 -0
  261. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_adapter.py +0 -0
  262. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_event.py +0 -0
  263. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_server.py +0 -0
  264. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/slack/client.py +0 -0
  265. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/slack/slack_adapter.py +0 -0
  266. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/slack/slack_event.py +0 -0
  267. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/telegram/tg_event.py +0 -0
  268. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/webchat/webchat_event.py +0 -0
  269. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/webchat/webchat_queue_mgr.py +0 -0
  270. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/wechatpadpro/wechatpadpro_adapter.py +0 -0
  271. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/wechatpadpro/wechatpadpro_message_event.py +0 -0
  272. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/wechatpadpro/xml_data_parser.py +0 -0
  273. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/wecom/wecom_adapter.py +0 -0
  274. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/wecom/wecom_event.py +0 -0
  275. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/wecom/wecom_kf.py +0 -0
  276. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/wecom/wecom_kf_message.py +0 -0
  277. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/weixin_official_account/weixin_offacc_adapter.py +0 -0
  278. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/platform/sources/weixin_official_account/weixin_offacc_event.py +0 -0
  279. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/__init__.py +0 -0
  280. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/entites.py +0 -0
  281. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/register.py +0 -0
  282. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/anthropic_source.py +0 -0
  283. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/azure_tts_source.py +0 -0
  284. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/dashscope_tts.py +0 -0
  285. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/edge_tts_source.py +0 -0
  286. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/fishaudio_tts_api_source.py +0 -0
  287. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/gemini_embedding_source.py +0 -0
  288. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/gemini_tts_source.py +0 -0
  289. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/gsv_selfhosted_source.py +0 -0
  290. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/gsvi_tts_source.py +0 -0
  291. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/minimax_tts_api_source.py +0 -0
  292. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/openai_embedding_source.py +0 -0
  293. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/openai_tts_api_source.py +0 -0
  294. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/sensevoice_selfhosted_source.py +0 -0
  295. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/volcengine_tts.py +0 -0
  296. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/whisper_api_source.py +0 -0
  297. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/whisper_selfhosted_source.py +0 -0
  298. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/provider/sources/zhipu_source.py +0 -0
  299. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/README.md +0 -0
  300. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/config.py +0 -0
  301. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/filter/__init__.py +0 -0
  302. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/filter/command.py +0 -0
  303. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/filter/command_group.py +0 -0
  304. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/filter/custom_filter.py +0 -0
  305. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/filter/event_message_type.py +0 -0
  306. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/filter/permission.py +0 -0
  307. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/filter/regex.py +0 -0
  308. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/register/star.py +0 -0
  309. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/star/updator.py +0 -0
  310. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/utils/astrbot_path.py +0 -0
  311. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/utils/command_parser.py +0 -0
  312. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/utils/dify_api_client.py +0 -0
  313. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/utils/log_pipe.py +0 -0
  314. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/utils/path_util.py +0 -0
  315. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/utils/pip_installer.py +0 -0
  316. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/utils/session_lock.py +0 -0
  317. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/utils/session_waiter.py +0 -0
  318. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/utils/t2i/__init__.py +0 -0
  319. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/utils/t2i/local_strategy.py +0 -0
  320. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/utils/t2i/template/base.html +0 -0
  321. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/utils/tencent_record_helper.py +0 -0
  322. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/core/utils/version_comparator.py +0 -0
  323. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/dashboard/routes/auth.py +0 -0
  324. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/dashboard/routes/file.py +0 -0
  325. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/dashboard/routes/log.py +0 -0
  326. {astrbot-3.5.26 → astrbot-4.0.0}/astrbot/dashboard/routes/static_file.py +0 -0
  327. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.0.md +0 -0
  328. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.1.md +0 -0
  329. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.10.md +0 -0
  330. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.11.md +0 -0
  331. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.12.md +0 -0
  332. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.13.md +0 -0
  333. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.14.md +0 -0
  334. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.15.md +0 -0
  335. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.16.md +0 -0
  336. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.17.md +0 -0
  337. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.18.md +0 -0
  338. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.19.md +0 -0
  339. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.20.md +0 -0
  340. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.21.md +0 -0
  341. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.22.md +0 -0
  342. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.23.md +0 -0
  343. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.24.md +0 -0
  344. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.25.md +0 -0
  345. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.26.md +0 -0
  346. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.27.md +0 -0
  347. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.28.md +0 -0
  348. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.29.md +0 -0
  349. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.3.md +0 -0
  350. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.30.md +0 -0
  351. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.31.md +0 -0
  352. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.32.md +0 -0
  353. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.33.md +0 -0
  354. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.35.md +0 -0
  355. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.36.md +0 -0
  356. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.37.md +0 -0
  357. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.38.md +0 -0
  358. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.39.md +0 -0
  359. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.4.md +0 -0
  360. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.5.md +0 -0
  361. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.6.md +0 -0
  362. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.7.md +0 -0
  363. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.8.md +0 -0
  364. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.4.9.md +0 -0
  365. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.0.md +0 -0
  366. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.1.md +0 -0
  367. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.10.md +0 -0
  368. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.11.md +0 -0
  369. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.12.md +0 -0
  370. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.13.md +0 -0
  371. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.14.md +0 -0
  372. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.15.md +0 -0
  373. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.16.md +0 -0
  374. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.17.md +0 -0
  375. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.18.md +0 -0
  376. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.19.md +0 -0
  377. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.2.md +0 -0
  378. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.20.md +0 -0
  379. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.21.md +0 -0
  380. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.22.md +0 -0
  381. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.23.md +0 -0
  382. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.24.md +0 -0
  383. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.25.md +0 -0
  384. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.26.md +0 -0
  385. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.3.1.md +0 -0
  386. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.3.2.md +0 -0
  387. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.3.md +0 -0
  388. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.4.md +0 -0
  389. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.5.md +0 -0
  390. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.6.md +0 -0
  391. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.7.md +0 -0
  392. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.8.md +0 -0
  393. {astrbot-3.5.26 → astrbot-4.0.0}/changelogs/v3.5.9.md +0 -0
  394. {astrbot-3.5.26 → astrbot-4.0.0}/compose.yml +0 -0
  395. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/.gitignore +0 -0
  396. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/LICENSE +0 -0
  397. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/README.md +0 -0
  398. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/env.d.ts +0 -0
  399. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/index.html +0 -0
  400. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/public/_redirects +0 -0
  401. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/public/favicon.svg +0 -0
  402. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/App.vue +0 -0
  403. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/assets/images/astrbot_logo_mini.webp +0 -0
  404. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/assets/images/platform_logos/dingtalk.svg +0 -0
  405. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/assets/images/platform_logos/discord.svg +0 -0
  406. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/assets/images/platform_logos/kook.png +0 -0
  407. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/assets/images/platform_logos/lark.png +0 -0
  408. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/assets/images/platform_logos/qq.png +0 -0
  409. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/assets/images/platform_logos/slack.svg +0 -0
  410. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/assets/images/platform_logos/telegram.svg +0 -0
  411. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/assets/images/platform_logos/vocechat.png +0 -0
  412. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/assets/images/platform_logos/wechat.png +0 -0
  413. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/assets/images/platform_logos/wecom.png +0 -0
  414. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/components/ConfirmDialog.vue +0 -0
  415. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/components/chat/ProviderModelSelector.vue +0 -0
  416. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/components/shared/ConsoleDisplayer.vue +0 -0
  417. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/components/shared/ExtensionCard.vue +0 -0
  418. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/components/shared/ItemCard.vue +0 -0
  419. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/components/shared/ItemCardGrid.vue +0 -0
  420. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/components/shared/LanguageSwitcher.vue +0 -0
  421. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/components/shared/Logo.vue +0 -0
  422. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/components/shared/ProxySelector.vue +0 -0
  423. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/components/shared/ReadmeDialog.vue +0 -0
  424. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/components/shared/UiParentCard.vue +0 -0
  425. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/components/shared/WaitingForRestart.vue +0 -0
  426. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/config.ts +0 -0
  427. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/composables.ts +0 -0
  428. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/core/actions.json +0 -0
  429. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/core/common.json +0 -0
  430. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/core/status.json +0 -0
  431. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/features/about.json +0 -0
  432. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/features/alkaid/index.json +0 -0
  433. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/features/alkaid/memory.json +0 -0
  434. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/features/auth.json +0 -0
  435. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/features/chart.json +0 -0
  436. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/features/chat.json +0 -0
  437. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/features/config.json +0 -0
  438. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/features/console.json +0 -0
  439. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/features/conversation.json +0 -0
  440. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/features/dashboard.json +0 -0
  441. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/features/session-management.json +0 -0
  442. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/messages/errors.json +0 -0
  443. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/messages/success.json +0 -0
  444. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/en-US/messages/validation.json +0 -0
  445. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/core/actions.json +0 -0
  446. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/core/common.json +0 -0
  447. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/core/status.json +0 -0
  448. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/features/about.json +0 -0
  449. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/features/alkaid/index.json +0 -0
  450. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/features/alkaid/memory.json +0 -0
  451. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/features/auth.json +0 -0
  452. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/features/chart.json +0 -0
  453. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/features/chat.json +0 -0
  454. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/features/console.json +0 -0
  455. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/features/conversation.json +0 -0
  456. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/features/dashboard.json +0 -0
  457. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/features/session-management.json +0 -0
  458. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/messages/errors.json +0 -0
  459. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/messages/success.json +0 -0
  460. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/locales/zh-CN/messages/validation.json +0 -0
  461. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/tools/index.ts +0 -0
  462. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/types.ts +0 -0
  463. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/i18n/validator.ts +0 -0
  464. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/layouts/blank/BlankLayout.vue +0 -0
  465. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/layouts/full/vertical-sidebar/NavItem.vue +0 -0
  466. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/main.ts +0 -0
  467. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/plugins/confirmPlugin.ts +0 -0
  468. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/plugins/vuetify.ts +0 -0
  469. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/router/AuthRoutes.ts +0 -0
  470. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/router/ChatBoxRoutes.ts +0 -0
  471. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/router/index.ts +0 -0
  472. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/scss/_override.scss +0 -0
  473. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/scss/_variables.scss +0 -0
  474. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/scss/components/_VButtons.scss +0 -0
  475. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/scss/components/_VCard.scss +0 -0
  476. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/scss/components/_VField.scss +0 -0
  477. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/scss/components/_VInput.scss +0 -0
  478. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/scss/components/_VNavigationDrawer.scss +0 -0
  479. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/scss/components/_VScrollbar.scss +0 -0
  480. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/scss/components/_VShadow.scss +0 -0
  481. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/scss/components/_VTabs.scss +0 -0
  482. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/scss/layout/_container.scss +0 -0
  483. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/scss/layout/_sidebar.scss +0 -0
  484. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/scss/pages/_dashboards.scss +0 -0
  485. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/scss/style.scss +0 -0
  486. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/stores/auth.ts +0 -0
  487. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/stores/common.js +0 -0
  488. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/stores/customizer.ts +0 -0
  489. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/theme/DarkTheme.ts +0 -0
  490. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/theme/LightTheme.ts +0 -0
  491. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/types/themeTypes/ThemeType.ts +0 -0
  492. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/types/vue3-print-nb.d.ts +0 -0
  493. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/types/vue_tabler_icon.d.ts +0 -0
  494. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/AlkaidPage.vue +0 -0
  495. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/ChatBoxPage.vue +0 -0
  496. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/ConsolePage.vue +0 -0
  497. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/ConversationPage.vue +0 -0
  498. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/SessionManagementPage.vue +0 -0
  499. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/alkaid/LongTermMemory.vue +0 -0
  500. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/alkaid/Other.vue +0 -0
  501. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/authentication/auth/LoginPage.vue +0 -0
  502. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/authentication/authForms/AuthLogin.vue +0 -0
  503. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/dashboards/default/DefaultDashboard.vue +0 -0
  504. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/dashboards/default/components/MemoryUsage.vue +0 -0
  505. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/dashboards/default/components/MessageStat.vue +0 -0
  506. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/dashboards/default/components/OnlinePlatform.vue +0 -0
  507. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/dashboards/default/components/OnlineTime.vue +0 -0
  508. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/dashboards/default/components/PlatformStat.vue +0 -0
  509. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/dashboards/default/components/RunningTime.vue +0 -0
  510. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/src/views/dashboards/default/components/TotalMessage.vue +0 -0
  511. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/tsconfig.json +0 -0
  512. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/tsconfig.vite-config.json +0 -0
  513. {astrbot-3.5.26 → astrbot-4.0.0}/dashboard/vite.config.ts +0 -0
  514. {astrbot-3.5.26 → astrbot-4.0.0}/packages/astrbot/metadata.yaml +0 -0
  515. {astrbot-3.5.26 → astrbot-4.0.0}/packages/python_interpreter/metadata.yaml +0 -0
  516. {astrbot-3.5.26 → astrbot-4.0.0}/packages/python_interpreter/requirements.txt +0 -0
  517. {astrbot-3.5.26 → astrbot-4.0.0}/packages/python_interpreter/shared/api.py +0 -0
  518. {astrbot-3.5.26 → astrbot-4.0.0}/packages/reminder/main.py +0 -0
  519. {astrbot-3.5.26 → astrbot-4.0.0}/packages/reminder/metadata.yaml +0 -0
  520. {astrbot-3.5.26 → astrbot-4.0.0}/packages/session_controller/metadata.yaml +0 -0
  521. {astrbot-3.5.26 → astrbot-4.0.0}/packages/thinking_filter/metadata.yaml +0 -0
  522. {astrbot-3.5.26 → astrbot-4.0.0}/packages/web_searcher/engines/__init__.py +0 -0
  523. {astrbot-3.5.26 → astrbot-4.0.0}/packages/web_searcher/engines/bing.py +0 -0
  524. {astrbot-3.5.26 → astrbot-4.0.0}/packages/web_searcher/engines/google.py +0 -0
  525. {astrbot-3.5.26 → astrbot-4.0.0}/packages/web_searcher/engines/sogo.py +0 -0
  526. {astrbot-3.5.26 → astrbot-4.0.0}/packages/web_searcher/metadata.yaml +0 -0
  527. {astrbot-3.5.26 → astrbot-4.0.0}/samples/stt_health_check.wav +0 -0
  528. {astrbot-3.5.26 → astrbot-4.0.0}/tests/test_dashboard.py +0 -0
  529. {astrbot-3.5.26 → astrbot-4.0.0}/tests/test_main.py +0 -0
  530. {astrbot-3.5.26 → astrbot-4.0.0}/tests/test_pipeline.py +0 -0
  531. {astrbot-3.5.26 → astrbot-4.0.0}/tests/test_plugin_manager.py +0 -0
@@ -27,6 +27,33 @@ jobs:
27
27
  if: github.event_name == 'workflow_dispatch'
28
28
  run: git checkout ${{ steps.get-latest-tag.outputs.latest_tag }}
29
29
 
30
+ - name: Check if version is pre-release
31
+ id: check-prerelease
32
+ run: |
33
+ if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
34
+ version="${{ steps.get-latest-tag.outputs.latest_tag }}"
35
+ else
36
+ version="${{ github.ref_name }}"
37
+ fi
38
+ if [[ "$version" == *"beta"* ]] || [[ "$version" == *"alpha"* ]]; then
39
+ echo "is_prerelease=true" >> $GITHUB_OUTPUT
40
+ echo "Version $version is a pre-release, will not push latest tag"
41
+ else
42
+ echo "is_prerelease=false" >> $GITHUB_OUTPUT
43
+ echo "Version $version is a stable release, will push latest tag"
44
+ fi
45
+
46
+ - name: Build Dashboard
47
+ run: |
48
+ cd dashboard
49
+ npm install
50
+ npm run build
51
+ mkdir -p dist/assets
52
+ echo $(git rev-parse HEAD) > dist/assets/version
53
+ cd ..
54
+ mkdir -p data
55
+ cp -r dashboard/dist data/
56
+
30
57
  - name: Set QEMU
31
58
  uses: docker/setup-qemu-action@v3
32
59
 
@@ -53,9 +80,9 @@ jobs:
53
80
  platforms: linux/amd64,linux/arm64
54
81
  push: true
55
82
  tags: |
56
- ${{ secrets.DOCKER_HUB_USERNAME }}/astrbot:latest
83
+ ${{ steps.check-prerelease.outputs.is_prerelease == 'false' && format('{0}/astrbot:latest', secrets.DOCKER_HUB_USERNAME) || '' }}
57
84
  ${{ secrets.DOCKER_HUB_USERNAME }}/astrbot:${{ github.event_name == 'workflow_dispatch' && steps.get-latest-tag.outputs.latest_tag || github.ref_name }}
58
- ghcr.io/soulter/astrbot:latest
85
+ ${{ steps.check-prerelease.outputs.is_prerelease == 'false' && 'ghcr.io/soulter/astrbot:latest' || '' }}
59
86
  ghcr.io/soulter/astrbot:${{ github.event_name == 'workflow_dispatch' && steps.get-latest-tag.outputs.latest_tag || github.ref_name }}
60
87
 
61
88
  - name: Post build notifications
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: AstrBot
3
- Version: 3.5.26
3
+ Version: 4.0.0
4
4
  Summary: 易上手的多平台 LLM 聊天机器人及开发框架
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.10
@@ -17,9 +17,10 @@ Requires-Dist: colorlog>=6.9.0
17
17
  Requires-Dist: cryptography>=44.0.3
18
18
  Requires-Dist: dashscope>=1.23.2
19
19
  Requires-Dist: defusedxml>=0.7.1
20
+ Requires-Dist: deprecated>=1.2.18
20
21
  Requires-Dist: dingtalk-stream>=0.22.1
21
22
  Requires-Dist: docstring-parser>=0.16
22
- Requires-Dist: faiss-cpu>=1.10.0
23
+ Requires-Dist: faiss-cpu==1.10.0
23
24
  Requires-Dist: filelock>=3.18.0
24
25
  Requires-Dist: google-genai>=1.14.0
25
26
  Requires-Dist: googlesearch-python>=1.3.0
@@ -41,6 +42,8 @@ Requires-Dist: quart>=0.20.0
41
42
  Requires-Dist: readability-lxml>=0.8.4.1
42
43
  Requires-Dist: silk-python>=0.2.6
43
44
  Requires-Dist: slack-sdk>=3.35.0
45
+ Requires-Dist: sqlalchemy[asyncio]>=2.0.41
46
+ Requires-Dist: sqlmodel>=0.0.24
44
47
  Requires-Dist: telegramify-markdown>=0.5.1
45
48
  Requires-Dist: watchfiles>=1.0.5
46
49
  Requires-Dist: websockets>=15.0.1
@@ -55,8 +58,6 @@ Description-Content-Type: text/markdown
55
58
 
56
59
  <div align="center">
57
60
 
58
- _✨ 易上手的多平台 LLM 聊天机器人及开发框架 ✨_
59
-
60
61
  <a href="https://trendshift.io/repositories/12875" target="_blank"><img src="https://trendshift.io/api/badge/repositories/12875" alt="Soulter%2FAstrBot | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
61
62
 
62
63
  [![GitHub release (latest by date)](https://img.shields.io/github/v/release/Soulter/AstrBot?style=for-the-badge&color=76bad9)](https://github.com/Soulter/AstrBot/releases/latest)
@@ -76,7 +77,7 @@ _✨ 易上手的多平台 LLM 聊天机器人及开发框架 ✨_
76
77
 
77
78
  AstrBot 是一个开源的一站式 Agentic 聊天机器人平台及开发框架。
78
79
 
79
- ## 主要功能
80
+ ## 主要功能
80
81
 
81
82
  1. **大模型对话**。支持接入多种大模型服务。支持多模态、工具调用、MCP、原生知识库、人设等功能。
82
83
  2. **多消息平台支持**。支持接入 QQ、企业微信、微信公众号、飞书、Telegram、钉钉、Discord、KOOK 等平台。支持速率限制、白名单、百度内容审核。
@@ -84,7 +85,7 @@ AstrBot 是一个开源的一站式 Agentic 聊天机器人平台及开发框架
84
85
  4. **插件扩展**。深度优化的插件机制,支持[开发插件](https://astrbot.app/dev/plugin.html)扩展功能,社区插件生态丰富。
85
86
  5. **WebUI**。可视化配置和管理机器人,功能齐全。
86
87
 
87
- ## ✨ 使用方式
88
+ ## 部署方式
88
89
 
89
90
  #### Docker 部署
90
91
 
@@ -128,9 +129,7 @@ AstrBot 已由雨云官方上架至云应用平台,可一键部署。
128
129
 
129
130
  #### 手动部署
130
131
 
131
- > 推荐使用 `uv`。
132
-
133
- 首先,安装 uv:
132
+ 首先安装 uv
134
133
 
135
134
  ```bash
136
135
  pip install uv
@@ -145,6 +144,26 @@ uv run main.py
145
144
 
146
145
  或者请参阅官方文档 [通过源码部署 AstrBot](https://astrbot.app/deploy/astrbot/cli.html) 。
147
146
 
147
+ ## 🌍 社区
148
+
149
+ ### QQ 群组
150
+
151
+ - 1 群:322154837
152
+ - 3 群:630166526
153
+ - 5 群:822130018
154
+ - 6 群:753075035
155
+ - 开发者群:753075035
156
+ - 开发者群(备份):295657329
157
+
158
+ ### Telegram 群组
159
+
160
+ <a href="https://t.me/+hAsD2Ebl5as3NmY1"><img alt="Telegram_community" src="https://img.shields.io/badge/Telegram-AstrBot-purple?style=for-the-badge&color=76bad9"></a>
161
+
162
+ ### Discord 群组
163
+
164
+ <a href="https://discord.gg/hAVk6tgV36"><img alt="Discord_community" src="https://img.shields.io/badge/Discord-AstrBot-purple?style=for-the-badge&color=76bad9"></a>
165
+
166
+
148
167
  ## ⚡ 消息平台支持情况
149
168
 
150
169
  | 平台 | 支持性 |
@@ -161,22 +180,18 @@ uv run main.py
161
180
  | Discord | ✔ |
162
181
  | [KOOK](https://github.com/wuyan1003/astrbot_plugin_kook_adapter) | ✔ |
163
182
  | [VoceChat](https://github.com/HikariFroya/astrbot_plugin_vocechat) | ✔ |
164
- | 微信对话开放平台 | 🚧 |
165
- | WhatsApp | 🚧 |
166
- | 小爱音响 | 🚧 |
167
183
 
168
184
  ## ⚡ 提供商支持情况
169
185
 
170
186
  | 名称 | 支持性 | 类型 | 备注 |
171
187
  | -------- | ------- | ------- | ------- |
172
- | OpenAI API | ✔ | 文本生成 | 也支持 DeepSeek、Gemini、Kimi、xAI 等兼容 OpenAI API 的服务 |
173
- | Claude API | ✔ | 文本生成 | |
174
- | Google Gemini API | ✔ | 文本生成 | |
188
+ | OpenAI | ✔ | 文本生成 | 支持任何兼容 OpenAI API 的服务 |
189
+ | Anthropic | ✔ | 文本生成 | |
190
+ | Google Gemini | ✔ | 文本生成 | |
175
191
  | Dify | ✔ | LLMOps | |
176
192
  | 阿里云百炼应用 | ✔ | LLMOps | |
177
193
  | Ollama | ✔ | 模型加载器 | 本地部署 DeepSeek、Llama 等开源语言模型 |
178
194
  | LM Studio | ✔ | 模型加载器 | 本地部署 DeepSeek、Llama 等开源语言模型 |
179
- | LLMTuner | ✔ | 模型加载器 | 本地加载 lora 等微调模型 |
180
195
  | [优云智算](https://www.compshare.cn/?ytag=GPU_YY-gh_astrbot&referral_code=FV7DcGowN4hB5UuXKgpE74) | ✔ | 模型 API 及算力服务平台 | |
181
196
  | [302.AI](https://share.302.ai/rr1M3l) | ✔ | 模型 API 服务平台 | |
182
197
  | 硅基流动 | ✔ | 模型 API 服务平台 | |
@@ -192,7 +207,6 @@ uv run main.py
192
207
  | 阿里云百炼 TTS | ✔ | 文本转语音 | |
193
208
  | Azure TTS | ✔ | 文本转语音 | Microsoft Azure TTS |
194
209
 
195
-
196
210
  ## ❤️ 贡献
197
211
 
198
212
  欢迎任何 Issues/Pull Requests!只需要将你的更改提交到此项目 :)
@@ -211,38 +225,6 @@ pip install pre-commit
211
225
  pre-commit install
212
226
  ```
213
227
 
214
- ## 🌟 支持
215
-
216
- - Star 这个项目!
217
- - 在[爱发电](https://afdian.com/a/soulter)支持我!
218
-
219
- ## ✨ Demo
220
-
221
- <details><summary>👉 点击展开多张 Demo 截图 👈</summary>
222
-
223
- <div align='center'>
224
-
225
- <img src="https://github.com/user-attachments/assets/4ee688d9-467d-45c8-99d6-368f9a8a92d8" width="600">
226
-
227
- _✨基于 Docker 的沙箱化代码执行器(Beta 测试)✨_
228
-
229
- <img src="https://github.com/user-attachments/assets/0378f407-6079-4f64-ae4c-e97ab20611d2" height=500>
230
-
231
- _✨ 多模态、网页搜索、长文本转图片(可配置) ✨_
232
-
233
- <img src="https://github.com/user-attachments/assets/e137a9e1-340a-4bf2-bb2b-771132780735" height=150>
234
- <img src="https://github.com/user-attachments/assets/480f5e82-cf6a-4955-a869-0d73137aa6e1" height=150>
235
-
236
- _✨ 插件系统——部分插件展示 ✨_
237
-
238
- <img src="https://github.com/user-attachments/assets/0cdbf564-2f59-4da5-b524-ce0e7ef3d978" width=600>
239
-
240
- _✨ WebUI ✨_
241
-
242
- </div>
243
-
244
- </details>
245
-
246
228
 
247
229
  ## ❤️ Special Thanks
248
230
 
@@ -268,7 +250,8 @@ _✨ WebUI ✨_
268
250
 
269
251
  </div>
270
252
 
271
- ![10k-star-banner-credit-by-kevin](https://github.com/user-attachments/assets/c97fc5fb-20b9-4bc8-9998-c20b930ab097)
253
+
254
+ </details>
272
255
 
273
256
 
274
257
  _私は、高性能ですから!_
@@ -6,8 +6,6 @@
6
6
 
7
7
  <div align="center">
8
8
 
9
- _✨ 易上手的多平台 LLM 聊天机器人及开发框架 ✨_
10
-
11
9
  <a href="https://trendshift.io/repositories/12875" target="_blank"><img src="https://trendshift.io/api/badge/repositories/12875" alt="Soulter%2FAstrBot | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
12
10
 
13
11
  [![GitHub release (latest by date)](https://img.shields.io/github/v/release/Soulter/AstrBot?style=for-the-badge&color=76bad9)](https://github.com/Soulter/AstrBot/releases/latest)
@@ -27,7 +25,7 @@ _✨ 易上手的多平台 LLM 聊天机器人及开发框架 ✨_
27
25
 
28
26
  AstrBot 是一个开源的一站式 Agentic 聊天机器人平台及开发框架。
29
27
 
30
- ## 主要功能
28
+ ## 主要功能
31
29
 
32
30
  1. **大模型对话**。支持接入多种大模型服务。支持多模态、工具调用、MCP、原生知识库、人设等功能。
33
31
  2. **多消息平台支持**。支持接入 QQ、企业微信、微信公众号、飞书、Telegram、钉钉、Discord、KOOK 等平台。支持速率限制、白名单、百度内容审核。
@@ -35,7 +33,7 @@ AstrBot 是一个开源的一站式 Agentic 聊天机器人平台及开发框架
35
33
  4. **插件扩展**。深度优化的插件机制,支持[开发插件](https://astrbot.app/dev/plugin.html)扩展功能,社区插件生态丰富。
36
34
  5. **WebUI**。可视化配置和管理机器人,功能齐全。
37
35
 
38
- ## ✨ 使用方式
36
+ ## 部署方式
39
37
 
40
38
  #### Docker 部署
41
39
 
@@ -79,9 +77,7 @@ AstrBot 已由雨云官方上架至云应用平台,可一键部署。
79
77
 
80
78
  #### 手动部署
81
79
 
82
- > 推荐使用 `uv`。
83
-
84
- 首先,安装 uv:
80
+ 首先安装 uv
85
81
 
86
82
  ```bash
87
83
  pip install uv
@@ -96,6 +92,26 @@ uv run main.py
96
92
 
97
93
  或者请参阅官方文档 [通过源码部署 AstrBot](https://astrbot.app/deploy/astrbot/cli.html) 。
98
94
 
95
+ ## 🌍 社区
96
+
97
+ ### QQ 群组
98
+
99
+ - 1 群:322154837
100
+ - 3 群:630166526
101
+ - 5 群:822130018
102
+ - 6 群:753075035
103
+ - 开发者群:753075035
104
+ - 开发者群(备份):295657329
105
+
106
+ ### Telegram 群组
107
+
108
+ <a href="https://t.me/+hAsD2Ebl5as3NmY1"><img alt="Telegram_community" src="https://img.shields.io/badge/Telegram-AstrBot-purple?style=for-the-badge&color=76bad9"></a>
109
+
110
+ ### Discord 群组
111
+
112
+ <a href="https://discord.gg/hAVk6tgV36"><img alt="Discord_community" src="https://img.shields.io/badge/Discord-AstrBot-purple?style=for-the-badge&color=76bad9"></a>
113
+
114
+
99
115
  ## ⚡ 消息平台支持情况
100
116
 
101
117
  | 平台 | 支持性 |
@@ -112,22 +128,18 @@ uv run main.py
112
128
  | Discord | ✔ |
113
129
  | [KOOK](https://github.com/wuyan1003/astrbot_plugin_kook_adapter) | ✔ |
114
130
  | [VoceChat](https://github.com/HikariFroya/astrbot_plugin_vocechat) | ✔ |
115
- | 微信对话开放平台 | 🚧 |
116
- | WhatsApp | 🚧 |
117
- | 小爱音响 | 🚧 |
118
131
 
119
132
  ## ⚡ 提供商支持情况
120
133
 
121
134
  | 名称 | 支持性 | 类型 | 备注 |
122
135
  | -------- | ------- | ------- | ------- |
123
- | OpenAI API | ✔ | 文本生成 | 也支持 DeepSeek、Gemini、Kimi、xAI 等兼容 OpenAI API 的服务 |
124
- | Claude API | ✔ | 文本生成 | |
125
- | Google Gemini API | ✔ | 文本生成 | |
136
+ | OpenAI | ✔ | 文本生成 | 支持任何兼容 OpenAI API 的服务 |
137
+ | Anthropic | ✔ | 文本生成 | |
138
+ | Google Gemini | ✔ | 文本生成 | |
126
139
  | Dify | ✔ | LLMOps | |
127
140
  | 阿里云百炼应用 | ✔ | LLMOps | |
128
141
  | Ollama | ✔ | 模型加载器 | 本地部署 DeepSeek、Llama 等开源语言模型 |
129
142
  | LM Studio | ✔ | 模型加载器 | 本地部署 DeepSeek、Llama 等开源语言模型 |
130
- | LLMTuner | ✔ | 模型加载器 | 本地加载 lora 等微调模型 |
131
143
  | [优云智算](https://www.compshare.cn/?ytag=GPU_YY-gh_astrbot&referral_code=FV7DcGowN4hB5UuXKgpE74) | ✔ | 模型 API 及算力服务平台 | |
132
144
  | [302.AI](https://share.302.ai/rr1M3l) | ✔ | 模型 API 服务平台 | |
133
145
  | 硅基流动 | ✔ | 模型 API 服务平台 | |
@@ -143,7 +155,6 @@ uv run main.py
143
155
  | 阿里云百炼 TTS | ✔ | 文本转语音 | |
144
156
  | Azure TTS | ✔ | 文本转语音 | Microsoft Azure TTS |
145
157
 
146
-
147
158
  ## ❤️ 贡献
148
159
 
149
160
  欢迎任何 Issues/Pull Requests!只需要将你的更改提交到此项目 :)
@@ -162,38 +173,6 @@ pip install pre-commit
162
173
  pre-commit install
163
174
  ```
164
175
 
165
- ## 🌟 支持
166
-
167
- - Star 这个项目!
168
- - 在[爱发电](https://afdian.com/a/soulter)支持我!
169
-
170
- ## ✨ Demo
171
-
172
- <details><summary>👉 点击展开多张 Demo 截图 👈</summary>
173
-
174
- <div align='center'>
175
-
176
- <img src="https://github.com/user-attachments/assets/4ee688d9-467d-45c8-99d6-368f9a8a92d8" width="600">
177
-
178
- _✨基于 Docker 的沙箱化代码执行器(Beta 测试)✨_
179
-
180
- <img src="https://github.com/user-attachments/assets/0378f407-6079-4f64-ae4c-e97ab20611d2" height=500>
181
-
182
- _✨ 多模态、网页搜索、长文本转图片(可配置) ✨_
183
-
184
- <img src="https://github.com/user-attachments/assets/e137a9e1-340a-4bf2-bb2b-771132780735" height=150>
185
- <img src="https://github.com/user-attachments/assets/480f5e82-cf6a-4955-a869-0d73137aa6e1" height=150>
186
-
187
- _✨ 插件系统——部分插件展示 ✨_
188
-
189
- <img src="https://github.com/user-attachments/assets/0cdbf564-2f59-4da5-b524-ce0e7ef3d978" width=600>
190
-
191
- _✨ WebUI ✨_
192
-
193
- </div>
194
-
195
- </details>
196
-
197
176
 
198
177
  ## ❤️ Special Thanks
199
178
 
@@ -219,7 +198,8 @@ _✨ WebUI ✨_
219
198
 
220
199
  </div>
221
200
 
222
- ![10k-star-banner-credit-by-kevin](https://github.com/user-attachments/assets/c97fc5fb-20b9-4bc8-9998-c20b930ab097)
201
+
202
+ </details>
223
203
 
224
204
 
225
205
  _私は、高性能ですから!_
@@ -0,0 +1,20 @@
1
+ from astrbot.core.config.astrbot_config import AstrBotConfig
2
+ from astrbot import logger
3
+ from astrbot.core import html_renderer
4
+ from astrbot.core import sp
5
+ from astrbot.core.star.register import register_llm_tool as llm_tool
6
+ from astrbot.core.star.register import register_agent as agent
7
+ from astrbot.core.agent.tool import ToolSet, FunctionTool
8
+ from astrbot.core.agent.tool_executor import BaseFunctionToolExecutor
9
+
10
+ __all__ = [
11
+ "AstrBotConfig",
12
+ "logger",
13
+ "html_renderer",
14
+ "llm_tool",
15
+ "agent",
16
+ "sp",
17
+ "ToolSet",
18
+ "FunctionTool",
19
+ "BaseFunctionToolExecutor",
20
+ ]
@@ -37,7 +37,10 @@ async def check_dashboard(astrbot_root: Path) -> None:
37
37
  ):
38
38
  click.echo("正在安装管理面板...")
39
39
  await download_dashboard(
40
- path="data/dashboard.zip", extract_path=str(astrbot_root)
40
+ path="data/dashboard.zip",
41
+ extract_path=str(astrbot_root),
42
+ version=f"v{VERSION}",
43
+ latest=False,
41
44
  )
42
45
  click.echo("管理面板安装完成")
43
46
 
@@ -50,7 +53,10 @@ async def check_dashboard(astrbot_root: Path) -> None:
50
53
  version = dashboard_version.split("v")[1]
51
54
  click.echo(f"管理面板版本: {version}")
52
55
  await download_dashboard(
53
- path="data/dashboard.zip", extract_path=str(astrbot_root)
56
+ path="data/dashboard.zip",
57
+ extract_path=str(astrbot_root),
58
+ version=f"v{VERSION}",
59
+ latest=False,
54
60
  )
55
61
  except Exception as e:
56
62
  click.echo(f"下载管理面板失败: {e}")
@@ -59,7 +65,10 @@ async def check_dashboard(astrbot_root: Path) -> None:
59
65
  click.echo("初始化管理面板目录...")
60
66
  try:
61
67
  await download_dashboard(
62
- path=str(astrbot_root / "dashboard.zip"), extract_path=str(astrbot_root)
68
+ path=str(astrbot_root / "dashboard.zip"),
69
+ extract_path=str(astrbot_root),
70
+ version=f"v{VERSION}",
71
+ latest=False,
63
72
  )
64
73
  click.echo("管理面板初始化完成")
65
74
  except Exception as e:
@@ -1,5 +1,4 @@
1
1
  import os
2
- import asyncio
3
2
  from .log import LogManager, LogBroker # noqa
4
3
  from astrbot.core.utils.t2i.renderer import HtmlRenderer
5
4
  from astrbot.core.utils.shared_preferences import SharedPreferences
@@ -21,7 +20,7 @@ html_renderer = HtmlRenderer(t2i_base_url)
21
20
  logger = LogManager.GetLogger(log_name="astrbot")
22
21
  db_helper = SQLiteDatabase(DB_PATH)
23
22
  # 简单的偏好设置存储, 这里后续应该存储到数据库中, 一些部分可以存储到配置中
24
- sp = SharedPreferences()
23
+ sp = SharedPreferences(db_helper=db_helper)
25
24
  # 文件令牌服务
26
25
  file_token_service = FileTokenService()
27
26
  pip_installer = PipInstaller(
@@ -0,0 +1,13 @@
1
+ from dataclasses import dataclass
2
+ from .tool import FunctionTool
3
+ from typing import Generic
4
+ from .run_context import TContext
5
+ from .hooks import BaseAgentRunHooks
6
+
7
+
8
+ @dataclass
9
+ class Agent(Generic[TContext]):
10
+ name: str
11
+ instructions: str | None = None
12
+ tools: list[str, FunctionTool] | None = None
13
+ run_hooks: BaseAgentRunHooks[TContext] | None = None
@@ -0,0 +1,34 @@
1
+ from typing import Generic
2
+ from .tool import FunctionTool
3
+ from .agent import Agent
4
+ from .run_context import TContext
5
+
6
+
7
+ class HandoffTool(FunctionTool, Generic[TContext]):
8
+ """Handoff tool for delegating tasks to another agent."""
9
+
10
+ def __init__(
11
+ self, agent: Agent[TContext], parameters: dict | None = None, **kwargs
12
+ ):
13
+ self.agent = agent
14
+ super().__init__(
15
+ name=f"transfer_to_{agent.name}",
16
+ parameters=parameters or self.default_parameters(),
17
+ description=agent.instructions or self.default_description(agent.name),
18
+ **kwargs,
19
+ )
20
+
21
+ def default_parameters(self) -> dict:
22
+ return {
23
+ "type": "object",
24
+ "properties": {
25
+ "input": {
26
+ "type": "string",
27
+ "description": "The input to be handed off to another agent. This should be a clear and concise request or task.",
28
+ },
29
+ },
30
+ }
31
+
32
+ def default_description(self, agent_name: str | None) -> str:
33
+ agent_name = agent_name or "another"
34
+ return f"Delegate tasks to {self.name} agent to handle the request."
@@ -0,0 +1,27 @@
1
+ import mcp
2
+ from dataclasses import dataclass
3
+ from .run_context import ContextWrapper, TContext
4
+ from typing import Generic
5
+ from astrbot.core.provider.entities import LLMResponse
6
+ from astrbot.core.agent.tool import FunctionTool
7
+
8
+
9
+ @dataclass
10
+ class BaseAgentRunHooks(Generic[TContext]):
11
+ async def on_agent_begin(self, run_context: ContextWrapper[TContext]): ...
12
+ async def on_tool_start(
13
+ self,
14
+ run_context: ContextWrapper[TContext],
15
+ tool: FunctionTool,
16
+ tool_args: dict | None,
17
+ ): ...
18
+ async def on_tool_end(
19
+ self,
20
+ run_context: ContextWrapper[TContext],
21
+ tool: FunctionTool,
22
+ tool_args: dict | None,
23
+ tool_result: mcp.types.CallToolResult | None,
24
+ ): ...
25
+ async def on_agent_done(
26
+ self, run_context: ContextWrapper[TContext], llm_response: LLMResponse
27
+ ): ...