AstrBot 4.10.0a2__tar.gz → 4.10.1__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.
- {astrbot-4.10.0a2 → astrbot-4.10.1}/PKG-INFO +1 -1
- astrbot-4.10.1/astrbot/cli/__init__.py +1 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/config/default.py +1 -1
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/aiocqhttp/aiocqhttp_platform_adapter.py +17 -2
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/gemini_source.py +19 -3
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/command_management.py +12 -6
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/star_manager.py +5 -1
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/config.py +20 -8
- astrbot-4.10.1/changelogs/v4.10.0.md +40 -0
- astrbot-4.10.1/changelogs/v4.10.1.md +46 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/chat/ChatInput.vue +12 -2
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/chat/ConversationSidebar.vue +2 -1
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/provider/ProviderSourcesPanel.vue +7 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/composables/useProviderSources.ts +5 -3
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/provider.json +1 -1
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/provider.json +1 -1
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/layouts/full/FullLayout.vue +12 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/router/index.ts +11 -0
- astrbot-4.10.1/dashboard/src/stores/routerLoading.ts +60 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/pyproject.toml +1 -1
- astrbot-4.10.0a2/astrbot/cli/__init__.py +0 -1
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.dockerignore +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.github/FUNDING.yml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.github/ISSUE_TEMPLATE/PLUGIN_PUBLISH.yml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.github/auto_assign.yml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.github/copilot-instructions.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.github/dependabot.yml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.github/workflows/auto_release.yml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.github/workflows/code-format.yml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.github/workflows/codeql.yml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.github/workflows/coverage_test.yml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.github/workflows/dashboard_ci.yml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.github/workflows/docker-image.yml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.github/workflows/smoke_test.yml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.github/workflows/stale.yml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.gitignore +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.pre-commit-config.yaml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/.python-version +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/CODE_OF_CONDUCT.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/CONTRIBUTING.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/Dockerfile +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/LICENSE +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/README.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/README_en.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/README_fr.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/README_ja.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/README_ru.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/README_zh-TW.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/api/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/api/all.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/api/event/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/api/event/filter/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/api/message_components.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/api/platform/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/api/provider/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/api/star/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/api/util/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/cli/__main__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/cli/commands/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/cli/commands/cmd_conf.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/cli/commands/cmd_init.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/cli/commands/cmd_plug.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/cli/commands/cmd_run.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/cli/utils/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/cli/utils/basic.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/cli/utils/plugin.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/cli/utils/version_comparator.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/agent/agent.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/agent/handoff.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/agent/hooks.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/agent/mcp_client.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/agent/message.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/agent/response.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/agent/run_context.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/agent/runners/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/agent/runners/base.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/agent/runners/coze/coze_agent_runner.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/agent/runners/coze/coze_api_client.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/agent/runners/dashscope/dashscope_agent_runner.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/agent/runners/dify/dify_agent_runner.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/agent/runners/dify/dify_api_client.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/agent/runners/tool_loop_agent_runner.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/agent/tool.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/agent/tool_executor.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/astr_agent_context.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/astr_agent_hooks.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/astr_agent_run_util.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/astr_agent_tool_exec.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/astrbot_config_mgr.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/config/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/config/astrbot_config.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/config/i18n_utils.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/conversation_mgr.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/core_lifecycle.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/db/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/db/migration/helper.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/db/migration/migra_3_to_4.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/db/migration/migra_45_to_46.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/db/migration/migra_webchat_session.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/db/migration/shared_preferences_v3.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/db/migration/sqlite_v3.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/db/po.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/db/sqlite.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/db/vec_db/base.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/db/vec_db/faiss_impl/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/db/vec_db/faiss_impl/document_storage.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/db/vec_db/faiss_impl/embedding_storage.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/db/vec_db/faiss_impl/sqlite_init.sql +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/db/vec_db/faiss_impl/vec_db.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/event_bus.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/exceptions.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/file_token_service.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/initial_loader.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/chunking/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/chunking/base.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/chunking/fixed_size.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/chunking/recursive.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/kb_db_sqlite.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/kb_helper.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/kb_mgr.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/models.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/parsers/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/parsers/base.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/parsers/markitdown_parser.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/parsers/pdf_parser.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/parsers/text_parser.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/parsers/url_parser.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/parsers/util.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/prompts.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/retrieval/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/retrieval/hit_stopwords.txt +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/retrieval/manager.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/retrieval/rank_fusion.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/knowledge_base/retrieval/sparse_retriever.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/log.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/message/components.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/message/message_event_result.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/persona_mgr.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/content_safety_check/stage.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/content_safety_check/strategies/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/content_safety_check/strategies/baidu_aip.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/content_safety_check/strategies/keywords.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/content_safety_check/strategies/strategy.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/context.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/context_utils.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/preprocess_stage/stage.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/process_stage/method/agent_request.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/process_stage/method/agent_sub_stages/internal.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/process_stage/method/agent_sub_stages/third_party.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/process_stage/method/star_request.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/process_stage/stage.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/process_stage/utils.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/rate_limit_check/stage.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/respond/stage.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/result_decorate/stage.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/scheduler.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/session_status_check/stage.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/stage.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/waking_check/stage.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/pipeline/whitelist_check/stage.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/astr_message_event.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/astrbot_message.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/manager.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/message_session.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/message_type.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/platform.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/platform_metadata.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/register.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/aiocqhttp/aiocqhttp_message_event.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/dingtalk/dingtalk_adapter.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/dingtalk/dingtalk_event.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/discord/client.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/discord/components.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/discord/discord_platform_adapter.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/discord/discord_platform_event.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/lark/lark_adapter.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/lark/lark_event.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/lark/server.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/misskey/misskey_adapter.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/misskey/misskey_api.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/misskey/misskey_event.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/misskey/misskey_utils.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/qqofficial/qqofficial_message_event.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/qqofficial/qqofficial_platform_adapter.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_adapter.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_event.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/qqofficial_webhook/qo_webhook_server.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/satori/satori_adapter.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/satori/satori_event.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/slack/client.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/slack/slack_adapter.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/slack/slack_event.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/telegram/tg_adapter.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/telegram/tg_event.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/webchat/webchat_adapter.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/webchat/webchat_event.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/webchat/webchat_queue_mgr.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/wechatpadpro/wechatpadpro_adapter.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/wechatpadpro/wechatpadpro_message_event.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/wechatpadpro/xml_data_parser.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/wecom/wecom_adapter.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/wecom/wecom_event.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/wecom/wecom_kf.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/wecom/wecom_kf_message.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/wecom_ai_bot/WXBizJsonMsgCrypt.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/wecom_ai_bot/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/wecom_ai_bot/ierror.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/wecom_ai_bot/wecomai_adapter.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/wecom_ai_bot/wecomai_api.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/wecom_ai_bot/wecomai_event.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/wecom_ai_bot/wecomai_queue_mgr.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/wecom_ai_bot/wecomai_server.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/wecom_ai_bot/wecomai_utils.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/weixin_official_account/weixin_offacc_adapter.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform/sources/weixin_official_account/weixin_offacc_event.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/platform_message_history_mgr.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/entites.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/entities.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/func_tool_manager.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/manager.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/provider.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/register.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/anthropic_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/azure_tts_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/bailian_rerank_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/dashscope_tts.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/edge_tts_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/fishaudio_tts_api_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/gemini_embedding_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/gemini_tts_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/groq_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/gsv_selfhosted_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/gsvi_tts_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/minimax_tts_api_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/openai_embedding_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/openai_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/openai_tts_api_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/sensevoice_selfhosted_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/vllm_rerank_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/volcengine_tts.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/whisper_api_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/whisper_selfhosted_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/xinference_rerank_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/xinference_stt_provider.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/provider/sources/zhipu_source.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/README.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/config.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/context.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/filter/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/filter/command.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/filter/command_group.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/filter/custom_filter.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/filter/event_message_type.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/filter/permission.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/filter/platform_adapter_type.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/filter/regex.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/register/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/register/star.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/register/star_handler.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/session_llm_manager.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/session_plugin_manager.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/star.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/star_handler.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/star_tools.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/star/updator.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/umop_config_router.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/updator.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/astrbot_path.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/command_parser.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/file_extract.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/io.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/llm_metadata.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/log_pipe.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/metrics.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/migra_helper.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/path_util.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/pip_installer.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/plugin_kv_store.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/session_lock.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/session_waiter.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/shared_preferences.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/t2i/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/t2i/local_strategy.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/t2i/network_strategy.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/t2i/renderer.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/t2i/template/astrbot_powershell.html +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/t2i/template/base.html +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/t2i/template_manager.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/tencent_record_helper.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/version_comparator.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/utils/webhook_utils.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/core/zip_updator.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/auth.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/chat.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/command.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/conversation.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/file.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/knowledge_base.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/log.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/persona.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/platform.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/plugin.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/route.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/session_management.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/stat.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/static_file.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/t2i.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/tools.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/routes/update.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/server.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/astrbot/dashboard/utils.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.0.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.1.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.10.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.11.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.12.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.13.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.14.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.15.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.16.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.17.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.18.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.19.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.20.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.21.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.22.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.23.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.24.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.25.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.26.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.27.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.28.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.29.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.3.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.30.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.31.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.32.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.33.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.35.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.36.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.37.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.38.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.39.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.4.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.5.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.6.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.7.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.8.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.4.9.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.0.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.1.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.10.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.11.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.12.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.13.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.14.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.15.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.16.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.17.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.18.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.19.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.2.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.20.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.21.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.22.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.23.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.24.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.25.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.26.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.27.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.3.1.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.3.2.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.3.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.4.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.5.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.6.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.7.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.8.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v3.5.9.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.0.0-beta.3.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.0.0-beta.4.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.0.0-beta.5.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.0.0.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.1.0.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.1.1.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.1.2.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.1.3.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.1.4.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.1.5.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.1.6.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.1.7.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.10.0-alpha.1.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.10.0-alpha.2.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.2.0.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.2.1.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.3.0.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.3.1.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.3.2.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.3.3.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.3.5.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.5.0.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.5.1.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.5.2.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.5.3.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.5.4.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.5.5.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.5.6.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.5.7.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.5.8.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.6.0.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.6.1.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.7.0.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.7.1.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.7.3.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.7.4.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.8.0.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.9.0.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.9.1.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/changelogs/v4.9.2.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/compose.yml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/.gitignore +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/LICENSE +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/README.md +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/env.d.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/index.html +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/public/_redirects +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/public/favicon.svg +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/App.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/astrbot_banner.png +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/astrbot_logo_mini.webp +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/icon-no-shadow.svg +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/loading-seio.webp +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/platform_logos/dingtalk.svg +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/platform_logos/discord.svg +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/platform_logos/kook.png +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/platform_logos/lark.png +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/platform_logos/misskey.png +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/platform_logos/onebot.png +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/platform_logos/qq.png +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/platform_logos/satori.png +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/platform_logos/slack.svg +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/platform_logos/telegram.svg +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/platform_logos/vocechat.png +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/platform_logos/wechat.png +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/platform_logos/wecom.png +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/plugin_icon.png +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/provider_logos/modelstack.svg +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/assets/images/xmas-hat.png +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/ConfirmDialog.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/chat/Chat.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/chat/ConfigSelector.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/chat/MessageList.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/chat/ProviderConfigDialog.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/chat/ProviderModelMenu.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/chat/StandaloneChat.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/config/AstrBotCoreConfigWrapper.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/extension/McpServersSection.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/extension/componentPanel/components/CommandFilters.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/extension/componentPanel/components/CommandTable.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/extension/componentPanel/components/DetailsDialog.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/extension/componentPanel/components/RenameDialog.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/extension/componentPanel/components/ToolTable.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/extension/componentPanel/composables/useCommandActions.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/extension/componentPanel/composables/useCommandFilters.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/extension/componentPanel/composables/useComponentData.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/extension/componentPanel/index.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/extension/componentPanel/types.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/platform/AddNewPlatform.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/provider/AddNewProvider.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/provider/ProviderModelsPanel.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/AstrBotConfig.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/AstrBotConfigV4.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/ChangelogDialog.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/ConsoleDisplayer.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/ExtensionCard.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/ItemCard.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/ItemCardGrid.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/KnowledgeBaseSelector.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/LanguageSwitcher.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/ListConfigItem.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/Logo.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/MigrationDialog.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/ObjectEditor.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/PersonaForm.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/PersonaSelector.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/PluginSetSelector.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/ProviderSelector.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/ProxySelector.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/ReadmeDialog.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/SidebarCustomizer.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/StyledMenu.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/T2ITemplateEditor.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/UninstallConfirmDialog.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/components/shared/WaitingForRestart.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/composables/useConversations.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/composables/useMediaHandling.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/composables/useMessages.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/composables/useRecording.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/composables/useSessions.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/config.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/composables.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/loader.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/core/actions.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/core/common.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/core/header.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/core/navigation.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/core/shared.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/core/status.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/about.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/alkaid/index.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/alkaid/knowledge-base.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/alkaid/memory.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/auth.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/chart.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/chat.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/command.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/config-metadata.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/config.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/console.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/conversation.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/dashboard.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/extension.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/knowledge-base/detail.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/knowledge-base/document.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/knowledge-base/index.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/migration.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/persona.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/platform.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/session-management.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/settings.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/features/tool-use.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/messages/errors.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/messages/success.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/en-US/messages/validation.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/core/actions.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/core/common.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/core/header.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/core/navigation.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/core/shared.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/core/status.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/about.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/alkaid/index.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/alkaid/knowledge-base.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/alkaid/memory.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/auth.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/chart.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/chat.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/command.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/config-metadata.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/config.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/console.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/conversation.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/dashboard.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/extension.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/knowledge-base/detail.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/knowledge-base/document.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/knowledge-base/index.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/migration.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/persona.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/platform.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/session-management.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/settings.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/features/tool-use.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/messages/errors.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/messages/success.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/locales/zh-CN/messages/validation.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/tools/index.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/translations.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/types.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/i18n/validator.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/layouts/blank/BlankLayout.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/layouts/full/vertical-header/VerticalHeader.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/layouts/full/vertical-sidebar/NavItem.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/layouts/full/vertical-sidebar/VerticalSidebar.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/layouts/full/vertical-sidebar/sidebarItem.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/main.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/plugins/confirmPlugin.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/plugins/vuetify.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/router/AuthRoutes.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/router/ChatBoxRoutes.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/router/MainRoutes.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/scss/_override.scss +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/scss/_variables.scss +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/scss/components/_VButtons.scss +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/scss/components/_VCard.scss +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/scss/components/_VField.scss +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/scss/components/_VInput.scss +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/scss/components/_VNavigationDrawer.scss +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/scss/components/_VScrollbar.scss +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/scss/components/_VShadow.scss +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/scss/components/_VTabs.scss +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/scss/components/_VTextField.scss +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/scss/layout/_container.scss +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/scss/layout/_sidebar.scss +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/scss/pages/_dashboards.scss +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/scss/style.scss +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/stores/auth.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/stores/common.js +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/stores/customizer.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/stores/toast.js +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/theme/DarkTheme.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/theme/LightTheme.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/types/themeTypes/ThemeType.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/types/vue3-print-nb.d.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/types/vue_tabler_icon.d.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/utils/platformUtils.js +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/utils/providerUtils.js +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/utils/sidebarCustomization.js +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/utils/toast.js +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/AboutPage.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/AlkaidPage.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/ChatBoxPage.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/ChatPage.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/ConfigPage.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/ConsolePage.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/ConversationPage.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/ExtensionPage.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/PersonaPage.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/PlatformPage.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/ProviderPage.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/SessionManagementPage.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/Settings.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/alkaid/KnowledgeBase.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/alkaid/LongTermMemory.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/alkaid/Other.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/authentication/auth/LoginPage.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/authentication/authForms/AuthLogin.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/dashboards/default/DefaultDashboard.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/dashboards/default/components/MemoryUsage.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/dashboards/default/components/MessageStat.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/dashboards/default/components/OnlinePlatform.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/dashboards/default/components/OnlineTime.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/dashboards/default/components/PlatformStat.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/dashboards/default/components/RunningTime.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/dashboards/default/components/TotalMessage.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/knowledge-base/DocumentDetail.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/knowledge-base/KBDetail.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/knowledge-base/KBList.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/knowledge-base/components/DocumentsTab.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/knowledge-base/components/RetrievalTab.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/knowledge-base/components/SettingsTab.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/knowledge-base/components/TavilyKeyDialog.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/src/views/knowledge-base/index.vue +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/tsconfig.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/tsconfig.vite-config.json +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/dashboard/vite.config.ts +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/k8s/astrbot/00-namespace.yaml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/k8s/astrbot/01-pvc.yaml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/k8s/astrbot/02-deployment.yaml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/k8s/astrbot/03-service-nodeport.yaml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/k8s/astrbot/04-service-loadbalancer.yaml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/k8s/astrbot_with_napcat/00-namespace.yaml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/k8s/astrbot_with_napcat/01-pvc.yaml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/k8s/astrbot_with_napcat/02-deployment.yaml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/k8s/astrbot_with_napcat/03-service-nodeport.yaml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/k8s/astrbot_with_napcat/04-service-loadbalancer.yaml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/main.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/astrbot/long_term_memory.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/astrbot/main.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/astrbot/metadata.yaml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/astrbot/process_llm_request.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/builtin_commands/commands/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/builtin_commands/commands/admin.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/builtin_commands/commands/alter_cmd.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/builtin_commands/commands/conversation.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/builtin_commands/commands/help.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/builtin_commands/commands/llm.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/builtin_commands/commands/persona.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/builtin_commands/commands/plugin.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/builtin_commands/commands/provider.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/builtin_commands/commands/setunset.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/builtin_commands/commands/sid.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/builtin_commands/commands/t2i.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/builtin_commands/commands/tool.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/builtin_commands/commands/tts.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/builtin_commands/commands/utils/rst_scene.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/builtin_commands/main.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/builtin_commands/metadata.yaml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/python_interpreter/main.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/python_interpreter/metadata.yaml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/python_interpreter/requirements.txt +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/python_interpreter/shared/api.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/reminder/main.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/reminder/metadata.yaml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/session_controller/main.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/session_controller/metadata.yaml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/web_searcher/engines/__init__.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/web_searcher/engines/bing.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/web_searcher/engines/sogo.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/web_searcher/main.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/packages/web_searcher/metadata.yaml +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/requirements.txt +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/samples/stt_health_check.wav +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/tests/test_dashboard.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/tests/test_kb_import.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/tests/test_main.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/tests/test_plugin_manager.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/tests/test_security_fixes.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/tests/test_tool_loop_agent_runner.py +0 -0
- {astrbot-4.10.0a2 → astrbot-4.10.1}/typings/faiss/__init__.pyi +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "4.10.1"
|
|
@@ -385,10 +385,25 @@ class AiocqhttpAdapter(Platform):
|
|
|
385
385
|
logger.error(f"获取 @ 用户信息失败: {e},此消息段将被忽略。")
|
|
386
386
|
|
|
387
387
|
message_str += "".join(at_parts)
|
|
388
|
+
elif t == "markdown":
|
|
389
|
+
text = m["data"].get("markdown") or m["data"].get("content", "")
|
|
390
|
+
abm.message.append(Plain(text=text))
|
|
391
|
+
message_str += text
|
|
388
392
|
else:
|
|
389
393
|
for m in m_group:
|
|
390
|
-
|
|
391
|
-
|
|
394
|
+
try:
|
|
395
|
+
if t not in ComponentTypes:
|
|
396
|
+
logger.warning(
|
|
397
|
+
f"不支持的消息段类型,已忽略: {t}, data={m['data']}"
|
|
398
|
+
)
|
|
399
|
+
continue
|
|
400
|
+
a = ComponentTypes[t](**m["data"])
|
|
401
|
+
abm.message.append(a)
|
|
402
|
+
except Exception as e:
|
|
403
|
+
logger.exception(
|
|
404
|
+
f"消息段解析失败: type={t}, data={m['data']}. {e}"
|
|
405
|
+
)
|
|
406
|
+
continue
|
|
392
407
|
|
|
393
408
|
abm.timestamp = int(time.time())
|
|
394
409
|
abm.message_str = message_str
|
|
@@ -138,7 +138,7 @@ class ProviderGoogleGenAI(Provider):
|
|
|
138
138
|
modalities = ["TEXT"]
|
|
139
139
|
|
|
140
140
|
tool_list: list[types.Tool] | None = []
|
|
141
|
-
model_name = payloads.get("model", self.get_model())
|
|
141
|
+
model_name = cast(str, payloads.get("model", self.get_model()))
|
|
142
142
|
native_coderunner = self.provider_config.get("gm_native_coderunner", False)
|
|
143
143
|
native_search = self.provider_config.get("gm_native_search", False)
|
|
144
144
|
url_context = self.provider_config.get("gm_url_context", False)
|
|
@@ -199,7 +199,16 @@ class ProviderGoogleGenAI(Provider):
|
|
|
199
199
|
|
|
200
200
|
# oper thinking config
|
|
201
201
|
thinking_config = None
|
|
202
|
-
if model_name
|
|
202
|
+
if model_name in [
|
|
203
|
+
"gemini-2.5-pro",
|
|
204
|
+
"gemini-2.5-pro-preview",
|
|
205
|
+
"gemini-2.5-flash",
|
|
206
|
+
"gemini-2.5-flash-preview",
|
|
207
|
+
"gemini-2.5-flash-lite",
|
|
208
|
+
"gemini-2.5-flash-lite-preview",
|
|
209
|
+
"gemini-robotics-er-1.5-preview",
|
|
210
|
+
"gemini-live-2.5-flash-preview-native-audio-09-2025",
|
|
211
|
+
]:
|
|
203
212
|
# The thinkingBudget parameter, introduced with the Gemini 2.5 series
|
|
204
213
|
thinking_budget = self.provider_config.get("gm_thinking_config", {}).get(
|
|
205
214
|
"budget", 0
|
|
@@ -208,7 +217,14 @@ class ProviderGoogleGenAI(Provider):
|
|
|
208
217
|
thinking_config = types.ThinkingConfig(
|
|
209
218
|
thinking_budget=thinking_budget,
|
|
210
219
|
)
|
|
211
|
-
elif model_name
|
|
220
|
+
elif model_name in [
|
|
221
|
+
"gemini-3-pro",
|
|
222
|
+
"gemini-3-pro-preview",
|
|
223
|
+
"gemini-3-flash",
|
|
224
|
+
"gemini-3-flash-preview",
|
|
225
|
+
"gemini-3-flash-lite",
|
|
226
|
+
"gemini-3-flash-lite-preview",
|
|
227
|
+
]:
|
|
212
228
|
# The thinkingLevel parameter, recommended for Gemini 3 models and onwards
|
|
213
229
|
# Gemini 2.5 series models don't support thinkingLevel; use thinkingBudget instead.
|
|
214
230
|
thinking_level = self.provider_config.get("gm_thinking_config", {}).get(
|
|
@@ -4,7 +4,7 @@ from collections import defaultdict
|
|
|
4
4
|
from dataclasses import dataclass, field
|
|
5
5
|
from typing import Any
|
|
6
6
|
|
|
7
|
-
from astrbot.core import db_helper
|
|
7
|
+
from astrbot.core import db_helper, logger
|
|
8
8
|
from astrbot.core.db.po import CommandConfig
|
|
9
9
|
from astrbot.core.star.filter.command import CommandFilter
|
|
10
10
|
from astrbot.core.star.filter.command_group import CommandGroupFilter
|
|
@@ -192,12 +192,18 @@ def _collect_descriptors(include_sub_commands: bool) -> list[CommandDescriptor]:
|
|
|
192
192
|
"""收集指令,按需包含子指令。"""
|
|
193
193
|
descriptors: list[CommandDescriptor] = []
|
|
194
194
|
for handler in star_handlers_registry:
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
195
|
+
try:
|
|
196
|
+
desc = _build_descriptor(handler)
|
|
197
|
+
if not desc:
|
|
198
|
+
continue
|
|
199
|
+
if not include_sub_commands and desc.is_sub_command:
|
|
200
|
+
continue
|
|
201
|
+
descriptors.append(desc)
|
|
202
|
+
except Exception as e:
|
|
203
|
+
logger.warning(
|
|
204
|
+
f"解析指令处理函数 {handler.handler_full_name} 失败,跳过该指令。原因: {e!s}"
|
|
205
|
+
)
|
|
199
206
|
continue
|
|
200
|
-
descriptors.append(desc)
|
|
201
207
|
return descriptors
|
|
202
208
|
|
|
203
209
|
|
|
@@ -631,7 +631,11 @@ class PluginManager:
|
|
|
631
631
|
# 清除 pip.main 导致的多余的 logging handlers
|
|
632
632
|
for handler in logging.root.handlers[:]:
|
|
633
633
|
logging.root.removeHandler(handler)
|
|
634
|
-
|
|
634
|
+
try:
|
|
635
|
+
await sync_command_configs()
|
|
636
|
+
except Exception as e:
|
|
637
|
+
logger.error(f"同步指令配置失败: {e!s}")
|
|
638
|
+
logger.error(traceback.format_exc())
|
|
635
639
|
|
|
636
640
|
if not fail_rec:
|
|
637
641
|
return True, None
|
|
@@ -185,23 +185,30 @@ class ConfigRoute(Route):
|
|
|
185
185
|
"/config/provider/list": ("GET", self.get_provider_config_list),
|
|
186
186
|
"/config/provider/model_list": ("GET", self.get_provider_model_list),
|
|
187
187
|
"/config/provider/get_embedding_dim": ("POST", self.get_embedding_dim),
|
|
188
|
-
"/config/provider_sources
|
|
188
|
+
"/config/provider_sources/models": (
|
|
189
189
|
"GET",
|
|
190
190
|
self.get_provider_source_models,
|
|
191
191
|
),
|
|
192
|
-
"/config/provider_sources
|
|
192
|
+
"/config/provider_sources/update": (
|
|
193
193
|
"POST",
|
|
194
194
|
self.update_provider_source,
|
|
195
195
|
),
|
|
196
|
-
"/config/provider_sources
|
|
196
|
+
"/config/provider_sources/delete": (
|
|
197
197
|
"POST",
|
|
198
198
|
self.delete_provider_source,
|
|
199
199
|
),
|
|
200
200
|
}
|
|
201
201
|
self.register_routes()
|
|
202
202
|
|
|
203
|
-
async def delete_provider_source(self
|
|
203
|
+
async def delete_provider_source(self):
|
|
204
204
|
"""删除 provider_source,并更新关联的 providers"""
|
|
205
|
+
post_data = await request.json
|
|
206
|
+
if not post_data:
|
|
207
|
+
return Response().error("缺少配置数据").__dict__
|
|
208
|
+
|
|
209
|
+
provider_source_id = post_data.get("id")
|
|
210
|
+
if not provider_source_id:
|
|
211
|
+
return Response().error("缺少 provider_source_id").__dict__
|
|
205
212
|
|
|
206
213
|
provider_sources = self.config.get("provider_sources", [])
|
|
207
214
|
target_idx = next(
|
|
@@ -235,15 +242,16 @@ class ConfigRoute(Route):
|
|
|
235
242
|
|
|
236
243
|
return Response().ok(message="删除 provider source 成功").__dict__
|
|
237
244
|
|
|
238
|
-
async def update_provider_source(self
|
|
245
|
+
async def update_provider_source(self):
|
|
239
246
|
"""更新或新增 provider_source,并重载关联的 providers"""
|
|
240
|
-
|
|
241
247
|
post_data = await request.json
|
|
242
248
|
if not post_data:
|
|
243
249
|
return Response().error("缺少配置数据").__dict__
|
|
244
250
|
|
|
245
251
|
new_source_config = post_data.get("config") or post_data
|
|
246
|
-
original_id =
|
|
252
|
+
original_id = post_data.get("original_id")
|
|
253
|
+
if not original_id:
|
|
254
|
+
return Response().error("缺少 original_id").__dict__
|
|
247
255
|
|
|
248
256
|
if not isinstance(new_source_config, dict):
|
|
249
257
|
return Response().error("缺少或错误的配置数据").__dict__
|
|
@@ -684,11 +692,15 @@ class ConfigRoute(Route):
|
|
|
684
692
|
logger.error(traceback.format_exc())
|
|
685
693
|
return Response().error(f"获取嵌入维度失败: {e!s}").__dict__
|
|
686
694
|
|
|
687
|
-
async def get_provider_source_models(self
|
|
695
|
+
async def get_provider_source_models(self):
|
|
688
696
|
"""获取指定 provider_source 支持的模型列表
|
|
689
697
|
|
|
690
698
|
本质上会临时初始化一个 Provider 实例,调用 get_models() 获取模型列表,然后销毁实例
|
|
691
699
|
"""
|
|
700
|
+
provider_source_id = request.args.get("source_id")
|
|
701
|
+
if not provider_source_id:
|
|
702
|
+
return Response().error("缺少参数 source_id").__dict__
|
|
703
|
+
|
|
692
704
|
try:
|
|
693
705
|
from astrbot.core.provider.register import provider_cls_map
|
|
694
706
|
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
## What's Changed
|
|
2
|
+
|
|
3
|
+
> 📢 在升级前,请**完整阅读**本次更新日志。
|
|
4
|
+
>
|
|
5
|
+
> **特别提醒:**
|
|
6
|
+
> 1. 本次升级**如果再降级**,会由于提供商配置的变更,导致提供商配置错乱,需要手动删除后重新添加。
|
|
7
|
+
> 2. 此版本 WebUI 包体相较上一个版本增加约 **193%**,共约 **9.8 MB**,升级可能会需要一些时间。
|
|
8
|
+
> 3. **升级后请务必确保 WebUI 和 AstrBot Core 版本一致**,否则会产生预期之外的情况。(判断方法:日志中出现 `WebUI 版本已是最新。` 即为一致的版本,`检测到 WebUI 版本 (xxx) 与当前 AstrBot 版本 (xxx) 不符。` 即为不一致的版本。此版本的判断方法也可通查看 WebUI 右上角是否出现 Bot / Chat 的切换按钮控件来判断是否是新版本的 WebUI)。
|
|
9
|
+
> 4. 如果有任何问题请提交 [Issue](https://github.com/AstrBotDevs/AstrBot/issues) 并附带 `v4.10.0` tag。
|
|
10
|
+
|
|
11
|
+
### 重构与优化
|
|
12
|
+
|
|
13
|
+
- 重构 Provider 页面和提供商的配置结构,将 Chat Provider 配置拆分为 Provider Source(提供商源)和 Provider(代表提供商源的各个模型),引入了提供商模型自动发现、模型元数据自动发现的功能,**提供更加便捷的模型添加体验**。
|
|
14
|
+
- ⚠️ 将 “MCP” 页面移动到了 “插件” 页面中
|
|
15
|
+
- ⚠️ 将 “MCP” 页面中的工具管理移动到了 “插件” -> “管理行为” 中。
|
|
16
|
+
- ⚠️ 将 “QQ 个人号(OneBot v11)” 机器人适配器类型更名为 “OneBot v11”,并将其 Logo 更改为 OneBot 的 Logo。
|
|
17
|
+
- ⚠️ AstrBot WebChat 升级为 **AstrBot ChatUI**,入口从边栏修改为顶部(右上角)切换按钮。
|
|
18
|
+
- 优化引用消息的逻辑,减少对模型输入缓存的破坏。
|
|
19
|
+
- 优化当 Agent 达到最大步数时的处理。在达到最大步数后,会移除所有请求中的 tools 并告知模型根据上下文进行最终总结。
|
|
20
|
+
- 优化 LLM tools 执行的错误处理,减少工具调用无限循环的问题。
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### 修复
|
|
24
|
+
|
|
25
|
+
- ‼️ 修复部分情况下,分段回复无法正常分段的问题。
|
|
26
|
+
- 修复处理工具返回结果的过程中,导致一些直接发送图片的工具(如生图工具)无法正确发送到用户的问题。
|
|
27
|
+
- 修复 WebChat 部分情况下,上一条消息文字内容增量到下一条消息的问题。
|
|
28
|
+
|
|
29
|
+
### 新增
|
|
30
|
+
|
|
31
|
+
- 支持**指令管理**,设置指令别名、解决指令冲突、查看指令详情等。入口:“插件” -> “管理行为”。
|
|
32
|
+
- 支持 Google Gemini 3 系列引入的 [Thinking Level](https://ai.google.dev/gemini-api/docs/thinking#thinking-levels) 配置。
|
|
33
|
+
- 支持记录每条 LLM 消息的耗时、Token 使用量、TTFT 数据,以及每次 Agent Loop 的各种统计数据。
|
|
34
|
+
- AstrBot ChatUI 支持查看每条消息的 TTFT、Token 使用量数据。
|
|
35
|
+
- AstrBot ChatUI 支持显示每次工具调用的耗时、参数和响应。
|
|
36
|
+
- AstrBot ChatUI 支持渲染 Mermaid、LateX 内容,优化了 Code Block 的显示效果(使用 Monaco Editor),并减少 DOM 更新于内存占用。(Powered by [Simon-He95/markstream-vue](https://github.com/Simon-He95/markstream-vue))
|
|
37
|
+
- 支持查看 Changelog 历史版本更新日志。
|
|
38
|
+
- 🎄
|
|
39
|
+
|
|
40
|
+
Merry Christmas!
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
## What's Changed
|
|
2
|
+
|
|
3
|
+
> 📢 在升级前,请**完整阅读**本次更新日志。
|
|
4
|
+
>
|
|
5
|
+
> **特别提醒:**
|
|
6
|
+
> 1. 本次升级**如果再降级**,会由于提供商配置的变更,导致提供商配置错乱,需要手动删除后重新添加。
|
|
7
|
+
> 2. 此版本 WebUI 包体相较上一个版本增加约 **193%**,共约 **9.8 MB**,升级可能会需要一些时间。
|
|
8
|
+
> 3. **升级后请务必确保 WebUI 和 AstrBot Core 版本一致**,否则会产生预期之外的情况。(判断方法:日志中出现 `WebUI 版本已是最新。` 即为一致的版本,`检测到 WebUI 版本 (xxx) 与当前 AstrBot 版本 (xxx) 不符。` 即为不一致的版本。此版本的判断方法也可通查看 WebUI 右上角是否出现 Bot / Chat 的切换按钮控件来判断是否是新版本的 WebUI)。
|
|
9
|
+
> 4. 如果有任何问题请提交 [Issue](https://github.com/AstrBotDevs/AstrBot/issues) 并附带 `v4.10.0` tag。
|
|
10
|
+
|
|
11
|
+
## 4.10.0 -> 4.10.1
|
|
12
|
+
|
|
13
|
+
- fix(core): 修复极少数情况下由于指令管理导致的 AstrBot 启动失败的问题
|
|
14
|
+
- fix(core): 修复当提供商源带有斜杠(“/”)时,无法删除 / 更新提供商源的问题(报错 405)
|
|
15
|
+
- perf(core): 优化 OneBot 适配器的消息段解析逻辑,修复部分情况下无法正确解析消息段的问题
|
|
16
|
+
|
|
17
|
+
### 重构与优化
|
|
18
|
+
|
|
19
|
+
- 重构 Provider 页面和提供商的配置结构,将 Chat Provider 配置拆分为 Provider Source(提供商源)和 Provider(代表提供商源的各个模型),引入了提供商模型自动发现、模型元数据自动发现的功能,**提供更加便捷的模型添加体验**。
|
|
20
|
+
- ⚠️ 将 “MCP” 页面移动到了 “插件” 页面中
|
|
21
|
+
- ⚠️ 将 “MCP” 页面中的工具管理移动到了 “插件” -> “管理行为” 中。
|
|
22
|
+
- ⚠️ 将 “QQ 个人号(OneBot v11)” 机器人适配器类型更名为 “OneBot v11”,并将其 Logo 更改为 OneBot 的 Logo。
|
|
23
|
+
- ⚠️ AstrBot WebChat 升级为 **AstrBot ChatUI**,入口从边栏修改为顶部(右上角)切换按钮。
|
|
24
|
+
- 优化引用消息的逻辑,减少对模型输入缓存的破坏。
|
|
25
|
+
- 优化当 Agent 达到最大步数时的处理。在达到最大步数后,会移除所有请求中的 tools 并告知模型根据上下文进行最终总结。
|
|
26
|
+
- 优化 LLM tools 执行的错误处理,减少工具调用无限循环的问题。
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### 修复
|
|
30
|
+
|
|
31
|
+
- ‼️ 修复部分情况下,分段回复无法正常分段的问题。
|
|
32
|
+
- 修复处理工具返回结果的过程中,导致一些直接发送图片的工具(如生图工具)无法正确发送到用户的问题。
|
|
33
|
+
- 修复 WebChat 部分情况下,上一条消息文字内容增量到下一条消息的问题。
|
|
34
|
+
|
|
35
|
+
### 新增
|
|
36
|
+
|
|
37
|
+
- 支持**指令管理**,设置指令别名、解决指令冲突、查看指令详情等。入口:“插件” -> “管理行为”。
|
|
38
|
+
- 支持 Google Gemini 3 系列引入的 [Thinking Level](https://ai.google.dev/gemini-api/docs/thinking#thinking-levels) 配置。
|
|
39
|
+
- 支持记录每条 LLM 消息的耗时、Token 使用量、TTFT 数据,以及每次 Agent Loop 的各种统计数据。
|
|
40
|
+
- AstrBot ChatUI 支持查看每条消息的 TTFT、Token 使用量数据。
|
|
41
|
+
- AstrBot ChatUI 支持显示每次工具调用的耗时、参数和响应。
|
|
42
|
+
- AstrBot ChatUI 支持渲染 Mermaid、LateX 内容,优化了 Code Block 的显示效果(使用 Monaco Editor),并减少 DOM 更新于内存占用。(Powered by [Simon-He95/markstream-vue](https://github.com/Simon-He95/markstream-vue))
|
|
43
|
+
- 支持查看 Changelog 历史版本更新日志。
|
|
44
|
+
- 🎄
|
|
45
|
+
|
|
46
|
+
Merry Christmas!
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="input-area fade-in">
|
|
3
3
|
<div class="input-container"
|
|
4
|
-
style="
|
|
4
|
+
:style="{
|
|
5
|
+
width: '85%',
|
|
6
|
+
maxWidth: '900px',
|
|
7
|
+
margin: '0 auto',
|
|
8
|
+
border: isDark ? 'none' : '1px solid #e0e0e0',
|
|
9
|
+
borderRadius: '24px',
|
|
10
|
+
boxShadow: isDark ? 'none' : '0px 2px 2px rgba(0, 0, 0, 0.1)',
|
|
11
|
+
backgroundColor: isDark ? '#2d2d2d' : 'transparent'
|
|
12
|
+
}">
|
|
5
13
|
<!-- 引用预览区 -->
|
|
6
14
|
<div class="reply-preview" v-if="props.replyTo">
|
|
7
15
|
<div class="reply-content">
|
|
@@ -86,6 +94,7 @@
|
|
|
86
94
|
<script setup lang="ts">
|
|
87
95
|
import { ref, computed, onMounted, onBeforeUnmount } from 'vue';
|
|
88
96
|
import { useModuleI18n } from '@/i18n/composables';
|
|
97
|
+
import { useCustomizerStore } from '@/stores/customizer';
|
|
89
98
|
import ConfigSelector from './ConfigSelector.vue';
|
|
90
99
|
import ProviderModelMenu from './ProviderModelMenu.vue';
|
|
91
100
|
import type { Session } from '@/composables/useSessions';
|
|
@@ -140,6 +149,7 @@ const emit = defineEmits<{
|
|
|
140
149
|
}>();
|
|
141
150
|
|
|
142
151
|
const { tm } = useModuleI18n('features/chat');
|
|
152
|
+
const isDark = computed(() => useCustomizerStore().uiTheme === 'PurpleThemeDark');
|
|
143
153
|
|
|
144
154
|
const inputField = ref<HTMLTextAreaElement | null>(null);
|
|
145
155
|
const imageInputRef = ref<HTMLInputElement | null>(null);
|
|
@@ -261,7 +271,7 @@ defineExpose({
|
|
|
261
271
|
<style scoped>
|
|
262
272
|
.input-area {
|
|
263
273
|
padding: 16px;
|
|
264
|
-
background-color:
|
|
274
|
+
background-color: transparent;
|
|
265
275
|
position: relative;
|
|
266
276
|
border-top: 1px solid var(--v-theme-border);
|
|
267
277
|
flex-shrink: 0;
|
|
@@ -35,7 +35,8 @@
|
|
|
35
35
|
@update:selected="$emit('selectConversation', $event)">
|
|
36
36
|
<v-list-item v-for="item in sessions" :key="item.session_id" :value="item.session_id"
|
|
37
37
|
rounded="lg" class="conversation-item" active-color="secondary">
|
|
38
|
-
<v-list-item-title v-if="!sidebarCollapsed || isMobile" class="conversation-title"
|
|
38
|
+
<v-list-item-title v-if="!sidebarCollapsed || isMobile" class="conversation-title"
|
|
39
|
+
:style="{ color: isDark ? '#ffffff' : '#000000' }">
|
|
39
40
|
{{ item.display_name || tm('conversation.newConversation') }}
|
|
40
41
|
</v-list-item-title>
|
|
41
42
|
<!-- <v-list-item-subtitle v-if="!sidebarCollapsed || isMobile" class="timestamp">
|
|
@@ -398,7 +398,7 @@ export function useProviderSources(options: UseProviderSourcesOptions) {
|
|
|
398
398
|
if (!confirm(tm('providerSources.deleteConfirm', { id: source.id }))) return
|
|
399
399
|
|
|
400
400
|
try {
|
|
401
|
-
await axios.post(
|
|
401
|
+
await axios.post('/api/config/provider_sources/delete', { id: source.id })
|
|
402
402
|
|
|
403
403
|
providers.value = providers.value.filter((p) => p.provider_source_id !== source.id)
|
|
404
404
|
providerSources.value = providerSources.value.filter((s) => s.id !== source.id)
|
|
@@ -423,7 +423,7 @@ export function useProviderSources(options: UseProviderSourcesOptions) {
|
|
|
423
423
|
savingSource.value = true
|
|
424
424
|
const originalId = selectedProviderSourceOriginalId.value || selectedProviderSource.value.id
|
|
425
425
|
try {
|
|
426
|
-
const response = await axios.post(
|
|
426
|
+
const response = await axios.post('/api/config/provider_sources/update', {
|
|
427
427
|
config: editableProviderSource.value,
|
|
428
428
|
original_id: originalId
|
|
429
429
|
})
|
|
@@ -478,7 +478,9 @@ export function useProviderSources(options: UseProviderSourcesOptions) {
|
|
|
478
478
|
loadingModels.value = true
|
|
479
479
|
try {
|
|
480
480
|
const sourceId = editableProviderSource.value?.id || selectedProviderSource.value.id
|
|
481
|
-
const response = await axios.get(
|
|
481
|
+
const response = await axios.get('/api/config/provider_sources/models', {
|
|
482
|
+
params: { source_id: sourceId }
|
|
483
|
+
})
|
|
482
484
|
if (response.data.status === 'ok') {
|
|
483
485
|
const metadataMap = response.data.data.model_metadata || {}
|
|
484
486
|
modelMetadata.value = metadataMap
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"title": "Providers",
|
|
3
|
-
"subtitle": "
|
|
3
|
+
"subtitle": "Can configure chat models in \"Chat Completion\". Additionally, \"Agent Runner\" includes integrations with third-party services like Dify, Coze, and Alibaba Bailian(DashScope).",
|
|
4
4
|
"providers": {
|
|
5
5
|
"title": "Service Providers",
|
|
6
6
|
"settings": "Settings",
|
|
@@ -7,9 +7,11 @@ import VerticalHeaderVue from './vertical-header/VerticalHeader.vue';
|
|
|
7
7
|
import MigrationDialog from '@/components/shared/MigrationDialog.vue';
|
|
8
8
|
import Chat from '@/components/chat/Chat.vue';
|
|
9
9
|
import { useCustomizerStore } from '@/stores/customizer';
|
|
10
|
+
import { useRouterLoadingStore } from '@/stores/routerLoading';
|
|
10
11
|
|
|
11
12
|
const customizer = useCustomizerStore();
|
|
12
13
|
const route = useRoute();
|
|
14
|
+
const routerLoadingStore = useRouterLoadingStore();
|
|
13
15
|
|
|
14
16
|
// 计算是否在聊天页面(非全屏模式)
|
|
15
17
|
const isChatPage = computed(() => {
|
|
@@ -60,6 +62,16 @@ onMounted(() => {
|
|
|
60
62
|
<v-app :theme="useCustomizerStore().uiTheme"
|
|
61
63
|
:class="[customizer.fontTheme, customizer.mini_sidebar ? 'mini-sidebar' : '', customizer.inputBg ? 'inputWithbg' : '']"
|
|
62
64
|
>
|
|
65
|
+
<!-- 路由切换进度条 -->
|
|
66
|
+
<v-progress-linear
|
|
67
|
+
v-if="routerLoadingStore.isLoading"
|
|
68
|
+
:model-value="routerLoadingStore.progress"
|
|
69
|
+
color="primary"
|
|
70
|
+
height="2"
|
|
71
|
+
fixed
|
|
72
|
+
top
|
|
73
|
+
style="z-index: 9999; position: absolute; opacity: 0.3; "
|
|
74
|
+
/>
|
|
63
75
|
<VerticalHeaderVue />
|
|
64
76
|
<VerticalSidebarVue v-if="showSidebar" />
|
|
65
77
|
<v-main :style="{
|
|
@@ -3,6 +3,7 @@ import MainRoutes from './MainRoutes';
|
|
|
3
3
|
import AuthRoutes from './AuthRoutes';
|
|
4
4
|
import ChatBoxRoutes from './ChatBoxRoutes';
|
|
5
5
|
import { useAuthStore } from '@/stores/auth';
|
|
6
|
+
import { useRouterLoadingStore } from '@/stores/routerLoading';
|
|
6
7
|
|
|
7
8
|
export const router = createRouter({
|
|
8
9
|
history: createWebHashHistory(import.meta.env.BASE_URL),
|
|
@@ -22,6 +23,11 @@ interface AuthStore {
|
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
router.beforeEach(async (to, from, next) => {
|
|
26
|
+
if (from.name && from.path !== to.path) {
|
|
27
|
+
const loadingStore = useRouterLoadingStore();
|
|
28
|
+
loadingStore.start();
|
|
29
|
+
}
|
|
30
|
+
|
|
25
31
|
const publicPages = ['/auth/login'];
|
|
26
32
|
const authRequired = !publicPages.includes(to.path);
|
|
27
33
|
const auth: AuthStore = useAuthStore();
|
|
@@ -40,3 +46,8 @@ router.beforeEach(async (to, from, next) => {
|
|
|
40
46
|
next();
|
|
41
47
|
}
|
|
42
48
|
});
|
|
49
|
+
|
|
50
|
+
router.afterEach(() => {
|
|
51
|
+
const loadingStore = useRouterLoadingStore();
|
|
52
|
+
loadingStore.finish();
|
|
53
|
+
});
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { defineStore } from 'pinia';
|
|
2
|
+
import { ref } from 'vue';
|
|
3
|
+
|
|
4
|
+
export const useRouterLoadingStore = defineStore('routerLoading', () => {
|
|
5
|
+
const isLoading = ref(false);
|
|
6
|
+
const progress = ref(0);
|
|
7
|
+
let progressInterval: ReturnType<typeof setInterval> | null = null;
|
|
8
|
+
|
|
9
|
+
function start() {
|
|
10
|
+
isLoading.value = true;
|
|
11
|
+
progress.value = 0;
|
|
12
|
+
|
|
13
|
+
if (progressInterval) {
|
|
14
|
+
clearInterval(progressInterval);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
let currentProgress = 0;
|
|
18
|
+
progressInterval = setInterval(() => {
|
|
19
|
+
if (currentProgress < 80) {
|
|
20
|
+
// 快速阶段:0-80%
|
|
21
|
+
currentProgress += Math.random() * 20 + 10;
|
|
22
|
+
if (currentProgress > 80) {
|
|
23
|
+
currentProgress = 80;
|
|
24
|
+
}
|
|
25
|
+
} else if (currentProgress < 90) {
|
|
26
|
+
// 缓慢阶段:80-90%
|
|
27
|
+
currentProgress += Math.random() * 3 + 1;
|
|
28
|
+
if (currentProgress > 90) {
|
|
29
|
+
currentProgress = 90;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
progress.value = Math.min(currentProgress, 90);
|
|
33
|
+
}, 50);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function finish() {
|
|
37
|
+
// 清理interval
|
|
38
|
+
if (progressInterval) {
|
|
39
|
+
clearInterval(progressInterval);
|
|
40
|
+
progressInterval = null;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// 快速完成到100%
|
|
44
|
+
progress.value = 100;
|
|
45
|
+
|
|
46
|
+
// 延迟隐藏,让用户看到100%
|
|
47
|
+
setTimeout(() => {
|
|
48
|
+
isLoading.value = false;
|
|
49
|
+
progress.value = 0;
|
|
50
|
+
}, 300);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return {
|
|
54
|
+
isLoading,
|
|
55
|
+
progress,
|
|
56
|
+
start,
|
|
57
|
+
finish
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "4.10.0-alpha.2"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|