AstrBot 3.5.26__tar.gz → 3.5.27__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 (470) hide show
  1. {astrbot-3.5.26 → astrbot-3.5.27}/.github/workflows/docker-image.yml +11 -0
  2. {astrbot-3.5.26 → astrbot-3.5.27}/PKG-INFO +1 -1
  3. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/cli/utils/basic.py +12 -3
  4. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/config/default.py +18 -42
  5. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/updator.py +7 -5
  6. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/utils/io.py +1 -1
  7. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/zip_updator.py +26 -4
  8. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/dashboard/routes/update.py +3 -5
  9. astrbot-3.5.27/changelogs/v3.5.27.md +5 -0
  10. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/core/header.json +1 -1
  11. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/core/header.json +1 -1
  12. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/layouts/full/vertical-header/VerticalHeader.vue +0 -4
  13. {astrbot-3.5.26 → astrbot-3.5.27}/main.py +3 -3
  14. {astrbot-3.5.26 → astrbot-3.5.27}/packages/astrbot/main.py +1 -1
  15. {astrbot-3.5.26 → astrbot-3.5.27}/pyproject.toml +1 -1
  16. {astrbot-3.5.26 → astrbot-3.5.27}/uv.lock +1509 -1510
  17. {astrbot-3.5.26 → astrbot-3.5.27}/.dockerignore +0 -0
  18. {astrbot-3.5.26 → astrbot-3.5.27}/.github/FUNDING.yml +0 -0
  19. {astrbot-3.5.26 → astrbot-3.5.27}/.github/ISSUE_TEMPLATE/PLUGIN_PUBLISH.yml +0 -0
  20. {astrbot-3.5.26 → astrbot-3.5.27}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  21. {astrbot-3.5.26 → astrbot-3.5.27}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  22. {astrbot-3.5.26 → astrbot-3.5.27}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  23. {astrbot-3.5.26 → astrbot-3.5.27}/.github/copilot-instructions.md +0 -0
  24. {astrbot-3.5.26 → astrbot-3.5.27}/.github/dependabot.yml +0 -0
  25. {astrbot-3.5.26 → astrbot-3.5.27}/.github/workflows/auto_release.yml +0 -0
  26. {astrbot-3.5.26 → astrbot-3.5.27}/.github/workflows/codeql.yml +0 -0
  27. {astrbot-3.5.26 → astrbot-3.5.27}/.github/workflows/coverage_test.yml +0 -0
  28. {astrbot-3.5.26 → astrbot-3.5.27}/.github/workflows/dashboard_ci.yml +0 -0
  29. {astrbot-3.5.26 → astrbot-3.5.27}/.github/workflows/stale.yml +0 -0
  30. {astrbot-3.5.26 → astrbot-3.5.27}/.gitignore +0 -0
  31. {astrbot-3.5.26 → astrbot-3.5.27}/.pre-commit-config.yaml +0 -0
  32. {astrbot-3.5.26 → astrbot-3.5.27}/.python-version +0 -0
  33. {astrbot-3.5.26 → astrbot-3.5.27}/CODE_OF_CONDUCT.md +0 -0
  34. {astrbot-3.5.26 → astrbot-3.5.27}/Dockerfile +0 -0
  35. {astrbot-3.5.26 → astrbot-3.5.27}/Dockerfile_with_node +0 -0
  36. {astrbot-3.5.26 → astrbot-3.5.27}/LICENSE +0 -0
  37. {astrbot-3.5.26 → astrbot-3.5.27}/README.md +0 -0
  38. {astrbot-3.5.26 → astrbot-3.5.27}/README_en.md +0 -0
  39. {astrbot-3.5.26 → astrbot-3.5.27}/README_ja.md +0 -0
  40. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/__init__.py +0 -0
  41. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/api/__init__.py +0 -0
  42. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/api/all.py +0 -0
  43. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/api/event/__init__.py +0 -0
  44. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/api/event/filter/__init__.py +0 -0
  45. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/api/message_components.py +0 -0
  46. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/api/platform/__init__.py +0 -0
  47. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/api/provider/__init__.py +0 -0
  48. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/api/star/__init__.py +0 -0
  49. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/api/util/__init__.py +0 -0
  50. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/cli/__init__.py +0 -0
  51. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/cli/__main__.py +0 -0
  52. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/cli/commands/__init__.py +0 -0
  53. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/cli/commands/cmd_conf.py +0 -0
  54. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/cli/commands/cmd_init.py +0 -0
  55. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/cli/commands/cmd_plug.py +0 -0
  56. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/cli/commands/cmd_run.py +0 -0
  57. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/cli/utils/__init__.py +0 -0
  58. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/cli/utils/plugin.py +0 -0
  59. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/cli/utils/version_comparator.py +0 -0
  60. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/__init__.py +0 -0
  61. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/config/__init__.py +0 -0
  62. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/config/astrbot_config.py +0 -0
  63. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/conversation_mgr.py +0 -0
  64. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/core_lifecycle.py +0 -0
  65. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/db/__init__.py +0 -0
  66. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/db/po.py +0 -0
  67. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/db/sqlite.py +0 -0
  68. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/db/sqlite_init.sql +0 -0
  69. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/db/vec_db/base.py +0 -0
  70. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/db/vec_db/faiss_impl/__init__.py +0 -0
  71. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/db/vec_db/faiss_impl/document_storage.py +0 -0
  72. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/db/vec_db/faiss_impl/embedding_storage.py +0 -0
  73. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/db/vec_db/faiss_impl/sqlite_init.sql +0 -0
  74. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/db/vec_db/faiss_impl/vec_db.py +0 -0
  75. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/event_bus.py +0 -0
  76. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/file_token_service.py +0 -0
  77. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/initial_loader.py +0 -0
  78. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/log.py +0 -0
  79. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/message/components.py +0 -0
  80. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/message/message_event_result.py +0 -0
  81. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/__init__.py +0 -0
  82. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/content_safety_check/stage.py +0 -0
  83. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/content_safety_check/strategies/__init__.py +0 -0
  84. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/content_safety_check/strategies/baidu_aip.py +0 -0
  85. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/content_safety_check/strategies/keywords.py +0 -0
  86. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/content_safety_check/strategies/strategy.py +0 -0
  87. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/context.py +0 -0
  88. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/platform_compatibility/stage.py +0 -0
  89. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/preprocess_stage/stage.py +0 -0
  90. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/process_stage/agent_runner/base.py +0 -0
  91. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/process_stage/agent_runner/tool_loop_agent.py +0 -0
  92. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/process_stage/method/llm_request.py +0 -0
  93. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/process_stage/method/star_request.py +0 -0
  94. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/process_stage/stage.py +0 -0
  95. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/rate_limit_check/stage.py +0 -0
  96. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/respond/stage.py +0 -0
  97. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/result_decorate/stage.py +0 -0
  98. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/scheduler.py +0 -0
  99. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/session_status_check/stage.py +0 -0
  100. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/stage.py +0 -0
  101. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/waking_check/stage.py +0 -0
  102. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/pipeline/whitelist_check/stage.py +0 -0
  103. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/__init__.py +0 -0
  104. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/astr_message_event.py +0 -0
  105. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/astrbot_message.py +0 -0
  106. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/manager.py +0 -0
  107. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/message_type.py +0 -0
  108. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/platform.py +0 -0
  109. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/platform_metadata.py +0 -0
  110. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/register.py +0 -0
  111. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/aiocqhttp/aiocqhttp_message_event.py +0 -0
  112. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/aiocqhttp/aiocqhttp_platform_adapter.py +0 -0
  113. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/dingtalk/dingtalk_adapter.py +0 -0
  114. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/dingtalk/dingtalk_event.py +0 -0
  115. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/discord/client.py +0 -0
  116. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/discord/components.py +0 -0
  117. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/discord/discord_platform_adapter.py +0 -0
  118. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/discord/discord_platform_event.py +0 -0
  119. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/lark/lark_adapter.py +0 -0
  120. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/lark/lark_event.py +0 -0
  121. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/qqofficial/qqofficial_message_event.py +0 -0
  122. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/qqofficial/qqofficial_platform_adapter.py +0 -0
  123. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_adapter.py +0 -0
  124. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_event.py +0 -0
  125. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_server.py +0 -0
  126. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/slack/client.py +0 -0
  127. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/slack/slack_adapter.py +0 -0
  128. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/slack/slack_event.py +0 -0
  129. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/telegram/tg_adapter.py +0 -0
  130. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/telegram/tg_event.py +0 -0
  131. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/webchat/webchat_adapter.py +0 -0
  132. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/webchat/webchat_event.py +0 -0
  133. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/webchat/webchat_queue_mgr.py +0 -0
  134. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/wechatpadpro/wechatpadpro_adapter.py +0 -0
  135. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/wechatpadpro/wechatpadpro_message_event.py +0 -0
  136. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/wechatpadpro/xml_data_parser.py +0 -0
  137. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/wecom/wecom_adapter.py +0 -0
  138. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/wecom/wecom_event.py +0 -0
  139. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/wecom/wecom_kf.py +0 -0
  140. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/wecom/wecom_kf_message.py +0 -0
  141. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/weixin_official_account/weixin_offacc_adapter.py +0 -0
  142. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/platform/sources/weixin_official_account/weixin_offacc_event.py +0 -0
  143. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/__init__.py +0 -0
  144. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/entites.py +0 -0
  145. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/entities.py +0 -0
  146. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/func_tool_manager.py +0 -0
  147. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/manager.py +0 -0
  148. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/provider.py +0 -0
  149. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/register.py +0 -0
  150. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/anthropic_source.py +0 -0
  151. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/azure_tts_source.py +0 -0
  152. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/dashscope_source.py +0 -0
  153. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/dashscope_tts.py +0 -0
  154. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/dify_source.py +0 -0
  155. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/edge_tts_source.py +0 -0
  156. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/fishaudio_tts_api_source.py +0 -0
  157. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/gemini_embedding_source.py +0 -0
  158. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/gemini_source.py +0 -0
  159. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/gemini_tts_source.py +0 -0
  160. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/gsv_selfhosted_source.py +0 -0
  161. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/gsvi_tts_source.py +0 -0
  162. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/minimax_tts_api_source.py +0 -0
  163. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/openai_embedding_source.py +0 -0
  164. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/openai_source.py +0 -0
  165. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/openai_tts_api_source.py +0 -0
  166. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/sensevoice_selfhosted_source.py +0 -0
  167. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/volcengine_tts.py +0 -0
  168. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/whisper_api_source.py +0 -0
  169. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/whisper_selfhosted_source.py +0 -0
  170. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/provider/sources/zhipu_source.py +0 -0
  171. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/README.md +0 -0
  172. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/__init__.py +0 -0
  173. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/config.py +0 -0
  174. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/context.py +0 -0
  175. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/filter/__init__.py +0 -0
  176. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/filter/command.py +0 -0
  177. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/filter/command_group.py +0 -0
  178. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/filter/custom_filter.py +0 -0
  179. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/filter/event_message_type.py +0 -0
  180. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/filter/permission.py +0 -0
  181. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/filter/platform_adapter_type.py +0 -0
  182. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/filter/regex.py +0 -0
  183. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/register/__init__.py +0 -0
  184. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/register/star.py +0 -0
  185. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/register/star_handler.py +0 -0
  186. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/session_llm_manager.py +0 -0
  187. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/session_plugin_manager.py +0 -0
  188. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/star.py +0 -0
  189. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/star_handler.py +0 -0
  190. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/star_manager.py +0 -0
  191. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/star_tools.py +0 -0
  192. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/star/updator.py +0 -0
  193. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/utils/astrbot_path.py +0 -0
  194. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/utils/command_parser.py +0 -0
  195. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/utils/dify_api_client.py +0 -0
  196. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/utils/log_pipe.py +0 -0
  197. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/utils/metrics.py +0 -0
  198. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/utils/path_util.py +0 -0
  199. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/utils/pip_installer.py +0 -0
  200. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/utils/session_lock.py +0 -0
  201. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/utils/session_waiter.py +0 -0
  202. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/utils/shared_preferences.py +0 -0
  203. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/utils/t2i/__init__.py +0 -0
  204. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/utils/t2i/local_strategy.py +0 -0
  205. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/utils/t2i/network_strategy.py +0 -0
  206. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/utils/t2i/renderer.py +0 -0
  207. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/utils/t2i/template/base.html +0 -0
  208. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/utils/tencent_record_helper.py +0 -0
  209. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/core/utils/version_comparator.py +0 -0
  210. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/dashboard/routes/__init__.py +0 -0
  211. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/dashboard/routes/auth.py +0 -0
  212. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/dashboard/routes/chat.py +0 -0
  213. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/dashboard/routes/config.py +0 -0
  214. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/dashboard/routes/conversation.py +0 -0
  215. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/dashboard/routes/file.py +0 -0
  216. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/dashboard/routes/log.py +0 -0
  217. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/dashboard/routes/plugin.py +0 -0
  218. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/dashboard/routes/route.py +0 -0
  219. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/dashboard/routes/session_management.py +0 -0
  220. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/dashboard/routes/stat.py +0 -0
  221. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/dashboard/routes/static_file.py +0 -0
  222. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/dashboard/routes/tools.py +0 -0
  223. {astrbot-3.5.26 → astrbot-3.5.27}/astrbot/dashboard/server.py +0 -0
  224. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.0.md +0 -0
  225. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.1.md +0 -0
  226. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.10.md +0 -0
  227. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.11.md +0 -0
  228. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.12.md +0 -0
  229. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.13.md +0 -0
  230. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.14.md +0 -0
  231. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.15.md +0 -0
  232. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.16.md +0 -0
  233. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.17.md +0 -0
  234. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.18.md +0 -0
  235. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.19.md +0 -0
  236. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.20.md +0 -0
  237. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.21.md +0 -0
  238. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.22.md +0 -0
  239. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.23.md +0 -0
  240. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.24.md +0 -0
  241. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.25.md +0 -0
  242. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.26.md +0 -0
  243. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.27.md +0 -0
  244. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.28.md +0 -0
  245. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.29.md +0 -0
  246. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.3.md +0 -0
  247. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.30.md +0 -0
  248. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.31.md +0 -0
  249. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.32.md +0 -0
  250. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.33.md +0 -0
  251. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.35.md +0 -0
  252. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.36.md +0 -0
  253. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.37.md +0 -0
  254. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.38.md +0 -0
  255. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.39.md +0 -0
  256. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.4.md +0 -0
  257. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.5.md +0 -0
  258. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.6.md +0 -0
  259. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.7.md +0 -0
  260. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.8.md +0 -0
  261. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.4.9.md +0 -0
  262. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.0.md +0 -0
  263. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.1.md +0 -0
  264. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.10.md +0 -0
  265. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.11.md +0 -0
  266. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.12.md +0 -0
  267. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.13.md +0 -0
  268. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.14.md +0 -0
  269. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.15.md +0 -0
  270. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.16.md +0 -0
  271. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.17.md +0 -0
  272. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.18.md +0 -0
  273. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.19.md +0 -0
  274. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.2.md +0 -0
  275. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.20.md +0 -0
  276. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.21.md +0 -0
  277. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.22.md +0 -0
  278. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.23.md +0 -0
  279. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.24.md +0 -0
  280. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.25.md +0 -0
  281. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.26.md +0 -0
  282. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.3.1.md +0 -0
  283. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.3.2.md +0 -0
  284. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.3.md +0 -0
  285. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.4.md +0 -0
  286. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.5.md +0 -0
  287. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.6.md +0 -0
  288. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.7.md +0 -0
  289. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.8.md +0 -0
  290. {astrbot-3.5.26 → astrbot-3.5.27}/changelogs/v3.5.9.md +0 -0
  291. {astrbot-3.5.26 → astrbot-3.5.27}/compose.yml +0 -0
  292. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/.gitignore +0 -0
  293. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/LICENSE +0 -0
  294. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/README.md +0 -0
  295. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/env.d.ts +0 -0
  296. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/index.html +0 -0
  297. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/public/_redirects +0 -0
  298. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/public/favicon.svg +0 -0
  299. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/App.vue +0 -0
  300. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/assets/images/astrbot_logo_mini.webp +0 -0
  301. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/assets/images/logo-normal.svg +0 -0
  302. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/assets/images/logo-waifu.png +0 -0
  303. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/assets/images/platform_logos/dingtalk.svg +0 -0
  304. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/assets/images/platform_logos/discord.svg +0 -0
  305. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/assets/images/platform_logos/kook.png +0 -0
  306. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/assets/images/platform_logos/lark.png +0 -0
  307. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/assets/images/platform_logos/qq.png +0 -0
  308. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/assets/images/platform_logos/slack.svg +0 -0
  309. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/assets/images/platform_logos/telegram.svg +0 -0
  310. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/assets/images/platform_logos/vocechat.png +0 -0
  311. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/assets/images/platform_logos/wechat.png +0 -0
  312. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/assets/images/platform_logos/wecom.png +0 -0
  313. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/components/ConfirmDialog.vue +0 -0
  314. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/components/chat/ProviderModelSelector.vue +0 -0
  315. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/components/shared/AstrBotConfig.vue +0 -0
  316. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/components/shared/ConsoleDisplayer.vue +0 -0
  317. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/components/shared/ExtensionCard.vue +0 -0
  318. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/components/shared/ItemCard.vue +0 -0
  319. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/components/shared/ItemCardGrid.vue +0 -0
  320. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/components/shared/LanguageSwitcher.vue +0 -0
  321. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/components/shared/ListConfigItem.vue +0 -0
  322. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/components/shared/Logo.vue +0 -0
  323. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/components/shared/ProxySelector.vue +0 -0
  324. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/components/shared/ReadmeDialog.vue +0 -0
  325. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/components/shared/UiParentCard.vue +0 -0
  326. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/components/shared/WaitingForRestart.vue +0 -0
  327. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/config.ts +0 -0
  328. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/composables.ts +0 -0
  329. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/loader.ts +0 -0
  330. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/core/actions.json +0 -0
  331. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/core/common.json +0 -0
  332. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/core/navigation.json +0 -0
  333. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/core/status.json +0 -0
  334. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/features/about.json +0 -0
  335. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/features/alkaid/index.json +0 -0
  336. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/features/alkaid/knowledge-base.json +0 -0
  337. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/features/alkaid/memory.json +0 -0
  338. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/features/auth.json +0 -0
  339. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/features/chart.json +0 -0
  340. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/features/chat.json +0 -0
  341. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/features/config.json +0 -0
  342. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/features/console.json +0 -0
  343. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/features/conversation.json +0 -0
  344. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/features/dashboard.json +0 -0
  345. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/features/extension.json +0 -0
  346. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/features/platform.json +0 -0
  347. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/features/provider.json +0 -0
  348. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/features/session-management.json +0 -0
  349. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/features/settings.json +0 -0
  350. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/features/tool-use.json +0 -0
  351. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/messages/errors.json +0 -0
  352. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/messages/success.json +0 -0
  353. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/en-US/messages/validation.json +0 -0
  354. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/core/actions.json +0 -0
  355. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/core/common.json +0 -0
  356. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/core/navigation.json +0 -0
  357. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/core/status.json +0 -0
  358. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/features/about.json +0 -0
  359. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/features/alkaid/index.json +0 -0
  360. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/features/alkaid/knowledge-base.json +0 -0
  361. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/features/alkaid/memory.json +0 -0
  362. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/features/auth.json +0 -0
  363. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/features/chart.json +0 -0
  364. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/features/chat.json +0 -0
  365. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/features/config.json +0 -0
  366. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/features/console.json +0 -0
  367. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/features/conversation.json +0 -0
  368. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/features/dashboard.json +0 -0
  369. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/features/extension.json +0 -0
  370. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/features/platform.json +0 -0
  371. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/features/provider.json +0 -0
  372. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/features/session-management.json +0 -0
  373. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/features/settings.json +0 -0
  374. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/features/tool-use.json +0 -0
  375. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/messages/errors.json +0 -0
  376. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/messages/success.json +0 -0
  377. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/locales/zh-CN/messages/validation.json +0 -0
  378. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/tools/index.ts +0 -0
  379. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/translations.ts +0 -0
  380. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/types.ts +0 -0
  381. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/i18n/validator.ts +0 -0
  382. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/layouts/blank/BlankLayout.vue +0 -0
  383. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/layouts/full/FullLayout.vue +0 -0
  384. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/layouts/full/vertical-sidebar/NavItem.vue +0 -0
  385. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/layouts/full/vertical-sidebar/VerticalSidebar.vue +0 -0
  386. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/layouts/full/vertical-sidebar/sidebarItem.ts +0 -0
  387. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/main.ts +0 -0
  388. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/plugins/confirmPlugin.ts +0 -0
  389. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/plugins/vuetify.ts +0 -0
  390. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/router/AuthRoutes.ts +0 -0
  391. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/router/ChatBoxRoutes.ts +0 -0
  392. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/router/MainRoutes.ts +0 -0
  393. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/router/index.ts +0 -0
  394. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/scss/_override.scss +0 -0
  395. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/scss/_variables.scss +0 -0
  396. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/scss/components/_VButtons.scss +0 -0
  397. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/scss/components/_VCard.scss +0 -0
  398. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/scss/components/_VField.scss +0 -0
  399. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/scss/components/_VInput.scss +0 -0
  400. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/scss/components/_VNavigationDrawer.scss +0 -0
  401. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/scss/components/_VScrollbar.scss +0 -0
  402. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/scss/components/_VShadow.scss +0 -0
  403. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/scss/components/_VTabs.scss +0 -0
  404. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/scss/components/_VTextField.scss +0 -0
  405. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/scss/layout/_container.scss +0 -0
  406. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/scss/layout/_sidebar.scss +0 -0
  407. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/scss/pages/_dashboards.scss +0 -0
  408. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/scss/style.scss +0 -0
  409. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/stores/auth.ts +0 -0
  410. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/stores/common.js +0 -0
  411. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/stores/customizer.ts +0 -0
  412. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/theme/DarkTheme.ts +0 -0
  413. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/theme/LightTheme.ts +0 -0
  414. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/types/themeTypes/ThemeType.ts +0 -0
  415. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/types/vue3-print-nb.d.ts +0 -0
  416. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/types/vue_tabler_icon.d.ts +0 -0
  417. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/AboutPage.vue +0 -0
  418. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/AlkaidPage.vue +0 -0
  419. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/AlkaidPage_sigma.vue +0 -0
  420. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/ChatBoxPage.vue +0 -0
  421. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/ChatPage.vue +0 -0
  422. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/ConfigPage.vue +0 -0
  423. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/ConsolePage.vue +0 -0
  424. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/ConversationPage.vue +0 -0
  425. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/ExtensionPage.vue +0 -0
  426. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/PlatformPage.vue +0 -0
  427. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/ProviderPage.vue +0 -0
  428. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/SessionManagementPage.vue +0 -0
  429. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/Settings.vue +0 -0
  430. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/ToolUsePage.vue +0 -0
  431. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/alkaid/KnowledgeBase.vue +0 -0
  432. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/alkaid/LongTermMemory.vue +0 -0
  433. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/alkaid/Other.vue +0 -0
  434. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/authentication/auth/LoginPage.vue +0 -0
  435. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/authentication/authForms/AuthLogin.vue +0 -0
  436. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/dashboards/default/DefaultDashboard.vue +0 -0
  437. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/dashboards/default/components/MemoryUsage.vue +0 -0
  438. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/dashboards/default/components/MessageStat.vue +0 -0
  439. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/dashboards/default/components/OnlinePlatform.vue +0 -0
  440. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/dashboards/default/components/OnlineTime.vue +0 -0
  441. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/dashboards/default/components/PlatformStat.vue +0 -0
  442. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/dashboards/default/components/RunningTime.vue +0 -0
  443. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/src/views/dashboards/default/components/TotalMessage.vue +0 -0
  444. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/tsconfig.json +0 -0
  445. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/tsconfig.vite-config.json +0 -0
  446. {astrbot-3.5.26 → astrbot-3.5.27}/dashboard/vite.config.ts +0 -0
  447. {astrbot-3.5.26 → astrbot-3.5.27}/packages/astrbot/long_term_memory.py +0 -0
  448. {astrbot-3.5.26 → astrbot-3.5.27}/packages/astrbot/metadata.yaml +0 -0
  449. {astrbot-3.5.26 → astrbot-3.5.27}/packages/python_interpreter/main.py +0 -0
  450. {astrbot-3.5.26 → astrbot-3.5.27}/packages/python_interpreter/metadata.yaml +0 -0
  451. {astrbot-3.5.26 → astrbot-3.5.27}/packages/python_interpreter/requirements.txt +0 -0
  452. {astrbot-3.5.26 → astrbot-3.5.27}/packages/python_interpreter/shared/api.py +0 -0
  453. {astrbot-3.5.26 → astrbot-3.5.27}/packages/reminder/main.py +0 -0
  454. {astrbot-3.5.26 → astrbot-3.5.27}/packages/reminder/metadata.yaml +0 -0
  455. {astrbot-3.5.26 → astrbot-3.5.27}/packages/session_controller/main.py +0 -0
  456. {astrbot-3.5.26 → astrbot-3.5.27}/packages/session_controller/metadata.yaml +0 -0
  457. {astrbot-3.5.26 → astrbot-3.5.27}/packages/thinking_filter/main.py +0 -0
  458. {astrbot-3.5.26 → astrbot-3.5.27}/packages/thinking_filter/metadata.yaml +0 -0
  459. {astrbot-3.5.26 → astrbot-3.5.27}/packages/web_searcher/engines/__init__.py +0 -0
  460. {astrbot-3.5.26 → astrbot-3.5.27}/packages/web_searcher/engines/bing.py +0 -0
  461. {astrbot-3.5.26 → astrbot-3.5.27}/packages/web_searcher/engines/google.py +0 -0
  462. {astrbot-3.5.26 → astrbot-3.5.27}/packages/web_searcher/engines/sogo.py +0 -0
  463. {astrbot-3.5.26 → astrbot-3.5.27}/packages/web_searcher/main.py +0 -0
  464. {astrbot-3.5.26 → astrbot-3.5.27}/packages/web_searcher/metadata.yaml +0 -0
  465. {astrbot-3.5.26 → astrbot-3.5.27}/requirements.txt +0 -0
  466. {astrbot-3.5.26 → astrbot-3.5.27}/samples/stt_health_check.wav +0 -0
  467. {astrbot-3.5.26 → astrbot-3.5.27}/tests/test_dashboard.py +0 -0
  468. {astrbot-3.5.26 → astrbot-3.5.27}/tests/test_main.py +0 -0
  469. {astrbot-3.5.26 → astrbot-3.5.27}/tests/test_pipeline.py +0 -0
  470. {astrbot-3.5.26 → astrbot-3.5.27}/tests/test_plugin_manager.py +0 -0
