AstrBot 4.10.6__tar.gz → 4.11.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 (737) hide show
  1. {astrbot-4.10.6 → astrbot-4.11.0}/.github/workflows/stale.yml +1 -0
  2. {astrbot-4.10.6 → astrbot-4.11.0}/PKG-INFO +3 -1
  3. {astrbot-4.10.6 → astrbot-4.11.0}/README.md +2 -0
  4. {astrbot-4.10.6 → astrbot-4.11.0}/README_en.md +1 -0
  5. {astrbot-4.10.6 → astrbot-4.11.0}/README_fr.md +1 -0
  6. {astrbot-4.10.6 → astrbot-4.11.0}/README_ja.md +1 -0
  7. {astrbot-4.10.6 → astrbot-4.11.0}/README_ru.md +1 -0
  8. {astrbot-4.10.6 → astrbot-4.11.0}/README_zh-TW.md +1 -0
  9. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/api/event/filter/__init__.py +4 -0
  10. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/builtin_commands/commands/tts.py +2 -2
  11. astrbot-4.11.0/astrbot/cli/__init__.py +1 -0
  12. astrbot-4.11.0/astrbot/core/agent/context/compressor.py +243 -0
  13. astrbot-4.11.0/astrbot/core/agent/context/config.py +35 -0
  14. astrbot-4.11.0/astrbot/core/agent/context/manager.py +120 -0
  15. astrbot-4.11.0/astrbot/core/agent/context/token_counter.py +64 -0
  16. astrbot-4.11.0/astrbot/core/agent/context/truncator.py +141 -0
  17. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/agent/runners/tool_loop_agent_runner.py +48 -1
  18. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/config/default.py +89 -28
  19. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/conversation_mgr.py +4 -0
  20. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/core_lifecycle.py +1 -0
  21. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/db/__init__.py +1 -0
  22. astrbot-4.11.0/astrbot/core/db/migration/migra_token_usage.py +61 -0
  23. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/db/po.py +7 -0
  24. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/db/sqlite.py +5 -1
  25. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/process_stage/method/agent_request.py +1 -1
  26. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/process_stage/method/agent_sub_stages/internal.py +70 -57
  27. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/result_decorate/stage.py +1 -1
  28. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/session_status_check/stage.py +1 -1
  29. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/waking_check/stage.py +1 -1
  30. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/weixin_official_account/weixin_offacc_adapter.py +1 -1
  31. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/entities.py +5 -0
  32. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/manager.py +27 -12
  33. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/context.py +14 -1
  34. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/register/__init__.py +2 -0
  35. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/register/star_handler.py +24 -0
  36. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/session_llm_manager.py +38 -26
  37. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/session_plugin_manager.py +23 -11
  38. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/star_handler.py +1 -0
  39. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/umop_config_router.py +6 -5
  40. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/migra_helper.py +8 -0
  41. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/backup.py +1 -0
  42. astrbot-4.11.0/changelogs/v4.11.0.md +19 -0
  43. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/AstrBotConfigV4.vue +2 -2
  44. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/ConfigItemRenderer.vue +9 -5
  45. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/ExtensionCard.vue +4 -2
  46. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/KnowledgeBaseSelector.vue +2 -2
  47. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/ListConfigItem.vue +2 -2
  48. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/PersonaSelector.vue +16 -13
  49. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/PluginSetSelector.vue +2 -2
  50. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/ProviderSelector.vue +2 -2
  51. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/ProxySelector.vue +13 -13
  52. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/T2ITemplateEditor.vue +37 -36
  53. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/composables/useProviderSources.ts +8 -2
  54. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/core/common.json +1 -0
  55. astrbot-4.11.0/dashboard/src/i18n/locales/en-US/core/shared.json +88 -0
  56. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/config-metadata.json +48 -12
  57. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/extension.json +8 -2
  58. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/settings.json +9 -0
  59. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/core/common.json +1 -0
  60. astrbot-4.11.0/dashboard/src/i18n/locales/zh-CN/core/shared.json +88 -0
  61. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/config-metadata.json +31 -8
  62. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/extension.json +7 -1
  63. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/settings.json +9 -0
  64. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/ExtensionPage.vue +44 -3
  65. {astrbot-4.10.6 → astrbot-4.11.0}/k8s/astrbot_with_napcat/01-pvc.yaml +17 -0
  66. astrbot-4.11.0/k8s/astrbot_with_napcat/02-deployment.yaml +126 -0
  67. {astrbot-4.10.6 → astrbot-4.11.0}/pyproject.toml +1 -1
  68. astrbot-4.11.0/tests/agent/test_context_manager.py +774 -0
  69. astrbot-4.11.0/tests/agent/test_truncator.py +423 -0
  70. astrbot-4.10.6/astrbot/cli/__init__.py +0 -1
  71. astrbot-4.10.6/dashboard/src/i18n/locales/en-US/core/shared.json +0 -47
  72. astrbot-4.10.6/dashboard/src/i18n/locales/zh-CN/core/shared.json +0 -47
  73. astrbot-4.10.6/k8s/astrbot_with_napcat/02-deployment.yaml +0 -64
  74. {astrbot-4.10.6 → astrbot-4.11.0}/.dockerignore +0 -0
  75. {astrbot-4.10.6 → astrbot-4.11.0}/.github/FUNDING.yml +0 -0
  76. {astrbot-4.10.6 → astrbot-4.11.0}/.github/ISSUE_TEMPLATE/PLUGIN_PUBLISH.yml +0 -0
  77. {astrbot-4.10.6 → astrbot-4.11.0}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  78. {astrbot-4.10.6 → astrbot-4.11.0}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  79. {astrbot-4.10.6 → astrbot-4.11.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  80. {astrbot-4.10.6 → astrbot-4.11.0}/.github/auto_assign.yml +0 -0
  81. {astrbot-4.10.6 → astrbot-4.11.0}/.github/copilot-instructions.md +0 -0
  82. {astrbot-4.10.6 → astrbot-4.11.0}/.github/dependabot.yml +0 -0
  83. {astrbot-4.10.6 → astrbot-4.11.0}/.github/workflows/auto_release.yml +0 -0
  84. {astrbot-4.10.6 → astrbot-4.11.0}/.github/workflows/code-format.yml +0 -0
  85. {astrbot-4.10.6 → astrbot-4.11.0}/.github/workflows/codeql.yml +0 -0
  86. {astrbot-4.10.6 → astrbot-4.11.0}/.github/workflows/coverage_test.yml +0 -0
  87. {astrbot-4.10.6 → astrbot-4.11.0}/.github/workflows/dashboard_ci.yml +0 -0
  88. {astrbot-4.10.6 → astrbot-4.11.0}/.github/workflows/docker-image.yml +0 -0
  89. {astrbot-4.10.6 → astrbot-4.11.0}/.github/workflows/smoke_test.yml +0 -0
  90. {astrbot-4.10.6 → astrbot-4.11.0}/.gitignore +0 -0
  91. {astrbot-4.10.6 → astrbot-4.11.0}/.pre-commit-config.yaml +0 -0
  92. {astrbot-4.10.6 → astrbot-4.11.0}/.python-version +0 -0
  93. {astrbot-4.10.6 → astrbot-4.11.0}/CODE_OF_CONDUCT.md +0 -0
  94. {astrbot-4.10.6 → astrbot-4.11.0}/CONTRIBUTING.md +0 -0
  95. {astrbot-4.10.6 → astrbot-4.11.0}/Dockerfile +0 -0
  96. {astrbot-4.10.6 → astrbot-4.11.0}/LICENSE +0 -0
  97. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/__init__.py +0 -0
  98. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/api/__init__.py +0 -0
  99. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/api/all.py +0 -0
  100. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/api/event/__init__.py +0 -0
  101. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/api/message_components.py +0 -0
  102. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/api/platform/__init__.py +0 -0
  103. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/api/provider/__init__.py +0 -0
  104. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/api/star/__init__.py +0 -0
  105. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/api/util/__init__.py +0 -0
  106. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/astrbot/long_term_memory.py +0 -0
  107. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/astrbot/main.py +0 -0
  108. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/astrbot/metadata.yaml +0 -0
  109. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/astrbot/process_llm_request.py +0 -0
  110. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/builtin_commands/commands/__init__.py +0 -0
  111. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/builtin_commands/commands/admin.py +0 -0
  112. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/builtin_commands/commands/alter_cmd.py +0 -0
  113. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/builtin_commands/commands/conversation.py +0 -0
  114. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/builtin_commands/commands/help.py +0 -0
  115. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/builtin_commands/commands/llm.py +0 -0
  116. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/builtin_commands/commands/persona.py +0 -0
  117. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/builtin_commands/commands/plugin.py +0 -0
  118. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/builtin_commands/commands/provider.py +0 -0
  119. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/builtin_commands/commands/setunset.py +0 -0
  120. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/builtin_commands/commands/sid.py +0 -0
  121. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/builtin_commands/commands/t2i.py +0 -0
  122. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/builtin_commands/commands/tool.py +0 -0
  123. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/builtin_commands/commands/utils/rst_scene.py +0 -0
  124. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/builtin_commands/main.py +0 -0
  125. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/builtin_commands/metadata.yaml +0 -0
  126. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/python_interpreter/main.py +0 -0
  127. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/python_interpreter/metadata.yaml +0 -0
  128. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/python_interpreter/requirements.txt +0 -0
  129. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/python_interpreter/shared/api.py +0 -0
  130. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/reminder/main.py +0 -0
  131. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/reminder/metadata.yaml +0 -0
  132. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/session_controller/main.py +0 -0
  133. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/session_controller/metadata.yaml +0 -0
  134. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/web_searcher/engines/__init__.py +0 -0
  135. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/web_searcher/engines/bing.py +0 -0
  136. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/web_searcher/engines/sogo.py +0 -0
  137. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/web_searcher/main.py +0 -0
  138. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/builtin_stars/web_searcher/metadata.yaml +0 -0
  139. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/cli/__main__.py +0 -0
  140. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/cli/commands/__init__.py +0 -0
  141. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/cli/commands/cmd_conf.py +0 -0
  142. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/cli/commands/cmd_init.py +0 -0
  143. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/cli/commands/cmd_plug.py +0 -0
  144. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/cli/commands/cmd_run.py +0 -0
  145. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/cli/utils/__init__.py +0 -0
  146. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/cli/utils/basic.py +0 -0
  147. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/cli/utils/plugin.py +0 -0
  148. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/cli/utils/version_comparator.py +0 -0
  149. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/__init__.py +0 -0
  150. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/agent/agent.py +0 -0
  151. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/agent/handoff.py +0 -0
  152. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/agent/hooks.py +0 -0
  153. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/agent/mcp_client.py +0 -0
  154. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/agent/message.py +0 -0
  155. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/agent/response.py +0 -0
  156. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/agent/run_context.py +0 -0
  157. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/agent/runners/__init__.py +0 -0
  158. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/agent/runners/base.py +0 -0
  159. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/agent/runners/coze/coze_agent_runner.py +0 -0
  160. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/agent/runners/coze/coze_api_client.py +0 -0
  161. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/agent/runners/dashscope/dashscope_agent_runner.py +0 -0
  162. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/agent/runners/dify/dify_agent_runner.py +0 -0
  163. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/agent/runners/dify/dify_api_client.py +0 -0
  164. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/agent/tool.py +0 -0
  165. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/agent/tool_executor.py +0 -0
  166. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/astr_agent_context.py +0 -0
  167. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/astr_agent_hooks.py +0 -0
  168. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/astr_agent_run_util.py +0 -0
  169. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/astr_agent_tool_exec.py +0 -0
  170. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/astrbot_config_mgr.py +0 -0
  171. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/backup/__init__.py +0 -0
  172. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/backup/constants.py +0 -0
  173. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/backup/exporter.py +0 -0
  174. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/backup/importer.py +0 -0
  175. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/config/__init__.py +0 -0
  176. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/config/astrbot_config.py +0 -0
  177. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/config/i18n_utils.py +0 -0
  178. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/db/migration/helper.py +0 -0
  179. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/db/migration/migra_3_to_4.py +0 -0
  180. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/db/migration/migra_45_to_46.py +0 -0
  181. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/db/migration/migra_webchat_session.py +0 -0
  182. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/db/migration/shared_preferences_v3.py +0 -0
  183. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/db/migration/sqlite_v3.py +0 -0
  184. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/db/vec_db/base.py +0 -0
  185. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/db/vec_db/faiss_impl/__init__.py +0 -0
  186. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/db/vec_db/faiss_impl/document_storage.py +0 -0
  187. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/db/vec_db/faiss_impl/embedding_storage.py +0 -0
  188. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/db/vec_db/faiss_impl/sqlite_init.sql +0 -0
  189. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/db/vec_db/faiss_impl/vec_db.py +0 -0
  190. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/event_bus.py +0 -0
  191. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/exceptions.py +0 -0
  192. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/file_token_service.py +0 -0
  193. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/initial_loader.py +0 -0
  194. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/chunking/__init__.py +0 -0
  195. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/chunking/base.py +0 -0
  196. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/chunking/fixed_size.py +0 -0
  197. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/chunking/recursive.py +0 -0
  198. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/kb_db_sqlite.py +0 -0
  199. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/kb_helper.py +0 -0
  200. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/kb_mgr.py +0 -0
  201. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/models.py +0 -0
  202. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/parsers/__init__.py +0 -0
  203. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/parsers/base.py +0 -0
  204. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/parsers/markitdown_parser.py +0 -0
  205. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/parsers/pdf_parser.py +0 -0
  206. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/parsers/text_parser.py +0 -0
  207. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/parsers/url_parser.py +0 -0
  208. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/parsers/util.py +0 -0
  209. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/prompts.py +0 -0
  210. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/retrieval/__init__.py +0 -0
  211. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/retrieval/hit_stopwords.txt +0 -0
  212. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/retrieval/manager.py +0 -0
  213. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/retrieval/rank_fusion.py +0 -0
  214. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/knowledge_base/retrieval/sparse_retriever.py +0 -0
  215. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/log.py +0 -0
  216. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/message/components.py +0 -0
  217. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/message/message_event_result.py +0 -0
  218. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/persona_mgr.py +0 -0
  219. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/__init__.py +0 -0
  220. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/content_safety_check/stage.py +0 -0
  221. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/content_safety_check/strategies/__init__.py +0 -0
  222. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/content_safety_check/strategies/baidu_aip.py +0 -0
  223. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/content_safety_check/strategies/keywords.py +0 -0
  224. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/content_safety_check/strategies/strategy.py +0 -0
  225. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/context.py +0 -0
  226. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/context_utils.py +0 -0
  227. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/preprocess_stage/stage.py +0 -0
  228. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/process_stage/method/agent_sub_stages/third_party.py +0 -0
  229. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/process_stage/method/star_request.py +0 -0
  230. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/process_stage/stage.py +0 -0
  231. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/process_stage/utils.py +0 -0
  232. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/rate_limit_check/stage.py +0 -0
  233. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/respond/stage.py +0 -0
  234. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/scheduler.py +0 -0
  235. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/stage.py +0 -0
  236. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/pipeline/whitelist_check/stage.py +0 -0
  237. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/__init__.py +0 -0
  238. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/astr_message_event.py +0 -0
  239. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/astrbot_message.py +0 -0
  240. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/manager.py +0 -0
  241. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/message_session.py +0 -0
  242. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/message_type.py +0 -0
  243. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/platform.py +0 -0
  244. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/platform_metadata.py +0 -0
  245. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/register.py +0 -0
  246. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/aiocqhttp/aiocqhttp_message_event.py +0 -0
  247. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/aiocqhttp/aiocqhttp_platform_adapter.py +0 -0
  248. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/dingtalk/dingtalk_adapter.py +0 -0
  249. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/dingtalk/dingtalk_event.py +0 -0
  250. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/discord/client.py +0 -0
  251. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/discord/components.py +0 -0
  252. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/discord/discord_platform_adapter.py +0 -0
  253. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/discord/discord_platform_event.py +0 -0
  254. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/lark/lark_adapter.py +0 -0
  255. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/lark/lark_event.py +0 -0
  256. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/lark/server.py +0 -0
  257. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/misskey/misskey_adapter.py +0 -0
  258. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/misskey/misskey_api.py +0 -0
  259. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/misskey/misskey_event.py +0 -0
  260. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/misskey/misskey_utils.py +0 -0
  261. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/qqofficial/qqofficial_message_event.py +0 -0
  262. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/qqofficial/qqofficial_platform_adapter.py +0 -0
  263. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_adapter.py +0 -0
  264. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_event.py +0 -0
  265. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_server.py +0 -0
  266. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/satori/satori_adapter.py +0 -0
  267. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/satori/satori_event.py +0 -0
  268. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/slack/client.py +0 -0
  269. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/slack/slack_adapter.py +0 -0
  270. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/slack/slack_event.py +0 -0
  271. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/telegram/tg_adapter.py +0 -0
  272. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/telegram/tg_event.py +0 -0
  273. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/webchat/webchat_adapter.py +0 -0
  274. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/webchat/webchat_event.py +0 -0
  275. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/webchat/webchat_queue_mgr.py +0 -0
  276. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/wechatpadpro/wechatpadpro_adapter.py +0 -0
  277. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/wechatpadpro/wechatpadpro_message_event.py +0 -0
  278. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/wechatpadpro/xml_data_parser.py +0 -0
  279. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/wecom/wecom_adapter.py +0 -0
  280. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/wecom/wecom_event.py +0 -0
  281. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/wecom/wecom_kf.py +0 -0
  282. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/wecom/wecom_kf_message.py +0 -0
  283. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/wecom_ai_bot/WXBizJsonMsgCrypt.py +0 -0
  284. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/wecom_ai_bot/__init__.py +0 -0
  285. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/wecom_ai_bot/ierror.py +0 -0
  286. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/wecom_ai_bot/wecomai_adapter.py +0 -0
  287. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/wecom_ai_bot/wecomai_api.py +0 -0
  288. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/wecom_ai_bot/wecomai_event.py +0 -0
  289. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/wecom_ai_bot/wecomai_queue_mgr.py +0 -0
  290. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/wecom_ai_bot/wecomai_server.py +0 -0
  291. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/wecom_ai_bot/wecomai_utils.py +0 -0
  292. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform/sources/weixin_official_account/weixin_offacc_event.py +0 -0
  293. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/platform_message_history_mgr.py +0 -0
  294. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/__init__.py +0 -0
  295. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/entites.py +0 -0
  296. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/func_tool_manager.py +0 -0
  297. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/provider.py +0 -0
  298. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/register.py +0 -0
  299. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/anthropic_source.py +0 -0
  300. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/azure_tts_source.py +0 -0
  301. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/bailian_rerank_source.py +0 -0
  302. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/dashscope_tts.py +0 -0
  303. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/edge_tts_source.py +0 -0
  304. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/fishaudio_tts_api_source.py +0 -0
  305. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/gemini_embedding_source.py +0 -0
  306. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/gemini_source.py +0 -0
  307. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/gemini_tts_source.py +0 -0
  308. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/groq_source.py +0 -0
  309. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/gsv_selfhosted_source.py +0 -0
  310. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/gsvi_tts_source.py +0 -0
  311. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/minimax_tts_api_source.py +0 -0
  312. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/openai_embedding_source.py +0 -0
  313. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/openai_source.py +0 -0
  314. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/openai_tts_api_source.py +0 -0
  315. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/sensevoice_selfhosted_source.py +0 -0
  316. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/vllm_rerank_source.py +0 -0
  317. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/volcengine_tts.py +0 -0
  318. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/whisper_api_source.py +0 -0
  319. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/whisper_selfhosted_source.py +0 -0
  320. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/xai_source.py +0 -0
  321. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/xinference_rerank_source.py +0 -0
  322. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/xinference_stt_provider.py +0 -0
  323. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/provider/sources/zhipu_source.py +0 -0
  324. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/README.md +0 -0
  325. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/__init__.py +0 -0
  326. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/command_management.py +0 -0
  327. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/config.py +0 -0
  328. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/filter/__init__.py +0 -0
  329. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/filter/command.py +0 -0
  330. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/filter/command_group.py +0 -0
  331. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/filter/custom_filter.py +0 -0
  332. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/filter/event_message_type.py +0 -0
  333. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/filter/permission.py +0 -0
  334. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/filter/platform_adapter_type.py +0 -0
  335. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/filter/regex.py +0 -0
  336. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/register/star.py +0 -0
  337. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/star.py +0 -0
  338. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/star_manager.py +0 -0
  339. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/star_tools.py +0 -0
  340. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/star/updator.py +0 -0
  341. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/updator.py +0 -0
  342. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/astrbot_path.py +0 -0
  343. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/command_parser.py +0 -0
  344. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/file_extract.py +0 -0
  345. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/io.py +0 -0
  346. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/llm_metadata.py +0 -0
  347. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/log_pipe.py +0 -0
  348. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/metrics.py +0 -0
  349. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/path_util.py +0 -0
  350. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/pip_installer.py +0 -0
  351. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/plugin_kv_store.py +0 -0
  352. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/session_lock.py +0 -0
  353. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/session_waiter.py +0 -0
  354. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/shared_preferences.py +0 -0
  355. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/t2i/__init__.py +0 -0
  356. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/t2i/local_strategy.py +0 -0
  357. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/t2i/network_strategy.py +0 -0
  358. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/t2i/renderer.py +0 -0
  359. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/t2i/template/astrbot_powershell.html +0 -0
  360. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/t2i/template/base.html +0 -0
  361. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/t2i/template_manager.py +0 -0
  362. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/tencent_record_helper.py +0 -0
  363. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/version_comparator.py +0 -0
  364. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/utils/webhook_utils.py +0 -0
  365. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/core/zip_updator.py +0 -0
  366. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/__init__.py +0 -0
  367. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/auth.py +0 -0
  368. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/chat.py +0 -0
  369. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/command.py +0 -0
  370. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/config.py +0 -0
  371. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/conversation.py +0 -0
  372. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/file.py +0 -0
  373. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/knowledge_base.py +0 -0
  374. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/log.py +0 -0
  375. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/persona.py +0 -0
  376. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/platform.py +0 -0
  377. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/plugin.py +0 -0
  378. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/route.py +0 -0
  379. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/session_management.py +0 -0
  380. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/stat.py +0 -0
  381. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/static_file.py +0 -0
  382. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/t2i.py +0 -0
  383. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/tools.py +0 -0
  384. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/routes/update.py +0 -0
  385. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/server.py +0 -0
  386. {astrbot-4.10.6 → astrbot-4.11.0}/astrbot/dashboard/utils.py +0 -0
  387. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.0.md +0 -0
  388. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.1.md +0 -0
  389. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.10.md +0 -0
  390. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.11.md +0 -0
  391. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.12.md +0 -0
  392. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.13.md +0 -0
  393. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.14.md +0 -0
  394. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.15.md +0 -0
  395. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.16.md +0 -0
  396. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.17.md +0 -0
  397. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.18.md +0 -0
  398. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.19.md +0 -0
  399. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.20.md +0 -0
  400. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.21.md +0 -0
  401. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.22.md +0 -0
  402. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.23.md +0 -0
  403. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.24.md +0 -0
  404. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.25.md +0 -0
  405. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.26.md +0 -0
  406. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.27.md +0 -0
  407. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.28.md +0 -0
  408. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.29.md +0 -0
  409. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.3.md +0 -0
  410. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.30.md +0 -0
  411. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.31.md +0 -0
  412. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.32.md +0 -0
  413. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.33.md +0 -0
  414. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.35.md +0 -0
  415. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.36.md +0 -0
  416. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.37.md +0 -0
  417. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.38.md +0 -0
  418. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.39.md +0 -0
  419. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.4.md +0 -0
  420. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.5.md +0 -0
  421. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.6.md +0 -0
  422. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.7.md +0 -0
  423. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.8.md +0 -0
  424. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.4.9.md +0 -0
  425. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.0.md +0 -0
  426. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.1.md +0 -0
  427. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.10.md +0 -0
  428. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.11.md +0 -0
  429. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.12.md +0 -0
  430. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.13.md +0 -0
  431. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.14.md +0 -0
  432. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.15.md +0 -0
  433. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.16.md +0 -0
  434. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.17.md +0 -0
  435. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.18.md +0 -0
  436. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.19.md +0 -0
  437. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.2.md +0 -0
  438. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.20.md +0 -0
  439. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.21.md +0 -0
  440. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.22.md +0 -0
  441. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.23.md +0 -0
  442. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.24.md +0 -0
  443. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.25.md +0 -0
  444. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.26.md +0 -0
  445. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.27.md +0 -0
  446. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.3.1.md +0 -0
  447. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.3.2.md +0 -0
  448. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.3.md +0 -0
  449. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.4.md +0 -0
  450. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.5.md +0 -0
  451. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.6.md +0 -0
  452. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.7.md +0 -0
  453. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.8.md +0 -0
  454. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v3.5.9.md +0 -0
  455. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.0.0-beta.3.md +0 -0
  456. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.0.0-beta.4.md +0 -0
  457. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.0.0-beta.5.md +0 -0
  458. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.0.0.md +0 -0
  459. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.1.0.md +0 -0
  460. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.1.1.md +0 -0
  461. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.1.2.md +0 -0
  462. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.1.3.md +0 -0
  463. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.1.4.md +0 -0
  464. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.1.5.md +0 -0
  465. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.1.6.md +0 -0
  466. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.1.7.md +0 -0
  467. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.10.0-alpha.1.md +0 -0
  468. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.10.0-alpha.2.md +0 -0
  469. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.10.0.md +0 -0
  470. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.10.1.md +0 -0
  471. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.10.2.md +0 -0
  472. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.10.3.md +0 -0
  473. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.10.4.md +0 -0
  474. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.10.5.md +0 -0
  475. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.10.6.md +0 -0
  476. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.2.0.md +0 -0
  477. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.2.1.md +0 -0
  478. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.3.0.md +0 -0
  479. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.3.1.md +0 -0
  480. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.3.2.md +0 -0
  481. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.3.3.md +0 -0
  482. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.3.5.md +0 -0
  483. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.5.0.md +0 -0
  484. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.5.1.md +0 -0
  485. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.5.2.md +0 -0
  486. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.5.3.md +0 -0
  487. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.5.4.md +0 -0
  488. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.5.5.md +0 -0
  489. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.5.6.md +0 -0
  490. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.5.7.md +0 -0
  491. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.5.8.md +0 -0
  492. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.6.0.md +0 -0
  493. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.6.1.md +0 -0
  494. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.7.0.md +0 -0
  495. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.7.1.md +0 -0
  496. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.7.3.md +0 -0
  497. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.7.4.md +0 -0
  498. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.8.0.md +0 -0
  499. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.9.0.md +0 -0
  500. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.9.1.md +0 -0
  501. {astrbot-4.10.6 → astrbot-4.11.0}/changelogs/v4.9.2.md +0 -0
  502. {astrbot-4.10.6 → astrbot-4.11.0}/compose.yml +0 -0
  503. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/.gitignore +0 -0
  504. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/LICENSE +0 -0
  505. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/README.md +0 -0
  506. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/env.d.ts +0 -0
  507. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/index.html +0 -0
  508. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/public/_redirects +0 -0
  509. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/public/favicon.svg +0 -0
  510. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/App.vue +0 -0
  511. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/astrbot_banner.png +0 -0
  512. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/astrbot_logo_mini.webp +0 -0
  513. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/icon-no-shadow.svg +0 -0
  514. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/loading-seio.webp +0 -0
  515. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/platform_logos/dingtalk.svg +0 -0
  516. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/platform_logos/discord.svg +0 -0
  517. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/platform_logos/kook.png +0 -0
  518. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/platform_logos/lark.png +0 -0
  519. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/platform_logos/misskey.png +0 -0
  520. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/platform_logos/onebot.png +0 -0
  521. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/platform_logos/qq.png +0 -0
  522. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/platform_logos/satori.png +0 -0
  523. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/platform_logos/slack.svg +0 -0
  524. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/platform_logos/telegram.svg +0 -0
  525. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/platform_logos/vocechat.png +0 -0
  526. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/platform_logos/wechat.png +0 -0
  527. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/platform_logos/wecom.png +0 -0
  528. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/plugin_icon.png +0 -0
  529. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/provider_logos/modelstack.svg +0 -0
  530. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/assets/images/xmas-hat.png +0 -0
  531. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/ConfirmDialog.vue +0 -0
  532. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/chat/Chat.vue +0 -0
  533. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/chat/ChatInput.vue +0 -0
  534. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/chat/ConfigSelector.vue +0 -0
  535. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/chat/ConversationSidebar.vue +0 -0
  536. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/chat/MessageList.vue +0 -0
  537. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/chat/ProviderConfigDialog.vue +0 -0
  538. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/chat/ProviderModelMenu.vue +0 -0
  539. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/chat/StandaloneChat.vue +0 -0
  540. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/config/AstrBotCoreConfigWrapper.vue +0 -0
  541. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/extension/McpServersSection.vue +0 -0
  542. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/extension/componentPanel/components/CommandFilters.vue +0 -0
  543. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/extension/componentPanel/components/CommandTable.vue +0 -0
  544. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/extension/componentPanel/components/DetailsDialog.vue +0 -0
  545. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/extension/componentPanel/components/RenameDialog.vue +0 -0
  546. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/extension/componentPanel/components/ToolTable.vue +0 -0
  547. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/extension/componentPanel/composables/useCommandActions.ts +0 -0
  548. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/extension/componentPanel/composables/useCommandFilters.ts +0 -0
  549. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/extension/componentPanel/composables/useComponentData.ts +0 -0
  550. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/extension/componentPanel/index.vue +0 -0
  551. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/extension/componentPanel/types.ts +0 -0
  552. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/platform/AddNewPlatform.vue +0 -0
  553. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/provider/AddNewProvider.vue +0 -0
  554. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/provider/ProviderModelsPanel.vue +0 -0
  555. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/provider/ProviderSourcesPanel.vue +0 -0
  556. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/AstrBotConfig.vue +0 -0
  557. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/BackupDialog.vue +0 -0
  558. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/ChangelogDialog.vue +0 -0
  559. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/ConsoleDisplayer.vue +0 -0
  560. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/ItemCard.vue +0 -0
  561. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/ItemCardGrid.vue +0 -0
  562. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/LanguageSwitcher.vue +0 -0
  563. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/Logo.vue +0 -0
  564. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/MigrationDialog.vue +0 -0
  565. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/ObjectEditor.vue +0 -0
  566. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/PersonaForm.vue +0 -0
  567. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/ReadmeDialog.vue +0 -0
  568. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/SidebarCustomizer.vue +0 -0
  569. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/StyledMenu.vue +0 -0
  570. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/TemplateListEditor.vue +0 -0
  571. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/UninstallConfirmDialog.vue +0 -0
  572. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/components/shared/WaitingForRestart.vue +0 -0
  573. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/composables/useConversations.ts +0 -0
  574. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/composables/useMediaHandling.ts +0 -0
  575. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/composables/useMessages.ts +0 -0
  576. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/composables/useRecording.ts +0 -0
  577. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/composables/useSessions.ts +0 -0
  578. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/config.ts +0 -0
  579. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/composables.ts +0 -0
  580. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/loader.ts +0 -0
  581. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/core/actions.json +0 -0
  582. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/core/header.json +0 -0
  583. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/core/navigation.json +0 -0
  584. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/core/status.json +0 -0
  585. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/about.json +0 -0
  586. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/alkaid/index.json +0 -0
  587. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/alkaid/knowledge-base.json +0 -0
  588. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/alkaid/memory.json +0 -0
  589. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/auth.json +0 -0
  590. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/chart.json +0 -0
  591. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/chat.json +0 -0
  592. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/command.json +0 -0
  593. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/config.json +0 -0
  594. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/console.json +0 -0
  595. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/conversation.json +0 -0
  596. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/dashboard.json +0 -0
  597. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/knowledge-base/detail.json +0 -0
  598. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/knowledge-base/document.json +0 -0
  599. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/knowledge-base/index.json +0 -0
  600. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/migration.json +0 -0
  601. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/persona.json +0 -0
  602. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/platform.json +0 -0
  603. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/provider.json +0 -0
  604. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/session-management.json +0 -0
  605. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/features/tool-use.json +0 -0
  606. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/messages/errors.json +0 -0
  607. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/messages/success.json +0 -0
  608. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/en-US/messages/validation.json +0 -0
  609. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/core/actions.json +0 -0
  610. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/core/header.json +0 -0
  611. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/core/navigation.json +0 -0
  612. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/core/status.json +0 -0
  613. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/about.json +0 -0
  614. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/alkaid/index.json +0 -0
  615. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/alkaid/knowledge-base.json +0 -0
  616. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/alkaid/memory.json +0 -0
  617. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/auth.json +0 -0
  618. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/chart.json +0 -0
  619. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/chat.json +0 -0
  620. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/command.json +0 -0
  621. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/config.json +0 -0
  622. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/console.json +0 -0
  623. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/conversation.json +0 -0
  624. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/dashboard.json +0 -0
  625. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/knowledge-base/detail.json +0 -0
  626. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/knowledge-base/document.json +0 -0
  627. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/knowledge-base/index.json +0 -0
  628. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/migration.json +0 -0
  629. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/persona.json +0 -0
  630. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/platform.json +0 -0
  631. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/provider.json +0 -0
  632. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/session-management.json +0 -0
  633. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/features/tool-use.json +0 -0
  634. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/messages/errors.json +0 -0
  635. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/messages/success.json +0 -0
  636. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/locales/zh-CN/messages/validation.json +0 -0
  637. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/tools/index.ts +0 -0
  638. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/translations.ts +0 -0
  639. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/types.ts +0 -0
  640. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/i18n/validator.ts +0 -0
  641. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/layouts/blank/BlankLayout.vue +0 -0
  642. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/layouts/full/FullLayout.vue +0 -0
  643. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/layouts/full/vertical-header/VerticalHeader.vue +0 -0
  644. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/layouts/full/vertical-sidebar/NavItem.vue +0 -0
  645. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/layouts/full/vertical-sidebar/VerticalSidebar.vue +0 -0
  646. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/layouts/full/vertical-sidebar/sidebarItem.ts +0 -0
  647. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/main.ts +0 -0
  648. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/plugins/confirmPlugin.ts +0 -0
  649. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/plugins/vuetify.ts +0 -0
  650. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/router/AuthRoutes.ts +0 -0
  651. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/router/ChatBoxRoutes.ts +0 -0
  652. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/router/MainRoutes.ts +0 -0
  653. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/router/index.ts +0 -0
  654. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/scss/_override.scss +0 -0
  655. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/scss/_variables.scss +0 -0
  656. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/scss/components/_VButtons.scss +0 -0
  657. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/scss/components/_VCard.scss +0 -0
  658. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/scss/components/_VField.scss +0 -0
  659. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/scss/components/_VInput.scss +0 -0
  660. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/scss/components/_VNavigationDrawer.scss +0 -0
  661. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/scss/components/_VScrollbar.scss +0 -0
  662. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/scss/components/_VShadow.scss +0 -0
  663. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/scss/components/_VTabs.scss +0 -0
  664. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/scss/components/_VTextField.scss +0 -0
  665. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/scss/layout/_container.scss +0 -0
  666. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/scss/layout/_sidebar.scss +0 -0
  667. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/scss/pages/_dashboards.scss +0 -0
  668. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/scss/style.scss +0 -0
  669. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/stores/auth.ts +0 -0
  670. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/stores/common.js +0 -0
  671. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/stores/customizer.ts +0 -0
  672. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/stores/routerLoading.ts +0 -0
  673. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/stores/toast.js +0 -0
  674. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/theme/DarkTheme.ts +0 -0
  675. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/theme/LightTheme.ts +0 -0
  676. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/types/themeTypes/ThemeType.ts +0 -0
  677. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/types/vue3-print-nb.d.ts +0 -0
  678. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/types/vue_tabler_icon.d.ts +0 -0
  679. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/utils/platformUtils.js +0 -0
  680. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/utils/providerUtils.js +0 -0
  681. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/utils/sidebarCustomization.js +0 -0
  682. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/utils/toast.js +0 -0
  683. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/AboutPage.vue +0 -0
  684. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/AlkaidPage.vue +0 -0
  685. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/ChatBoxPage.vue +0 -0
  686. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/ChatPage.vue +0 -0
  687. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/ConfigPage.vue +0 -0
  688. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/ConsolePage.vue +0 -0
  689. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/ConversationPage.vue +0 -0
  690. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/PersonaPage.vue +0 -0
  691. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/PlatformPage.vue +0 -0
  692. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/ProviderPage.vue +0 -0
  693. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/SessionManagementPage.vue +0 -0
  694. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/Settings.vue +0 -0
  695. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/alkaid/KnowledgeBase.vue +0 -0
  696. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/alkaid/LongTermMemory.vue +0 -0
  697. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/alkaid/Other.vue +0 -0
  698. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/authentication/auth/LoginPage.vue +0 -0
  699. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/authentication/authForms/AuthLogin.vue +0 -0
  700. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/dashboards/default/DefaultDashboard.vue +0 -0
  701. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/dashboards/default/components/MemoryUsage.vue +0 -0
  702. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/dashboards/default/components/MessageStat.vue +0 -0
  703. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/dashboards/default/components/OnlinePlatform.vue +0 -0
  704. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/dashboards/default/components/OnlineTime.vue +0 -0
  705. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/dashboards/default/components/PlatformStat.vue +0 -0
  706. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/dashboards/default/components/RunningTime.vue +0 -0
  707. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/dashboards/default/components/TotalMessage.vue +0 -0
  708. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/knowledge-base/DocumentDetail.vue +0 -0
  709. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/knowledge-base/KBDetail.vue +0 -0
  710. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/knowledge-base/KBList.vue +0 -0
  711. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/knowledge-base/components/DocumentsTab.vue +0 -0
  712. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/knowledge-base/components/RetrievalTab.vue +0 -0
  713. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/knowledge-base/components/SettingsTab.vue +0 -0
  714. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/knowledge-base/components/TavilyKeyDialog.vue +0 -0
  715. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/src/views/knowledge-base/index.vue +0 -0
  716. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/tsconfig.json +0 -0
  717. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/tsconfig.vite-config.json +0 -0
  718. {astrbot-4.10.6 → astrbot-4.11.0}/dashboard/vite.config.ts +0 -0
  719. {astrbot-4.10.6 → astrbot-4.11.0}/k8s/astrbot/00-namespace.yaml +0 -0
  720. {astrbot-4.10.6 → astrbot-4.11.0}/k8s/astrbot/01-pvc.yaml +0 -0
  721. {astrbot-4.10.6 → astrbot-4.11.0}/k8s/astrbot/02-deployment.yaml +0 -0
  722. {astrbot-4.10.6 → astrbot-4.11.0}/k8s/astrbot/03-service-nodeport.yaml +0 -0
  723. {astrbot-4.10.6 → astrbot-4.11.0}/k8s/astrbot/04-service-loadbalancer.yaml +0 -0
  724. {astrbot-4.10.6 → astrbot-4.11.0}/k8s/astrbot_with_napcat/00-namespace.yaml +0 -0
  725. {astrbot-4.10.6 → astrbot-4.11.0}/k8s/astrbot_with_napcat/03-service-nodeport.yaml +0 -0
  726. {astrbot-4.10.6 → astrbot-4.11.0}/k8s/astrbot_with_napcat/04-service-loadbalancer.yaml +0 -0
  727. {astrbot-4.10.6 → astrbot-4.11.0}/main.py +0 -0
  728. {astrbot-4.10.6 → astrbot-4.11.0}/requirements.txt +0 -0
  729. {astrbot-4.10.6 → astrbot-4.11.0}/samples/stt_health_check.wav +0 -0
  730. {astrbot-4.10.6 → astrbot-4.11.0}/tests/test_backup.py +0 -0
  731. {astrbot-4.10.6 → astrbot-4.11.0}/tests/test_dashboard.py +0 -0
  732. {astrbot-4.10.6 → astrbot-4.11.0}/tests/test_kb_import.py +0 -0
  733. {astrbot-4.10.6 → astrbot-4.11.0}/tests/test_main.py +0 -0
  734. {astrbot-4.10.6 → astrbot-4.11.0}/tests/test_plugin_manager.py +0 -0
  735. {astrbot-4.10.6 → astrbot-4.11.0}/tests/test_security_fixes.py +0 -0
  736. {astrbot-4.10.6 → astrbot-4.11.0}/tests/test_tool_loop_agent_runner.py +0 -0
  737. {astrbot-4.10.6 → astrbot-4.11.0}/typings/faiss/__init__.pyi +0 -0
@@ -26,6 +26,7 @@ jobs:
26
26
  - uses: actions/stale@v10
27
27
  with:
28
28
  repo-token: ${{ secrets.GITHUB_TOKEN }}
29
+ operations-per-run: 200
29
30
 
30
31
  # 只处理带 bug 标签的 Issue
31
32
  any-of-labels: 'bug'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: AstrBot
3
- Version: 4.10.6
3
+ Version: 4.11.0
4
4
  Summary: Easy-to-use multi-platform LLM chatbot and development framework
5
5
  License-File: LICENSE
6
6
  Keywords: Astrbot,Astrbot Module,Astrbot Plugin
@@ -193,6 +193,7 @@ uv run main.py
193
193
 
194
194
  **社区维护**
195
195
 
196
+ - [Matrix](https://github.com/stevessr/astrbot_plugin_matrix_adapter)
196
197
  - [KOOK](https://github.com/wuyan1003/astrbot_plugin_kook_adapter)
197
198
  - [VoceChat](https://github.com/HikariFroya/astrbot_plugin_vocechat)
198
199
  - [Bilibili 私信](https://github.com/Hina-Chat/astrbot_plugin_bilibili_adapter)
@@ -269,6 +270,7 @@ pre-commit install
269
270
  - 5 群:822130018
270
271
  - 6 群:753075035
271
272
  - 7 群:743746109
273
+ - 8 群:1030353265
272
274
  - 开发者群:975206796
273
275
 
274
276
  ### Telegram 群组
@@ -132,6 +132,7 @@ uv run main.py
132
132
 
133
133
  **社区维护**
134
134
 
135
+ - [Matrix](https://github.com/stevessr/astrbot_plugin_matrix_adapter)
135
136
  - [KOOK](https://github.com/wuyan1003/astrbot_plugin_kook_adapter)
136
137
  - [VoceChat](https://github.com/HikariFroya/astrbot_plugin_vocechat)
137
138
  - [Bilibili 私信](https://github.com/Hina-Chat/astrbot_plugin_bilibili_adapter)
@@ -208,6 +209,7 @@ pre-commit install
208
209
  - 5 群:822130018
209
210
  - 6 群:753075035
210
211
  - 7 群:743746109
212
+ - 8 群:1030353265
211
213
  - 开发者群:975206796
212
214
 
213
215
  ### Telegram 群组
@@ -134,6 +134,7 @@ Or refer to the official documentation: [Deploy AstrBot from Source](https://ast
134
134
 
135
135
  **Community Maintained**
136
136
 
137
+ - [Matrix](https://github.com/stevessr/astrbot_plugin_matrix_adapter)
137
138
  - [KOOK](https://github.com/wuyan1003/astrbot_plugin_kook_adapter)
138
139
  - [VoceChat](https://github.com/HikariFroya/astrbot_plugin_vocechat)
139
140
  - [Bilibili Direct Messages](https://github.com/Hina-Chat/astrbot_plugin_bilibili_adapter)
@@ -134,6 +134,7 @@ Ou consultez la documentation officielle : [Déployer AstrBot depuis les sources
134
134
 
135
135
  **Maintenues par la communauté**
136
136
 
137
+ - [Matrix](https://github.com/stevessr/astrbot_plugin_matrix_adapter)
137
138
  - [KOOK](https://github.com/wuyan1003/astrbot_plugin_kook_adapter)
138
139
  - [VoceChat](https://github.com/HikariFroya/astrbot_plugin_vocechat)
139
140
  - [Messages directs Bilibili](https://github.com/Hina-Chat/astrbot_plugin_bilibili_adapter)
@@ -134,6 +134,7 @@ uv run main.py
134
134
 
135
135
  **コミュニティメンテナンス**
136
136
 
137
+ - [Matrix](https://github.com/stevessr/astrbot_plugin_matrix_adapter)
137
138
  - [KOOK](https://github.com/wuyan1003/astrbot_plugin_kook_adapter)
138
139
  - [VoceChat](https://github.com/HikariFroya/astrbot_plugin_vocechat)
139
140
  - [Bilibili ダイレクトメッセージ](https://github.com/Hina-Chat/astrbot_plugin_bilibili_adapter)
@@ -134,6 +134,7 @@ uv run main.py
134
134
 
135
135
  **Поддерживаемые сообществом**
136
136
 
137
+ - [Matrix](https://github.com/stevessr/astrbot_plugin_matrix_adapter)
137
138
  - [KOOK](https://github.com/wuyan1003/astrbot_plugin_kook_adapter)
138
139
  - [VoceChat](https://github.com/HikariFroya/astrbot_plugin_vocechat)
139
140
  - [Личные сообщения Bilibili](https://github.com/Hina-Chat/astrbot_plugin_bilibili_adapter)
@@ -134,6 +134,7 @@ uv run main.py
134
134
 
135
135
  **社群維護**
136
136
 
137
+ - [Matrix](https://github.com/stevessr/astrbot_plugin_matrix_adapter)
137
138
  - [KOOK](https://github.com/wuyan1003/astrbot_plugin_kook_adapter)
138
139
  - [VoceChat](https://github.com/HikariFroya/astrbot_plugin_vocechat)
139
140
  - [Bilibili 私訊](https://github.com/Hina-Chat/astrbot_plugin_bilibili_adapter)
@@ -21,6 +21,9 @@ from astrbot.core.star.register import (
21
21
  from astrbot.core.star.register import register_on_llm_request as on_llm_request
22
22
  from astrbot.core.star.register import register_on_llm_response as on_llm_response
23
23
  from astrbot.core.star.register import register_on_platform_loaded as on_platform_loaded
24
+ from astrbot.core.star.register import (
25
+ register_on_waiting_llm_request as on_waiting_llm_request,
26
+ )
24
27
  from astrbot.core.star.register import register_permission_type as permission_type
25
28
  from astrbot.core.star.register import (
26
29
  register_platform_adapter_type as platform_adapter_type,
@@ -46,6 +49,7 @@ __all__ = [
46
49
  "on_llm_request",
47
50
  "on_llm_response",
48
51
  "on_platform_loaded",
52
+ "on_waiting_llm_request",
49
53
  "permission_type",
50
54
  "platform_adapter_type",
51
55
  "regex",
@@ -14,13 +14,13 @@ class TTSCommand:
14
14
  async def tts(self, event: AstrMessageEvent):
15
15
  """开关文本转语音(会话级别)"""
16
16
  umo = event.unified_msg_origin
17
- ses_tts = SessionServiceManager.is_tts_enabled_for_session(umo)
17
+ ses_tts = await SessionServiceManager.is_tts_enabled_for_session(umo)
18
18
  cfg = self.context.get_config(umo=umo)
19
19
  tts_enable = cfg["provider_tts_settings"]["enable"]
20
20
 
21
21
  # 切换状态
22
22
  new_status = not ses_tts
23
- SessionServiceManager.set_tts_status_for_session(umo, new_status)
23
+ await SessionServiceManager.set_tts_status_for_session(umo, new_status)
24
24
 
25
25
  status_text = "已开启" if new_status else "已关闭"
26
26
 
@@ -0,0 +1 @@
1
+ __version__ = "4.11.0"
@@ -0,0 +1,243 @@
1
+ from typing import TYPE_CHECKING, Protocol, runtime_checkable
2
+
3
+ from ..message import Message
4
+
5
+ if TYPE_CHECKING:
6
+ from astrbot import logger
7
+ else:
8
+ try:
9
+ from astrbot import logger
10
+ except ImportError:
11
+ import logging
12
+
13
+ logger = logging.getLogger("astrbot")
14
+
15
+ if TYPE_CHECKING:
16
+ from astrbot.core.provider.provider import Provider
17
+
18
+ from ..context.truncator import ContextTruncator
19
+
20
+
21
+ @runtime_checkable
22
+ class ContextCompressor(Protocol):
23
+ """
24
+ Protocol for context compressors.
25
+ Provides an interface for compressing message lists.
26
+ """
27
+
28
+ def should_compress(
29
+ self, messages: list[Message], current_tokens: int, max_tokens: int
30
+ ) -> bool:
31
+ """Check if compression is needed.
32
+
33
+ Args:
34
+ messages: The message list to evaluate.
35
+ current_tokens: The current token count.
36
+ max_tokens: The maximum allowed tokens for the model.
37
+
38
+ Returns:
39
+ True if compression is needed, False otherwise.
40
+ """
41
+ ...
42
+
43
+ async def __call__(self, messages: list[Message]) -> list[Message]:
44
+ """Compress the message list.
45
+
46
+ Args:
47
+ messages: The original message list.
48
+
49
+ Returns:
50
+ The compressed message list.
51
+ """
52
+ ...
53
+
54
+
55
+ class TruncateByTurnsCompressor:
56
+ """Truncate by turns compressor implementation.
57
+ Truncates the message list by removing older turns.
58
+ """
59
+
60
+ def __init__(self, truncate_turns: int = 1, compression_threshold: float = 0.82):
61
+ """Initialize the truncate by turns compressor.
62
+
63
+ Args:
64
+ truncate_turns: The number of turns to remove when truncating (default: 1).
65
+ compression_threshold: The compression trigger threshold (default: 0.82).
66
+ """
67
+ self.truncate_turns = truncate_turns
68
+ self.compression_threshold = compression_threshold
69
+
70
+ def should_compress(
71
+ self, messages: list[Message], current_tokens: int, max_tokens: int
72
+ ) -> bool:
73
+ """Check if compression is needed.
74
+
75
+ Args:
76
+ messages: The message list to evaluate.
77
+ current_tokens: The current token count.
78
+ max_tokens: The maximum allowed tokens.
79
+
80
+ Returns:
81
+ True if compression is needed, False otherwise.
82
+ """
83
+ if max_tokens <= 0 or current_tokens <= 0:
84
+ return False
85
+ usage_rate = current_tokens / max_tokens
86
+ return usage_rate > self.compression_threshold
87
+
88
+ async def __call__(self, messages: list[Message]) -> list[Message]:
89
+ truncator = ContextTruncator()
90
+ truncated_messages = truncator.truncate_by_dropping_oldest_turns(
91
+ messages,
92
+ drop_turns=self.truncate_turns,
93
+ )
94
+ return truncated_messages
95
+
96
+
97
+ def split_history(
98
+ messages: list[Message], keep_recent: int
99
+ ) -> tuple[list[Message], list[Message], list[Message]]:
100
+ """Split the message list into system messages, messages to summarize, and recent messages.
101
+
102
+ Ensures that the split point is between complete user-assistant pairs to maintain conversation flow.
103
+
104
+ Args:
105
+ messages: The original message list.
106
+ keep_recent: The number of latest messages to keep.
107
+
108
+ Returns:
109
+ tuple: (system_messages, messages_to_summarize, recent_messages)
110
+ """
111
+ # keep the system messages
112
+ first_non_system = 0
113
+ for i, msg in enumerate(messages):
114
+ if msg.role != "system":
115
+ first_non_system = i
116
+ break
117
+
118
+ system_messages = messages[:first_non_system]
119
+ non_system_messages = messages[first_non_system:]
120
+
121
+ if len(non_system_messages) <= keep_recent:
122
+ return system_messages, [], non_system_messages
123
+
124
+ # Find the split point, ensuring recent_messages starts with a user message
125
+ # This maintains complete conversation turns
126
+ split_index = len(non_system_messages) - keep_recent
127
+
128
+ # Search backward from split_index to find the first user message
129
+ # This ensures recent_messages starts with a user message (complete turn)
130
+ while split_index > 0 and non_system_messages[split_index].role != "user":
131
+ # TODO: +=1 or -=1 ? calculate by tokens
132
+ split_index -= 1
133
+
134
+ # If we couldn't find a user message, keep all messages as recent
135
+ if split_index == 0:
136
+ return system_messages, [], non_system_messages
137
+
138
+ messages_to_summarize = non_system_messages[:split_index]
139
+ recent_messages = non_system_messages[split_index:]
140
+
141
+ return system_messages, messages_to_summarize, recent_messages
142
+
143
+
144
+ class LLMSummaryCompressor:
145
+ """LLM-based summary compressor.
146
+ Uses LLM to summarize the old conversation history, keeping the latest messages.
147
+ """
148
+
149
+ def __init__(
150
+ self,
151
+ provider: "Provider",
152
+ keep_recent: int = 4,
153
+ instruction_text: str | None = None,
154
+ compression_threshold: float = 0.82,
155
+ ):
156
+ """Initialize the LLM summary compressor.
157
+
158
+ Args:
159
+ provider: The LLM provider instance.
160
+ keep_recent: The number of latest messages to keep (default: 4).
161
+ instruction_text: Custom instruction for summary generation.
162
+ compression_threshold: The compression trigger threshold (default: 0.82).
163
+ """
164
+ self.provider = provider
165
+ self.keep_recent = keep_recent
166
+ self.compression_threshold = compression_threshold
167
+
168
+ self.instruction_text = instruction_text or (
169
+ "Based on our full conversation history, produce a concise summary of key takeaways and/or project progress.\n"
170
+ "1. Systematically cover all core topics discussed and the final conclusion/outcome for each; clearly highlight the latest primary focus.\n"
171
+ "2. If any tools were used, summarize tool usage (total call count) and extract the most valuable insights from tool outputs.\n"
172
+ "3. If there was an initial user goal, state it first and describe the current progress/status.\n"
173
+ "4. Write the summary in the user's language.\n"
174
+ )
175
+
176
+ def should_compress(
177
+ self, messages: list[Message], current_tokens: int, max_tokens: int
178
+ ) -> bool:
179
+ """Check if compression is needed.
180
+
181
+ Args:
182
+ messages: The message list to evaluate.
183
+ current_tokens: The current token count.
184
+ max_tokens: The maximum allowed tokens.
185
+
186
+ Returns:
187
+ True if compression is needed, False otherwise.
188
+ """
189
+ if max_tokens <= 0 or current_tokens <= 0:
190
+ return False
191
+ usage_rate = current_tokens / max_tokens
192
+ return usage_rate > self.compression_threshold
193
+
194
+ async def __call__(self, messages: list[Message]) -> list[Message]:
195
+ """Use LLM to generate a summary of the conversation history.
196
+
197
+ Process:
198
+ 1. Divide messages: keep the system message and the latest N messages.
199
+ 2. Send the old messages + the instruction message to the LLM.
200
+ 3. Reconstruct the message list: [system message, summary message, latest messages].
201
+ """
202
+ if len(messages) <= self.keep_recent + 1:
203
+ return messages
204
+
205
+ system_messages, messages_to_summarize, recent_messages = split_history(
206
+ messages, self.keep_recent
207
+ )
208
+
209
+ if not messages_to_summarize:
210
+ return messages
211
+
212
+ # build payload
213
+ instruction_message = Message(role="user", content=self.instruction_text)
214
+ llm_payload = messages_to_summarize + [instruction_message]
215
+
216
+ # generate summary
217
+ try:
218
+ response = await self.provider.text_chat(contexts=llm_payload)
219
+ summary_content = response.completion_text
220
+ except Exception as e:
221
+ logger.error(f"Failed to generate summary: {e}")
222
+ return messages
223
+
224
+ # build result
225
+ result = []
226
+ result.extend(system_messages)
227
+
228
+ result.append(
229
+ Message(
230
+ role="user",
231
+ content=f"Our previous history conversation summary: {summary_content}",
232
+ )
233
+ )
234
+ result.append(
235
+ Message(
236
+ role="assistant",
237
+ content="Acknowledged the summary of our previous conversation history.",
238
+ )
239
+ )
240
+
241
+ result.extend(recent_messages)
242
+
243
+ return result
@@ -0,0 +1,35 @@
1
+ from dataclasses import dataclass
2
+ from typing import TYPE_CHECKING
3
+
4
+ from .compressor import ContextCompressor
5
+ from .token_counter import TokenCounter
6
+
7
+ if TYPE_CHECKING:
8
+ from astrbot.core.provider.provider import Provider
9
+
10
+
11
+ @dataclass
12
+ class ContextConfig:
13
+ """Context configuration class."""
14
+
15
+ max_context_tokens: int = 0
16
+ """Maximum number of context tokens. <= 0 means no limit."""
17
+ enforce_max_turns: int = -1 # -1 means no limit
18
+ """Maximum number of conversation turns to keep. -1 means no limit. Executed before compression."""
19
+ truncate_turns: int = 1
20
+ """Number of conversation turns to discard at once when truncation is triggered.
21
+ Two processes will use this value:
22
+
23
+ 1. Enforce max turns truncation.
24
+ 2. Truncation by turns compression strategy.
25
+ """
26
+ llm_compress_instruction: str | None = None
27
+ """Instruction prompt for LLM-based compression."""
28
+ llm_compress_keep_recent: int = 0
29
+ """Number of recent messages to keep during LLM-based compression."""
30
+ llm_compress_provider: "Provider | None" = None
31
+ """LLM provider used for compression tasks. If None, truncation strategy is used."""
32
+ custom_token_counter: TokenCounter | None = None
33
+ """Custom token counting method. If None, the default method is used."""
34
+ custom_compressor: ContextCompressor | None = None
35
+ """Custom context compression method. If None, the default method is used."""
@@ -0,0 +1,120 @@
1
+ from astrbot import logger
2
+
3
+ from ..message import Message
4
+ from .compressor import LLMSummaryCompressor, TruncateByTurnsCompressor
5
+ from .config import ContextConfig
6
+ from .token_counter import EstimateTokenCounter
7
+ from .truncator import ContextTruncator
8
+
9
+
10
+ class ContextManager:
11
+ """Context compression manager."""
12
+
13
+ def __init__(
14
+ self,
15
+ config: ContextConfig,
16
+ ):
17
+ """Initialize the context manager.
18
+
19
+ There are two strategies to handle context limit reached:
20
+ 1. Truncate by turns: remove older messages by turns.
21
+ 2. LLM-based compression: use LLM to summarize old messages.
22
+
23
+ Args:
24
+ config: The context configuration.
25
+ """
26
+ self.config = config
27
+
28
+ self.token_counter = config.custom_token_counter or EstimateTokenCounter()
29
+ self.truncator = ContextTruncator()
30
+
31
+ if config.custom_compressor:
32
+ self.compressor = config.custom_compressor
33
+ elif config.llm_compress_provider:
34
+ self.compressor = LLMSummaryCompressor(
35
+ provider=config.llm_compress_provider,
36
+ keep_recent=config.llm_compress_keep_recent,
37
+ instruction_text=config.llm_compress_instruction,
38
+ )
39
+ else:
40
+ self.compressor = TruncateByTurnsCompressor(
41
+ truncate_turns=config.truncate_turns
42
+ )
43
+
44
+ async def process(
45
+ self, messages: list[Message], trusted_token_usage: int = 0
46
+ ) -> list[Message]:
47
+ """Process the messages.
48
+
49
+ Args:
50
+ messages: The original message list.
51
+
52
+ Returns:
53
+ The processed message list.
54
+ """
55
+ try:
56
+ result = messages
57
+
58
+ # 1. 基于轮次的截断 (Enforce max turns)
59
+ if self.config.enforce_max_turns != -1:
60
+ result = self.truncator.truncate_by_turns(
61
+ result,
62
+ keep_most_recent_turns=self.config.enforce_max_turns,
63
+ drop_turns=self.config.truncate_turns,
64
+ )
65
+
66
+ # 2. 基于 token 的压缩
67
+ if self.config.max_context_tokens > 0:
68
+ total_tokens = self.token_counter.count_tokens(
69
+ result, trusted_token_usage
70
+ )
71
+
72
+ if self.compressor.should_compress(
73
+ result, total_tokens, self.config.max_context_tokens
74
+ ):
75
+ result = await self._run_compression(result, total_tokens)
76
+
77
+ return result
78
+ except Exception as e:
79
+ logger.error(f"Error during context processing: {e}", exc_info=True)
80
+ return messages
81
+
82
+ async def _run_compression(
83
+ self, messages: list[Message], prev_tokens: int
84
+ ) -> list[Message]:
85
+ """
86
+ Compress/truncate the messages.
87
+
88
+ Args:
89
+ messages: The original message list.
90
+ prev_tokens: The token count before compression.
91
+
92
+ Returns:
93
+ The compressed/truncated message list.
94
+ """
95
+ logger.debug("Compress triggered, starting compression...")
96
+
97
+ messages = await self.compressor(messages)
98
+
99
+ # double check
100
+ tokens_after_summary = self.token_counter.count_tokens(messages)
101
+
102
+ # calculate compress rate
103
+ compress_rate = (tokens_after_summary / self.config.max_context_tokens) * 100
104
+ logger.info(
105
+ f"Compress completed."
106
+ f" {prev_tokens} -> {tokens_after_summary} tokens,"
107
+ f" compression rate: {compress_rate:.2f}%.",
108
+ )
109
+
110
+ # last check
111
+ if self.compressor.should_compress(
112
+ messages, tokens_after_summary, self.config.max_context_tokens
113
+ ):
114
+ logger.info(
115
+ "Context still exceeds max tokens after compression, applying halving truncation..."
116
+ )
117
+ # still need compress, truncate by half
118
+ messages = self.truncator.truncate_by_halving(messages)
119
+
120
+ return messages
@@ -0,0 +1,64 @@
1
+ import json
2
+ from typing import Protocol, runtime_checkable
3
+
4
+ from ..message import Message, TextPart
5
+
6
+
7
+ @runtime_checkable
8
+ class TokenCounter(Protocol):
9
+ """
10
+ Protocol for token counters.
11
+ Provides an interface for counting tokens in message lists.
12
+ """
13
+
14
+ def count_tokens(
15
+ self, messages: list[Message], trusted_token_usage: int = 0
16
+ ) -> int:
17
+ """Count the total tokens in the message list.
18
+
19
+ Args:
20
+ messages: The message list.
21
+ trusted_token_usage: The total token usage that LLM API returned.
22
+ For some cases, this value is more accurate.
23
+ But some API does not return it, so the value defaults to 0.
24
+
25
+ Returns:
26
+ The total token count.
27
+ """
28
+ ...
29
+
30
+
31
+ class EstimateTokenCounter:
32
+ """Estimate token counter implementation.
33
+ Provides a simple estimation of token count based on character types.
34
+ """
35
+
36
+ def count_tokens(
37
+ self, messages: list[Message], trusted_token_usage: int = 0
38
+ ) -> int:
39
+ if trusted_token_usage > 0:
40
+ return trusted_token_usage
41
+
42
+ total = 0
43
+ for msg in messages:
44
+ content = msg.content
45
+ if isinstance(content, str):
46
+ total += self._estimate_tokens(content)
47
+ elif isinstance(content, list):
48
+ # 处理多模态内容
49
+ for part in content:
50
+ if isinstance(part, TextPart):
51
+ total += self._estimate_tokens(part.text)
52
+
53
+ # 处理 Tool Calls
54
+ if msg.tool_calls:
55
+ for tc in msg.tool_calls:
56
+ tc_str = json.dumps(tc if isinstance(tc, dict) else tc.model_dump())
57
+ total += self._estimate_tokens(tc_str)
58
+
59
+ return total
60
+
61
+ def _estimate_tokens(self, text: str) -> int:
62
+ chinese_count = len([c for c in text if "\u4e00" <= c <= "\u9fff"])
63
+ other_count = len(text) - chinese_count
64
+ return int(chinese_count * 0.6 + other_count * 0.3)