@@ -27,6 +27,17 @@ 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: Build Dashboard
31
+ run: |
32
+ cd dashboard
33
+ npm install
34
+ npm run build
35
+ mkdir -p dist/assets
36
+ echo $(git rev-parse HEAD) > dist/assets/version
37
+ cd ..
38
+ mkdir -p data
39
+ cp -r dashboard/dist data/
40
+
30
41
  - name: Set QEMU
31
42
  uses: docker/setup-qemu-action@v3
32
43
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: AstrBot
3
- Version: 3.5.26
3
+ Version: 3.5.27
4
4
  Summary: 易上手的多平台 LLM 聊天机器人及开发框架
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.10
@@ -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:
@@ -6,7 +6,7 @@ import os
6
6
 
7
7
  from astrbot.core.utils.astrbot_path import get_astrbot_data_path
8
8
 
9
- VERSION = "3.5.26"
9
+ VERSION = "3.5.27"
10
10
  DB_PATH = os.path.join(get_astrbot_data_path(), "data_v3.db")
11
11
 
12
12
  # 默认配置
@@ -65,7 +65,7 @@ DEFAULT_CONFIG = {
65
65
  "show_tool_use_status": False,
66
66
  "streaming_segmented": False,
67
67
  "separate_provider": True,
68
- "max_agent_step": 30
68
+ "max_agent_step": 30,
69
69
  },
70
70
  "provider_stt_settings": {
71
71
  "enable": False,
@@ -599,11 +599,8 @@ CONFIG_METADATA_2 = {
599
599
  "key": [],
600
600
  "api_base": "https://api.openai.com/v1",
601
601
  "timeout": 120,
602
- "model_config": {
603
- "model": "gpt-4o-mini",
604
- "temperature": 0.4
605
- },
606
- "hint": "也兼容所有与OpenAI API兼容的服务。"
602
+ "model_config": {"model": "gpt-4o-mini", "temperature": 0.4},
603
+ "hint": "也兼容所有与OpenAI API兼容的服务。",
607
604
  },
608
605
  "Azure OpenAI": {
609
606
  "id": "azure",
@@ -615,10 +612,7 @@ CONFIG_METADATA_2 = {
615
612
  "key": [],
616
613
  "api_base": "",
617
614
  "timeout": 120,
618
- "model_config": {
619
- "model": "gpt-4o-mini",
620
- "temperature": 0.4
621
- },
615
+ "model_config": {"model": "gpt-4o-mini", "temperature": 0.4},
622
616
  },
623
617
  "xAI": {
624
618
  "id": "xai",
@@ -629,10 +623,7 @@ CONFIG_METADATA_2 = {
629
623
  "key": [],
630
624
  "api_base": "https://api.x.ai/v1",
631
625
  "timeout": 120,
632
- "model_config": {
633
- "model": "grok-2-latest",
634
- "temperature": 0.4
635
- },
626
+ "model_config": {"model": "grok-2-latest", "temperature": 0.4},
636
627
  },
637
628
  "Anthropic": {
638
629
  "hint": "注意Claude系列模型的温度调节范围为0到1.0,超出可能导致报错",
@@ -647,11 +638,11 @@ CONFIG_METADATA_2 = {
647
638
  "model_config": {
648
639
  "model": "claude-3-5-sonnet-latest",
649
640
  "max_tokens": 4096,
650
- "temperature": 0.2
641
+ "temperature": 0.2,
651
642
  },
652
643
  },
653
644
  "Ollama": {
654
- "hint":"启用前请确保已正确安装并运行 Ollama 服务端,Ollama默认不带鉴权,无需修改key",
645
+ "hint": "启用前请确保已正确安装并运行 Ollama 服务端,Ollama默认不带鉴权,无需修改key",
655
646
  "id": "ollama_default",
656
647
  "provider": "ollama",
657
648
  "type": "openai_chat_completion",
@@ -659,10 +650,7 @@ CONFIG_METADATA_2 = {
659
650
  "enable": True,
660
651
  "key": ["ollama"], # ollama 的 key 默认是 ollama
661
652
  "api_base": "http://localhost:11434/v1",
662
- "model_config": {
663
- "model": "llama3.1-8b",
664
- "temperature": 0.4
665
- },
653
+ "model_config": {"model": "llama3.1-8b", "temperature": 0.4},
666
654
  },
667
655
  "LM Studio": {
668
656
  "id": "lm_studio",
@@ -687,7 +675,7 @@ CONFIG_METADATA_2 = {
687
675
  "timeout": 120,
688
676
  "model_config": {
689
677
  "model": "gemini-1.5-flash",
690
- "temperature": 0.4
678
+ "temperature": 0.4,
691
679
  },
692
680
  },
693
681
  "Gemini": {
@@ -701,7 +689,7 @@ CONFIG_METADATA_2 = {
701
689
  "timeout": 120,
702
690
  "model_config": {
703
691
  "model": "gemini-2.0-flash-exp",
704
- "temperature": 0.4
692
+ "temperature": 0.4,
705
693
  },
706
694
  "gm_resp_image_modal": False,
707
695
  "gm_native_search": False,
@@ -726,10 +714,7 @@ CONFIG_METADATA_2 = {
726
714
  "key": [],
727
715
  "api_base": "https://api.deepseek.com/v1",
728
716
  "timeout": 120,
729
- "model_config": {
730
- "model": "deepseek-chat",
731
- "temperature": 0.4
732
- },
717
+ "model_config": {"model": "deepseek-chat", "temperature": 0.4},
733
718
  },
734
719
  "302.AI": {
735
720
  "id": "302ai",
@@ -740,10 +725,7 @@ CONFIG_METADATA_2 = {
740
725
  "key": [],
741
726
  "api_base": "https://api.302.ai/v1",
742
727
  "timeout": 120,
743
- "model_config": {
744
- "model": "gpt-4.1-mini",
745
- "temperature": 0.4
746
- },
728
+ "model_config": {"model": "gpt-4.1-mini", "temperature": 0.4},
747
729
  },
748
730
  "硅基流动": {
749
731
  "id": "siliconflow",
@@ -756,7 +738,7 @@ CONFIG_METADATA_2 = {
756
738
  "api_base": "https://api.siliconflow.cn/v1",
757
739
  "model_config": {
758
740
  "model": "deepseek-ai/DeepSeek-V3",
759
- "temperature": 0.4
741
+ "temperature": 0.4,
760
742
  },
761
743
  },
762
744
  "PPIO派欧云": {
@@ -770,7 +752,7 @@ CONFIG_METADATA_2 = {
770
752
  "timeout": 120,
771
753
  "model_config": {
772
754
  "model": "deepseek/deepseek-r1",
773
- "temperature": 0.4
755
+ "temperature": 0.4,
774
756
  },
775
757
  },
776
758
  "优云智算": {
@@ -795,10 +777,7 @@ CONFIG_METADATA_2 = {
795
777
  "key": [],
796
778
  "timeout": 120,
797
779
  "api_base": "https://api.moonshot.cn/v1",
798
- "model_config": {
799
- "model": "moonshot-v1-8k",
800
- "temperature": 0.4
801
- },
780
+ "model_config": {"model": "moonshot-v1-8k", "temperature": 0.4},
802
781
  },
803
782
  "智谱 AI": {
804
783
  "id": "zhipu_default",
@@ -826,7 +805,7 @@ CONFIG_METADATA_2 = {
826
805
  "dify_query_input_key": "astrbot_text_query",
827
806
  "variables": {},
828
807
  "timeout": 60,
829
- "hint": "请确保你在 AstrBot 里设置的 APP 类型和 Dify 里面创建的应用的类型一致!"
808
+ "hint": "请确保你在 AstrBot 里设置的 APP 类型和 Dify 里面创建的应用的类型一致!",
830
809
  },
831
810
  "阿里云百炼应用": {
832
811
  "id": "dashscope",
@@ -854,10 +833,7 @@ CONFIG_METADATA_2 = {
854
833
  "key": [],
855
834
  "timeout": 120,
856
835
  "api_base": "https://api-inference.modelscope.cn/v1",
857
- "model_config": {
858
- "model": "Qwen/Qwen3-32B",
859
- "temperature": 0.4
860
- },
836
+ "model_config": {"model": "Qwen/Qwen3-32B", "temperature": 0.4},
861
837
  },
862
838
  "FastGPT": {
863
839
  "id": "fastgpt",
@@ -56,9 +56,7 @@ class AstrBotUpdator(RepoZipUpdator):
56
56
  try:
57
57
  if "astrbot" in os.path.basename(sys.argv[0]): # 兼容cli
58
58
  if os.name == "nt":
59
- args = [
60
- f'"{arg}"' if " " in arg else arg for arg in sys.argv[1:]
61
- ]
59
+ args = [f'"{arg}"' if " " in arg else arg for arg in sys.argv[1:]]
62
60
  else:
63
61
  args = sys.argv[1:]
64
62
  os.execl(sys.executable, py, "-m", "astrbot.cli.__main__", *args)
@@ -68,9 +66,13 @@ class AstrBotUpdator(RepoZipUpdator):
68
66
  logger.error(f"重启失败({py}, {e}),请尝试手动重启。")
69
67
  raise e
70
68
 
71
- async def check_update(self, url: str, current_version: str) -> ReleaseInfo:
69
+ async def check_update(
70
+ self, url: str, current_version: str, consider_prerelease: bool = True
71
+ ) -> ReleaseInfo:
72
72
  """检查更新"""
73
- return await super().check_update(self.ASTRBOT_RELEASE_API, VERSION)
73
+ return await super().check_update(
74
+ self.ASTRBOT_RELEASE_API, VERSION, consider_prerelease
75
+ )
74
76
 
75
77
  async def get_releases(self) -> list:
76
78
  return await self.fetch_release_info(self.ASTRBOT_RELEASE_API)
@@ -227,7 +227,7 @@ async def download_dashboard(
227
227
  path = os.path.join(get_astrbot_data_path(), "dashboard.zip")
228
228
 
229
229
  if latest or len(str(version)) != 40:
230
- logger.info("准备下载最新发行版本的 AstrBot WebUI")
230
+ logger.info(f"准备下载 {version} 发行版本的 AstrBot WebUI 文件")
231
231
  ver_name = "latest" if latest else version
232
232
  dashboard_release_url = f"https://astrbot-registry.soulter.top/download/astrbot-dashboard/{ver_name}/dist.zip"
233
233
  try:
@@ -107,16 +107,38 @@ class RepoZipUpdator:
107
107
  """Semver 版本比较"""
108
108
  return VersionComparator.compare_version(v1, v2)
109
109
 
110
- async def check_update(self, url: str, current_version: str) -> ReleaseInfo | None:
110
+ async def check_update(
111
+ self, url: str, current_version: str, consider_prerelease: bool = True
112
+ ) -> ReleaseInfo | None:
111
113
  update_data = await self.fetch_release_info(url)
112
- tag_name = update_data[0]["tag_name"]
114
+
115
+ sel_release_data = None
116
+ if consider_prerelease:
117
+ tag_name = update_data[0]["tag_name"]
118
+ sel_release_data = update_data[0]
119
+ else:
120
+ for data in update_data:
121
+ # 跳过带有 alpha、beta 等预发布标签的版本
122
+ if re.search(
123
+ r"[\-_.]?(alpha|beta|rc|dev)[\-_.]?\d*$",
124
+ data["tag_name"],
125
+ re.IGNORECASE,
126
+ ):
127
+ continue
128
+ tag_name = data["tag_name"]
129
+ sel_release_data = data
130
+ break
131
+
132
+ if not sel_release_data or not tag_name:
133
+ logger.error("未找到合适的发布版本")
134
+ return None
113
135
 
114
136
  if self.compare_version(current_version, tag_name) >= 0:
115
137
  return None
116
138
  return ReleaseInfo(
117
139
  version=tag_name,
118
- published_at=update_data[0]["published_at"],
119
- body=update_data[0]["body"],
140
+ published_at=sel_release_data["published_at"],
141
+ body=f"{tag_name}\n\n{sel_release_data['body']}",
120
142
  )
121
143
 
122
144
  async def download_from_repo_url(self, target_path: str, repo_url: str, proxy=""):
@@ -40,7 +40,7 @@ class UpdateRoute(Route):
40
40
  .__dict__
41
41
  )
42
42
  else:
43
- ret = await self.astrbot_updator.check_update(None, None)
43
+ ret = await self.astrbot_updator.check_update(None, None, False)
44
44
  return Response(
45
45
  status="success",
46
46
  message=str(ret) if ret is not None else "已经是最新版本了。",
@@ -83,9 +83,7 @@ class UpdateRoute(Route):
83
83
  )
84
84
 
85
85
  try:
86
- await download_dashboard(
87
- latest=latest, version=version, proxy=proxy
88
- )
86
+ await download_dashboard(latest=latest, version=version, proxy=proxy)
89
87
  except Exception as e:
90
88
  logger.error(f"下载管理面板文件失败: {e}。")
91
89
 
@@ -116,7 +114,7 @@ class UpdateRoute(Route):
116
114
  async def update_dashboard(self):
117
115
  try:
118
116
  try:
119
- await download_dashboard()
117
+ await download_dashboard(version=f"v{VERSION}", latest=False)
120
118
  except Exception as e:
121
119
  logger.error(f"下载管理面板文件失败: {e}。")
122
120
  return Response().error(f"下载管理面板文件失败: {e}").__dict__
@@ -0,0 +1,5 @@
1
+ # What's Changed
2
+
3
+ 1. 修复:构建 docker 镜像时同时构建 webui,并放入镜像中。
4
+ 2. 修复:下载 WebUI 文件时,明确版本号,以防止 latest 不一致导致下载的 WebUI 文件版本号与实际所需不符的问题。
5
+ 3. 优化:优化版本检测,考虑预发布版本,移除 `更新到最新版本` 按钮
@@ -34,7 +34,7 @@
34
34
  "tip": "💡 TIP:",
35
35
  "tipLink": "",
36
36
  "tipContinue": "By default, the corresponding version of the WebUI files will be downloaded when switching versions. The WebUI code is located in the dashboard directory of the project, and you can use npm to build it yourself.",
37
- "dockerTip": "The `Update to Latest Version` button will try to update both the bot main program and the dashboard. If you are using Docker deployment, you can also re-pull the image or use",
37
+ "dockerTip": "When switching versions, it will try to update both the bot main program and the dashboard. If you are using Docker deployment, you can also re-pull the image or use",
38
38
  "dockerTipLink": "watchtower",
39
39
  "dockerTipContinue": "to automatically monitor and pull.",
40
40
  "table": {
@@ -33,7 +33,7 @@
33
33
  },
34
34
  "tip": "💡 TIP: ",
35
35
  "tipContinue": "默认在切换版本时会下载对应版本的 WebUI 文件。WebUI 代码位于项目的 dashboard 目录,您可使用 npm 自行构建。",
36
- "dockerTip": "`更新到最新版本` 按钮会同时尝试更新机器人主程序和管理面板。如果您正在使用 Docker 部署,也可以重新拉取镜像或者使用",
36
+ "dockerTip": "切换版本时,会同时尝试更新机器人主程序和管理面板。如果您正在使用 Docker 部署,也可以重新拉取镜像或者使用",
37
37
  "dockerTipLink": "watchtower",
38
38
  "dockerTipContinue": "来自动监控拉取。",
39
39
  "table": {
@@ -377,10 +377,6 @@ commonStore.getStartTime();
377
377
 
378
378
  <!-- 发行版 -->
379
379
  <v-tabs-window-item key="0" v-show="tab == 0">
380
- <v-btn class="mt-4 mb-4" @click="switchVersion('latest')" color="primary" style="border-radius: 10px;"
381
- :disabled="!hasNewVersion">
382
- {{ t('core.header.updateDialog.updateToLatest') }}
383
- </v-btn>
384
380
  <div class="mb-4">
385
381
  <small>{{ t('core.header.updateDialog.dockerTip') }} <a
386
382
  href="https://containrrr.dev/watchtower/usage-overview/">{{ t('core.header.updateDialog.dockerTipLink') }}</a> {{ t('core.header.updateDialog.dockerTipContinue') }}</small>
@@ -44,10 +44,10 @@ async def check_dashboard_files():
44
44
  if v is not None:
45
45
  # has file
46
46
  if v == f"v{VERSION}":
47
- logger.info("管理面板文件已是最新。")
47
+ logger.info("WebUI 版本已是最新。")
48
48
  else:
49
49
  logger.warning(
50
- "检测到管理面板有更新。可以使用 /dashboard_update 命令更新。"
50
+ f"检测到 WebUI 版本 ({v}) 与当前 AstrBot 版本 (v{VERSION}) 不符。"
51
51
  )
52
52
  return
53
53
 
@@ -56,7 +56,7 @@ async def check_dashboard_files():
56
56
  )
57
57
 
58
58
  try:
59
- await download_dashboard()
59
+ await download_dashboard(version=f"v{VERSION}", latest=False)
60
60
  except Exception as e:
61
61
  logger.critical(f"下载管理面板文件失败: {e}。")
62
62
  return
@@ -1119,7 +1119,7 @@ UID: {user_id} 此 ID 可用于设置管理员。
1119
1119
  @filter.command("dashboard_update")
1120
1120
  async def update_dashboard(self, event: AstrMessageEvent):
1121
1121
  yield event.plain_result("正在尝试更新管理面板...")
1122
- await download_dashboard()
1122
+ await download_dashboard(version=f"v{VERSION}", latest=False)
1123
1123
  yield event.plain_result("管理面板更新完成。")
1124
1124
 
1125
1125
  @filter.command("set")
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "AstrBot"
3
- version = "3.5.26"
3
+ version = "3.5.27"
4
4
  description = "易上手的多平台 LLM 聊天机器人及开发框架"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"