MaiBot 1.4.1__tar.gz → 1.4.2__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.
- {maibot-1.4.1 → maibot-1.4.2/MaiBot.egg-info}/PKG-INFO +4 -4
- {maibot-1.4.1 → maibot-1.4.2}/MaiBot.egg-info/requires.txt +1 -1
- {maibot-1.4.1/MaiBot.egg-info → maibot-1.4.2}/PKG-INFO +4 -4
- {maibot-1.4.1 → maibot-1.4.2}/README.md +2 -2
- {maibot-1.4.1 → maibot-1.4.2}/changelogs/changelog.md +6 -0
- {maibot-1.4.1 → maibot-1.4.2}/pyproject.toml +2 -2
- {maibot-1.4.1 → maibot-1.4.2}/src/config/config.py +7 -2
- maibot-1.4.2/src/desktop_pet/config.py +101 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/service.py +18 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/web.py +6 -2
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/protocol/errors.py +1 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/web_search/config.py +22 -12
- {maibot-1.4.1 → maibot-1.4.2}/src/web_search/provider.py +10 -2
- {maibot-1.4.1 → maibot-1.4.2}/src/web_search/service.py +3 -3
- maibot-1.4.2/src/webui/routers/desktop_pet.py +113 -0
- maibot-1.4.1/src/desktop_pet/config.py +0 -57
- maibot-1.4.1/src/webui/routers/desktop_pet.py +0 -44
- {maibot-1.4.1 → maibot-1.4.2}/EULA.md +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/LICENSE +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/MANIFEST.in +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/MaiBot.egg-info/SOURCES.txt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/MaiBot.egg-info/dependency_links.txt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/MaiBot.egg-info/entry_points.txt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/MaiBot.egg-info/top_level.txt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/PRIVACY.md +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/locales/en-US/config.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/locales/en-US/core.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/locales/en-US/prompts.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/locales/en-US/startup.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/locales/ja-JP/config.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/locales/ja-JP/core.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/locales/ja-JP/prompts.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/locales/ja-JP/startup.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/locales/ko/config.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/locales/ko/core.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/locales/ko/prompts.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/locales/ko/startup.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/locales/zh-CN/config.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/locales/zh-CN/core.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/locales/zh-CN/prompts.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/locales/zh-CN/startup.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/.meta.toml +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/a_memorix_chat_summary.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/a_memorix_fact_deduplication.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/agent_acp.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/agent_acp_environment.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/agent_acp_failure.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/agent_planner.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/agent_planner_continue.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/agent_planner_resume.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/context_compaction.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/context_compaction_focus.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/desktop_pet_exploration.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/desktop_pet_exploration_reuse.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/desktop_pet_proactive_wake.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/desktop_pet_screen_read.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/desktop_pet_thinking_caption.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/desktop_pet_todo_context.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/emoji_content_analysis.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/emoji_content_filtration.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/emoji_grouped_tags.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/emoji_replace.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/expression_evaluation.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/heuristic_memory_impression.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/image_description.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/jargon_compare_inference.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/jargon_inference_content_only.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/jargon_inference_with_context.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/learn_jargon.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/learn_style.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/maisaka_chat.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/maisaka_chat_focus.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/maisaka_chat_passive.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/maisaka_expression_selector.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/maisaka_replyer.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/maisaka_replyer_document.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/maisaka_wait_reminder.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/memory_fuzzy_modify_plan.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/planner_reply_capabilities.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/reply_attachments.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/reply_cache.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/reply_supplement.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/reply_supplement_retry.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/retro_private_replyer.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/retro_private_replyer_self.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/retro_replyer.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/retro_replyer_light.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/text_learning_expression.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/text_learning_jargon.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/webui_ai_search.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/webui_ai_search_correction.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/webui_ai_search_evidence.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/webui_ai_search_final.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/webui_ai_search_input.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/webui_help_skill_develop.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/webui_help_skill_plugin.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/webui_help_skill_setup.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/webui_help_skill_troubleshoot.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/.meta.toml +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/a_memorix_chat_summary.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/a_memorix_fact_deduplication.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/agent_acp.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/agent_acp_environment.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/agent_acp_failure.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/agent_planner.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/agent_planner_continue.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/agent_planner_resume.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/context_compaction.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/context_compaction_focus.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/desktop_pet_exploration.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/desktop_pet_exploration_reuse.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/desktop_pet_proactive_wake.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/desktop_pet_screen_read.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/desktop_pet_thinking_caption.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/desktop_pet_todo_context.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/emoji_content_analysis.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/emoji_content_filtration.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/emoji_grouped_tags.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/emoji_replace.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/expression_evaluation.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/heuristic_memory_impression.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/image_description.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/jargon_compare_inference.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/jargon_inference_content_only.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/jargon_inference_with_context.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/learn_jargon.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/learn_style.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/maisaka_chat.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/maisaka_chat_focus.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/maisaka_chat_passive.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/maisaka_expression_selector.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/maisaka_replyer.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/maisaka_replyer_document.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/maisaka_wait_reminder.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/memory_fuzzy_modify_plan.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/planner_reply_capabilities.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/reply_attachments.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/reply_cache.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/reply_supplement.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/reply_supplement_retry.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/retro_private_replyer.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/retro_private_replyer_self.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/retro_replyer.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/retro_replyer_light.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/text_learning_expression.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/text_learning_jargon.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/webui_ai_search.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/webui_ai_search_correction.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/webui_ai_search_evidence.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/webui_ai_search_final.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/webui_ai_search_input.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/webui_help_skill_develop.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/webui_help_skill_plugin.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/webui_help_skill_setup.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/webui_help_skill_troubleshoot.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ko/.meta.toml +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/ko/reply_attachments.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/.meta.toml +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/a_memorix_chat_summary.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/a_memorix_fact_deduplication.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/agent_acp.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/agent_acp_environment.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/agent_acp_failure.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/agent_planner.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/agent_planner_continue.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/agent_planner_resume.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/context_compaction.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/context_compaction_focus.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/desktop_pet_exploration.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/desktop_pet_exploration_reuse.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/desktop_pet_proactive_wake.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/desktop_pet_screen_read.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/desktop_pet_thinking_caption.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/desktop_pet_todo_context.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/emoji_content_analysis.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/emoji_content_filtration.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/emoji_grouped_tags.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/emoji_replace.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/expression_evaluation.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/heuristic_memory_impression.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/image_description.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/jargon_compare_inference.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/jargon_inference_content_only.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/jargon_inference_with_context.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/learn_jargon.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/learn_style.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/maisaka_chat.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/maisaka_chat_focus.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/maisaka_chat_passive.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/maisaka_expression_selector.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/maisaka_replyer.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/maisaka_replyer_document.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/maisaka_wait_reminder.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/memory_fuzzy_modify_plan.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/planner_reply_capabilities.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/reply_attachments.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/reply_cache.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/reply_supplement.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/reply_supplement_retry.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/retro_private_replyer.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/retro_private_replyer_self.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/retro_replyer.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/retro_replyer_light.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/text_learning_expression.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/text_learning_jargon.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/webui_ai_search.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/webui_ai_search_correction.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/webui_ai_search_evidence.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/webui_ai_search_final.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/webui_ai_search_input.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/webui_help_skill_develop.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/webui_help_skill_plugin.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/webui_help_skill_setup.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/webui_help_skill_troubleshoot.prompt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/setup.cfg +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/setup.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/LICENSE +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/LICENSE-MAIBOT-GPL.md +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/config_schema.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/embedding/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/embedding/api_adapter.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/embedding/manager.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/embedding/presets.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/image/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/image/asset_store.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/image/component_paths.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/image/embedder.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/image/fingerprints.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/image/runtime.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/retrieval/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/retrieval/dual_path.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/retrieval/graph_relation_recall.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/retrieval/pagerank.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/retrieval/posterior_graph.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/retrieval/score_calibration.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/retrieval/sparse_bm25.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/retrieval/threshold.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/admin_contracts.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/kernel_compat.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/lifecycle_orchestrator.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/models.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/runtime_facade.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/runtime_writer_lock.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/sdk_memory_kernel.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/search_runtime_initializer.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/background_task_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/base.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/bundle_admin_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/chat_filter_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/correction_admin_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/delete_admin_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/dual_vector_migration_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/dual_vector_state_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/embedding_state_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/episode_admin_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/fact_admin_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/feedback_correction_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/graph_admin_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/image_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/import_tuning_admin_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/ingest_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/memory_maintenance_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/memory_search_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/profile_admin_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/request_dedup_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/runtime_config_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/runtime_dependency_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/runtime_lifecycle_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/search_hit_processing_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/source_admin_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/stats_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/summary_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/v5_admin_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/vector_delete_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/vector_rebuild_checkpoint.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/vector_recovery_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/vector_runtime_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/vector_space_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/format_migration.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/graph_store.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/knowledge_types.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_cleanup.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_episode.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_fact.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_feedback.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_fts.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_identity.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_image.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_profile.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_schema.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_store.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/sqlite_connection.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/tokenizer_runtime.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/transaction.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/type_detection.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/value_coercion.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/vector_store.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/strategies/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/strategies/base.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/strategies/chat_log.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/strategies/factual.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/strategies/narrative.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/strategies/quote.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/aggregate_query_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/episode_retrieval_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/episode_segmentation_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/episode_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/fact_deduplication.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/feedback_policy.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/hash.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/import_payloads.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/io.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/matcher.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/memory_lifecycle_policy.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/metadata.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/model_routing.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/monitor.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/path_fallback_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/person_profile_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/plugin_id_policy.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/profile_evidence.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/profile_policy.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/profile_text.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/quantization.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/relation_query.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/relation_write_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/retrieval_tuning_manager.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/runtime_payloads.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/runtime_self_check.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/search_execution_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/search_postprocess.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/summary_identity.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/summary_importer.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/time_parser.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/web_import_manager.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/host_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/paths.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/plugin.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/runtime_registry.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/_bootstrap.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/audit_vector_consistency.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/backfill_relation_vectors.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/backfill_temporal_metadata.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/convert_lpmm.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/import_lpmm_json.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/migrate_chat_history.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/migrate_maibot_memory.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/migrate_person_memory_points.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/process_knowledge.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/rebuild_episodes.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/release_vnext_migrate.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/runtime_self_check.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/agent/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/agent/acp.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/agent/acp_agent.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/agent/config.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/agent/history.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/agent/images.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/agent/mcp_server.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/agent/messaging.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/agent/planner.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/agent/planner_state.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/agent/provider.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/agent/service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/debounce/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/debounce/controller.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/debounce/message_adapter.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/heart_flow/heartFC_utils.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/heart_flow/heartflow_manager.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/heart_flow/heartflow_message_processor.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/image_system/image_cache_cleanup.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/image_system/image_manager.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/message_receive/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/message_receive/bot.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/message_receive/chat_manager.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/message_receive/image_receive_compressor.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/message_receive/message.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/message_receive/uni_message_sender.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/creative_language.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/document_generator.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/expression_vector_index.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/expression_vector_storage.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/gemini_output.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/maisaka_expression_selector.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/maisaka_generator.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/maisaka_generator_base.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/reply_cache.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/replyer_manager.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/retro_prompt.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/utils/llm_sentence_splitter.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/utils/statistic.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/utils/statistics_timeseries.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/chat/utils/utils.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/cli/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/cli/bot_console.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/cli/console.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/cli/input_reader.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/cli/maisaka_cli.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/cli/maisaka_cli_sender.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/cli/tool.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/async_work.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/chat_session_data_model.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/chat_target_info_data_model.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/embedding_service_data_models.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/expression_data_model.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/image_data_model.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/jargon_data_model.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/llm_data_model.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/llm_service_data_models.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/mai_message_data_model.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/message_component_data_model.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/person_info_data_model.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/reply_generation_data_models.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/tool_record_data_model.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/database.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/database_model.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/behavior_generic_tags.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/bootstrap.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/builtin.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/exceptions.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/frozen_v2_schema.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/legacy_v1_to_v2.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/manager.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/models.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/planner.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/progress.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/registry.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/resolver.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/schema.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v10_to_v11.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v11_to_v12.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v12_to_v13.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v13_to_v14.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v14_to_v15.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v15_to_v16.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v16_to_v17.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v17_to_v18.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v18_to_v19.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v19_to_v20.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v20_to_v21.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v21_to_v22.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v22_to_v23.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v23_to_v24.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v24_to_v25.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v25_to_v26.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v26_to_v27.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v27_to_v28.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v28_to_v29.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v29_to_v30.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v2_to_v3.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v30_to_v31.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v31_to_v32.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v32_to_v33.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v33_to_v34.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v34_to_v35.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v35_to_v36.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v36_to_v37.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v37_to_v38.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v38_to_v39.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v39_to_v40.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v3_to_v4.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v40_to_v41.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v41_to_v42.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v42_to_v43.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v43_to_v44.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v44_to_v45.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v45_to_v46.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v46_to_v47.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v47_to_v48.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v4_to_v5.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v5_to_v6.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v6_to_v7.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v7_to_v8.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v8_to_v9.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v9_to_v10.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/version_store.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/embedding_identity.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/event_loop_watchdog.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/exceptions.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/git_source.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/http_client.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/http_service/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/http_service/app.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/http_service/console.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/http_service/maim.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/http_service/server.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/i18n/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/i18n/exceptions.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/i18n/formatting.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/i18n/loaders.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/i18n/manager.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/ipc.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/json_storage.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/llm_json.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/logger.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/logger_color_and_mapping.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/memory_diagnostics.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/message_repository.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/message_server/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/message_server/api.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/network_security.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/operation_timing.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/package_update.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/paths.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/process_lease.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/prompt_i18n.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/python_process.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/remote.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/reply_effect_fingerprint.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/reply_effect_record_codec.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/runtime_context.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/runtime_loop.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/self_update.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/shutdown.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/shutdown_diagnostics.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/startup_diagnostics.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/update_notice.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/image_path.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/math_utils.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/port_checker.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/system_utils.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/utils_action.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/utils_config.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/utils_file.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/utils_image.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/utils_message.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/utils_person.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/utils_session.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/utils_voice.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/common/version.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/config/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/config/builtin_typo_migration.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/config/config_base.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/config/config_upgrade_hooks.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/config/config_utils.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/config/default_model_config.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/config/file_watcher.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/config/legacy_migration.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/config/legacy_upgrade_confirmation.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/config/model_configs.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/config/official_configs.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/config/personality_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/config/shared_models.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/config/shared_settings.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/core/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/core/announcement_manager.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/core/chat_pause.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/core/commands/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/core/commands/command_catalog.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/core/commands/plugin_management.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/core/commands/pm_aliases.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/core/config_types.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/core/event_bus.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/core/internal_chat.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/core/local_operator.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/core/plugin_usage.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/core/tooling.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/core/types.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/LICENSE +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/app_conditions.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/attachments.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/chat_tools.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/clipboard.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/exploration.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/exploration_results.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/exploration_search.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/exploration_tools.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/hooks.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/pet_window.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/remote_protocol.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/remote_server.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/rendering.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/screen.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/screen_tools.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/skins.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/thinking_caption.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/todo_context.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/todo_dispatch.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/todo_tools.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/todos.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/web/exploration-products.css +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/web/exploration-render.js +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/web/exploration.html +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/web/fonts/ArkPixel-OFL.txt +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/web/fonts/ArkPixel12-ZhHans.woff2 +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/web/host-bridge.js +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/web/index.html +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/web/skin.js +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/emoji_system/emoji_cache_cleanup.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/emoji_system/emoji_manager.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/emoji_system/semantic_match.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/files/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/files/capability.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/files/config.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/files/http.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/files/models.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/files/network.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/files/provider.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/files/service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/files/store.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/adopt.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/anti_crawler.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/authentication.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/bootstrap.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/bot_operations.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/cli.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/config.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/config_migration.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/config_transaction.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/console.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/control.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/data_transfer.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/initialize.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/launcher.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/layout.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/legacy_runner.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/maim.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/maintenance.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/model_migration.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/process.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/proxy.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/registry.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/retention_migration.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/sessions.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/settings.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/shared_models.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/static.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/supervisor.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/transfer_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/transfer_storage.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/update_locks.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/updater.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/webui.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/webui_auth.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/windows_job.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/host/workspace_migration.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/learners/expression_learner.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/learners/expression_review_store.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/learners/expression_style_utils.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/learners/expression_utils.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/learners/jargon_learner.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/learners/jargon_miner.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/learners/learning_text.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/learners/pending_learning_buffer.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/learners/weighted_sampling.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/LICENSE +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/exceptions.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/generation_diagnostics.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/image_normalizer.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/model_client/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/model_client/adapter_base.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/model_client/base_client.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/model_client/embedding_rate_limit.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/model_client/gemini_client.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/model_client/image_embedding_protocols.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/model_client/openai_client.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/model_client/openai_responses_client.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/model_client/plugin_client.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/openai_compat.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/payload_content/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/payload_content/context_item.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/payload_content/context_protocol.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/payload_content/context_snapshot.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/payload_content/native_tool.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/payload_content/resp_format.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/payload_content/tool_option.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/request_snapshot.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/utils.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/utils_model.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/main.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/attention_drift.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/context.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/provider.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/query_image_memory.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/query_memory.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/query_person_profile.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/read_tool_result.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/reply.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/stop.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/subagent.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/tool_search.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/view_forward_message.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/wait.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/chat_loop_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/clear_context.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/compaction.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/history.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/image_attachment.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/message_adapter.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/message_id_alias.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/messages.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/planner_messages.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/post_processor.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/usage.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/display/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/display/display_utils.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/display/preview_path_utils.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/display/prompt_cli_renderer.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/display/prompt_preview_logger.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/display/reasoning_steps.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/display/runtime_mixin.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/display/stage_status_board.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/focus/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/focus/context.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/focus/group_runtime.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/focus/manager.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/focus/tools.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/jargon_context_matcher.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/memory/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/memory/heuristic_injector.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/memory/image_injector.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/memory/person_profile.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/mode_policy.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/monitor/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/monitor/event_store.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/monitor/events.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/monitor/message_payload.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/monitor/planner_delta.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/monitor/tool_media.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/quote/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/quote/counter.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/quote/rules.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/reasoning_engine.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/reply_supplement.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/runtime.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/base.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/factory.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/group/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/group/behavior.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/group/memory.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/group/mentions.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/group/prompting.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/group/quoting.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/group/scheduling.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/mentions.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/private/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/private/behavior.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/private/memory.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/private/mentions.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/private/prompting.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/private/quoting.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/private/scheduling.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/prompting.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/subagent_tasks.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/tool_result_condenser.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/tool_result_store.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/turn_trigger/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/turn_trigger/dynamic_gate.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/turn_trigger/gates.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/turn_trigger/idle_backoff.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/turn_trigger/messages.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/turn_trigger/reply_likelihood.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/turn_trigger/scheduler.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/utils/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/utils/tool_post_execution.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/utils/tool_record_payload.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/visual/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/visual/chat_history_refresher.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/visual/deferred_images.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/visual/emoji_image_cache.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/visual/message_limiter.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/visual/mode_utils.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/manager/async_task_manager.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/manager/local_store_manager.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/config.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/connection.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/hooks.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/host_llm_bridge.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/manager.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/models.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/provider.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/stdio_filter.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/person_info/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/person_info/person_info.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/adapter_policy.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/avatar.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/dedupe.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/drivers/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/drivers/base.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/drivers/legacy_driver.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/drivers/plugin_driver.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/manager.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/outbound_tracker.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/registry.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/route_key_factory.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/routing.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/types.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/cache.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/catalog.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/documents.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/engagement.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/errors.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/feedback.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/releases.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/sources.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/statistics.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/avatar_provider.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/builtin_adapter_migration.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/components.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/core.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/data.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/desktop_pet.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/internal_chat.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/market.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/personality.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/registry.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/render.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/compat_policy.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/component_query.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/config_widgets.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/dependency_pipeline.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/desktop_pet_buttons.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/desktop_pet_panels.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/docker_layout_migration.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/hook_catalog.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/hook_payloads.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/hook_schema_utils.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/api_registry.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/authorization.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/capability_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/circuit_breaker.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/component_registry.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/component_timeout.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/event_dispatcher.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/hook_dispatcher.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/hook_spec_registry.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/logger_bridge.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/message_gateway.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/message_utils.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/reply_extension_schema.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/reply_extensions.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/rpc_server.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/status_badges.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/supervisor.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host_dependencies.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/integration.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/local_sdk.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/plugin_catalog.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/protocol/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/protocol/codec.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/protocol/envelope.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/requirements_report.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/runner/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/runner/log_handler.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/runner/manifest_validator.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/runner/plugin_enabled.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/runner/plugin_loader.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/runner/plugin_paths.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/runner/rpc_client.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/runner/runner_main.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/runner/task_registry.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/tool_provider.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/transport/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/transport/base.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/transport/factory.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/transport/named_pipe.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/transport/tcp.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/transport/uds.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/update_compatibility_notice.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/upload_store.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/usage_tracker.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/webui_schema.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/chinese_typo/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/chinese_typo/_manifest.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/chinese_typo/dictionary_typo.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/chinese_typo/plugin.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/chinese_typo/settings.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/chinese_typo/typo_generator.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/chinese_typo/typo_words.LICENSE +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/chinese_typo/typo_words.NOTICE +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/chinese_typo/typo_words.tsv +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/CHANGELOG.md +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/LICENSE +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/README.md +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/_manifest.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/assets/icon.svg +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/codec.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/identity_sync.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/plugin.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/qr_login.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/quoted_media.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/settings.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/webui/mappings.html +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/webui.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/CHANGELOG.md +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/LICENSE +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/README.md +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/_manifest.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/api.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/assets/icon.png +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/avatar.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/codec.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/config.example.toml +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/media.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/plugin.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/settings.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/storage.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/LICENSE +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/README.md +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/_manifest.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/changelog.md +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/client.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/codec.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/config.toml.example +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/connection.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/icon-mascot.webp +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/plugin.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/settings.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/storage.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/tests/conftest.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/tests/test_gateway.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/tests/test_protocol.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/web/accounts.html +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/webui.json +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/prompt/prompt_manager.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/runtime.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/bot_account_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/database_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/embedding_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/expression_vector_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/html_render_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/image_path_maintenance_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/image_writeback_journal.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/internal_chat_profile.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/llm_cache_stats.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/llm_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/memory_flow_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/memory_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/message_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/message_word_frequency_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/model_task_usage_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/news_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/person_fact_reverification.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/person_fact_verifier.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/send_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/service_task_resolver.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/statistics_aggregation_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/statistics_cache_files.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/statistics_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/statistics_usage_hourly.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/statistics_usage_rules.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/telemetry_platform_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/telemetry_stats_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/services/tool_record_cleanup_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/web_search/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/web_search/adapters/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/web_search/adapters/anysearch.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/web_search/adapters/deepseek.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/web_search/adapters/exa.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/web_search/adapters/firecrawl.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/web_search/adapters/http.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/web_search/adapters/stepsearch.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/web_search/adapters/tavily.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/web_search/models.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/app.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/config_schema.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/logs_ws.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/middleware/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/middleware/compression.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/agent.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/avatar.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/bot_accounts.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/chat/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/chat/routes.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/chat/serializers.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/chat/service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/config.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/desktop_pet_remote.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/emoji/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/emoji/routes.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/emoji/schemas.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/emoji/support.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/expression.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/files.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/jargon.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/mcp.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/memory.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/model.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/news.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/person.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/config_routes.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/icon_routes.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/management.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/marketplace.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/progress.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/release_install.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/repository.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/runtime_routes.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/schemas.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/support.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/webui_extensions.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/zip_install.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/reasoning_process.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/search.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/statistics.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/system.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/text_learning.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/user_emoji.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/websocket/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/websocket/manager.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/websocket/plugin_runtime.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/websocket/unified.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/routes.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/schemas/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/schemas/news.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/schemas/statistics.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_help_artifacts.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_help_diagnostics.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_help_harness.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_help_history.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_help_references.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_search_agent.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_search_documents.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_search_grounding.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_search_local_config.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_search_market.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_search_models.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_search_plugin_config.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_search_tools.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/git_mirror_service.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/text_learning.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/thinking_probe.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/utils/__init__.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/utils/toml_utils.py +0 -0
- {maibot-1.4.1 → maibot-1.4.2}/src/webui/version_compatibility.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: MaiBot
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.2
|
|
4
4
|
Summary: MaiCore 是一个基于大语言模型的可交互智能体
|
|
5
5
|
Requires-Python: >=3.12
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
@@ -26,7 +26,7 @@ Requires-Dist: jieba>=0.42.1
|
|
|
26
26
|
Requires-Dist: json-repair<0.61,>=0.60.1
|
|
27
27
|
Requires-Dist: jsonschema<5,>=4.26.0
|
|
28
28
|
Requires-Dist: maim-message==0.6.8
|
|
29
|
-
Requires-Dist: maibot-dashboard==1.10.
|
|
29
|
+
Requires-Dist: maibot-dashboard==1.10.2
|
|
30
30
|
Requires-Dist: maibot-plugin-sdk>=2.20.0
|
|
31
31
|
Requires-Dist: mcp<2,>=1.28.1
|
|
32
32
|
Requires-Dist: msgpack>=1.2.1
|
|
@@ -132,9 +132,9 @@ MaiSaka 不仅仅是一个机器人,不仅仅是一个可以帮你完成任务
|
|
|
132
132
|
|
|
133
133
|
<picture><source media="(prefers-color-scheme: dark)" srcset="depends-data/readme/sec-install-night.svg"><img src="depends-data/readme/sec-install-day.svg" alt="安装 · INSTALL" width="100%"></picture>
|
|
134
134
|
|
|
135
|
-
**最新版本: v1.
|
|
135
|
+
**最新版本: v1.4.2**
|
|
136
136
|
|
|
137
|
-
<sub><sup><strong>Latest Version: v1.
|
|
137
|
+
<sub><sup><strong>Latest Version: v1.4.2</strong></sup></sub>
|
|
138
138
|
|
|
139
139
|
- **发布**:[Release](https://github.com/Mai-with-u/MaiBot/releases/) 页面展示了最新发布的正式版。
|
|
140
140
|
<sub><sup><strong>Download</strong>: Visit the <a href="https://github.com/Mai-with-u/MaiBot/releases/">Release</a> page to get the latest version.</sup></sub>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: MaiBot
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.2
|
|
4
4
|
Summary: MaiCore 是一个基于大语言模型的可交互智能体
|
|
5
5
|
Requires-Python: >=3.12
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
@@ -26,7 +26,7 @@ Requires-Dist: jieba>=0.42.1
|
|
|
26
26
|
Requires-Dist: json-repair<0.61,>=0.60.1
|
|
27
27
|
Requires-Dist: jsonschema<5,>=4.26.0
|
|
28
28
|
Requires-Dist: maim-message==0.6.8
|
|
29
|
-
Requires-Dist: maibot-dashboard==1.10.
|
|
29
|
+
Requires-Dist: maibot-dashboard==1.10.2
|
|
30
30
|
Requires-Dist: maibot-plugin-sdk>=2.20.0
|
|
31
31
|
Requires-Dist: mcp<2,>=1.28.1
|
|
32
32
|
Requires-Dist: msgpack>=1.2.1
|
|
@@ -132,9 +132,9 @@ MaiSaka 不仅仅是一个机器人,不仅仅是一个可以帮你完成任务
|
|
|
132
132
|
|
|
133
133
|
<picture><source media="(prefers-color-scheme: dark)" srcset="depends-data/readme/sec-install-night.svg"><img src="depends-data/readme/sec-install-day.svg" alt="安装 · INSTALL" width="100%"></picture>
|
|
134
134
|
|
|
135
|
-
**最新版本: v1.
|
|
135
|
+
**最新版本: v1.4.2**
|
|
136
136
|
|
|
137
|
-
<sub><sup><strong>Latest Version: v1.
|
|
137
|
+
<sub><sup><strong>Latest Version: v1.4.2</strong></sup></sub>
|
|
138
138
|
|
|
139
139
|
- **发布**:[Release](https://github.com/Mai-with-u/MaiBot/releases/) 页面展示了最新发布的正式版。
|
|
140
140
|
<sub><sup><strong>Download</strong>: Visit the <a href="https://github.com/Mai-with-u/MaiBot/releases/">Release</a> page to get the latest version.</sup></sub>
|
|
@@ -73,9 +73,9 @@ MaiSaka 不仅仅是一个机器人,不仅仅是一个可以帮你完成任务
|
|
|
73
73
|
|
|
74
74
|
<picture><source media="(prefers-color-scheme: dark)" srcset="depends-data/readme/sec-install-night.svg"><img src="depends-data/readme/sec-install-day.svg" alt="安装 · INSTALL" width="100%"></picture>
|
|
75
75
|
|
|
76
|
-
**最新版本: v1.
|
|
76
|
+
**最新版本: v1.4.2**
|
|
77
77
|
|
|
78
|
-
<sub><sup><strong>Latest Version: v1.
|
|
78
|
+
<sub><sup><strong>Latest Version: v1.4.2</strong></sup></sub>
|
|
79
79
|
|
|
80
80
|
- **发布**:[Release](https://github.com/Mai-with-u/MaiBot/releases/) 页面展示了最新发布的正式版。
|
|
81
81
|
<sub><sup><strong>Download</strong>: Visit the <a href="https://github.com/Mai-with-u/MaiBot/releases/">Release</a> page to get the latest version.</sup></sub>
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "MaiBot"
|
|
7
|
-
version = "1.4.
|
|
7
|
+
version = "1.4.2"
|
|
8
8
|
description = "MaiCore 是一个基于大语言模型的可交互智能体"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.12"
|
|
@@ -30,7 +30,7 @@ dependencies = [
|
|
|
30
30
|
"json-repair>=0.60.1,<0.61",
|
|
31
31
|
"jsonschema>=4.26.0,<5",
|
|
32
32
|
"maim-message==0.6.8",
|
|
33
|
-
"maibot-dashboard==1.10.
|
|
33
|
+
"maibot-dashboard==1.10.2",
|
|
34
34
|
"maibot-plugin-sdk>=2.20.0",
|
|
35
35
|
"mcp>=1.28.1,<2",
|
|
36
36
|
"msgpack>=1.2.1",
|
|
@@ -16,7 +16,7 @@ from src.common.version import read_project_version
|
|
|
16
16
|
from src.agent.config import AgentConfig
|
|
17
17
|
from src.desktop_pet.config import DesktopPetConfig
|
|
18
18
|
from src.files.config import FilesConfig
|
|
19
|
-
from src.web_search.config import WebConfig,
|
|
19
|
+
from src.web_search.config import WebConfig, WebSearchConfigError, require_web_service
|
|
20
20
|
|
|
21
21
|
from .config_base import AttributeData, ConfigBase, Field
|
|
22
22
|
from .builtin_typo_migration import migrate_builtin_typo_config
|
|
@@ -195,7 +195,6 @@ class ModelConfig(ConfigBase):
|
|
|
195
195
|
"""API提供商列表"""
|
|
196
196
|
|
|
197
197
|
def model_post_init(self, context: Any = None):
|
|
198
|
-
resolve_web_search_config(self.web, self.model_task_config.web_search)
|
|
199
198
|
if not self.models:
|
|
200
199
|
raise ValueError(t("config.models_empty"))
|
|
201
200
|
if not self.api_providers:
|
|
@@ -228,6 +227,12 @@ class ModelConfig(ConfigBase):
|
|
|
228
227
|
model_name=model.name,
|
|
229
228
|
)
|
|
230
229
|
)
|
|
230
|
+
web_services = self.model_task_config.web_search.model_list
|
|
231
|
+
if web_services and web_services[0]:
|
|
232
|
+
try:
|
|
233
|
+
require_web_service(self.web, web_services[0])
|
|
234
|
+
except WebSearchConfigError as exc:
|
|
235
|
+
logger.warning(f"联网工具配置有误,调用时将返回 {exc.code}:{exc}")
|
|
231
236
|
return super().model_post_init(context)
|
|
232
237
|
|
|
233
238
|
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"""内置桌宠配置。
|
|
2
|
+
|
|
3
|
+
WebUI 的排布完全由字段元数据声明:
|
|
4
|
+
- ``x-row`` + ``x-row-columns``:相邻同名字段排成一行的多列;
|
|
5
|
+
- ``x-column-group`` + ``x-column``:相邻字段按列标题分成并排的几列;
|
|
6
|
+
- ``x-depends-on``:依赖同级布尔开关,开关关闭时该字段只读;
|
|
7
|
+
- ``x-layout``/``x-input-width``:标签在左、控件在右,并限制控件宽度。
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
from typing import Literal
|
|
11
|
+
|
|
12
|
+
from src.config.config_base import ConfigBase, Field
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def _switch(label: str, **extra: object) -> dict[str, object]:
|
|
16
|
+
return {"x-widget": "switch", "x-layout": "inline-right", "label": {"zh_CN": label}, **extra}
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def _number(label: str, **extra: object) -> dict[str, object]:
|
|
20
|
+
return {
|
|
21
|
+
"x-widget": "input",
|
|
22
|
+
"x-layout": "inline-right",
|
|
23
|
+
"x-input-width": "min(100%, 7.5rem)",
|
|
24
|
+
"label": {"zh_CN": label},
|
|
25
|
+
**extra,
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
_CORE_ROW = {"x-row": "desktop-pet-core", "x-row-columns": 4}
|
|
30
|
+
_COLUMNS = {"x-column-group": "desktop-pet-columns"}
|
|
31
|
+
_SKIN_COLUMN = {**_COLUMNS, "x-column": "皮肤"}
|
|
32
|
+
_WAKE_COLUMN = {**_COLUMNS, "x-column": "主动思考"}
|
|
33
|
+
_SCREEN_COLUMN = {**_COLUMNS, "x-column": "读取桌面"}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class DesktopPetConfig(ConfigBase):
|
|
37
|
+
__ui_label__ = "桌宠"
|
|
38
|
+
__ui_order__ = 45
|
|
39
|
+
|
|
40
|
+
enabled: bool = Field(default=False, json_schema_extra=_switch("启用桌宠", **_CORE_ROW))
|
|
41
|
+
"""启用本机桌宠或接受远端桌宠连接,和网页聊天室共用聊天与昵称;支持热重载。"""
|
|
42
|
+
|
|
43
|
+
mode: Literal["local", "remote"] = Field(
|
|
44
|
+
default="local",
|
|
45
|
+
json_schema_extra={
|
|
46
|
+
"x-widget": "select",
|
|
47
|
+
"x-layout": "inline-right",
|
|
48
|
+
"x-input-width": "min(100%, 9rem)",
|
|
49
|
+
"x-option-labels": {"local": "本机", "remote": "远端连接"},
|
|
50
|
+
"label": {"zh_CN": "运行模式"},
|
|
51
|
+
**_CORE_ROW,
|
|
52
|
+
},
|
|
53
|
+
)
|
|
54
|
+
"""local 在本机 Windows 启动窗口;remote 等待独立 Windows 客户端连接,服务器可使用 Linux。一次连接一台桌宠。"""
|
|
55
|
+
|
|
56
|
+
chat_tools_enabled: bool = Field(default=False, json_schema_extra=_switch("聊天流工具", **_CORE_ROW))
|
|
57
|
+
"""允许桌宠与网页共用的主人聊天查询其他聊天流并唤起传话;不影响图片发送。"""
|
|
58
|
+
|
|
59
|
+
show_current_task: bool = Field(default=False, json_schema_extra=_switch("显示桌宠手中事", **_CORE_ROW))
|
|
60
|
+
"""在桌宠底部显示当前动作的像素字幕;需单独配置 fast_model,未配置时不可启用。"""
|
|
61
|
+
|
|
62
|
+
skin_id: str = Field(default="builtin", json_schema_extra={"label": {"zh_CN": "当前皮肤"}, **_SKIN_COLUMN})
|
|
63
|
+
"""选择已安装的皮肤 ID;支持热切换,builtin 为内置麦麦。"""
|
|
64
|
+
|
|
65
|
+
proactive_wake_enabled: bool = Field(default=False, json_schema_extra=_switch("定期主动思考", **_WAKE_COLUMN))
|
|
66
|
+
"""桌宠运行期间定期唤醒主人聊天流,自主探索并选择是否交流;会调用模型,默认关闭。"""
|
|
67
|
+
|
|
68
|
+
proactive_wake_interval_minutes: int = Field(
|
|
69
|
+
default=30,
|
|
70
|
+
ge=1,
|
|
71
|
+
le=1440,
|
|
72
|
+
json_schema_extra=_number("主动思考间隔(分钟)", **_WAKE_COLUMN, **{"x-depends-on": "proactive_wake_enabled"}),
|
|
73
|
+
)
|
|
74
|
+
"""每次间隔后触发一次,范围 1~1440 分钟;重启或修改桌宠配置后重新计时,不补跑离线周期。"""
|
|
75
|
+
|
|
76
|
+
screen_read_enabled: bool = Field(default=False, json_schema_extra=_switch("允许读取桌面", **_SCREEN_COLUMN))
|
|
77
|
+
"""允许主人聊天工具和桌宠按钮截图本机主屏并交给聊天模型理解;截图可能包含屏幕上的私人信息。默认关闭,不授予鼠标键盘控制。"""
|
|
78
|
+
|
|
79
|
+
screen_read_interval_seconds: int = Field(
|
|
80
|
+
default=10,
|
|
81
|
+
ge=2,
|
|
82
|
+
le=3600,
|
|
83
|
+
json_schema_extra=_number("屏幕时间线投递间隔(秒)", **_SCREEN_COLUMN, **{"x-depends-on": "screen_read_enabled"}),
|
|
84
|
+
)
|
|
85
|
+
"""按此间隔将有变化的关键帧拼图交给模型,最多 6 帧;无明显变化不重复投递。停止或重启后需手动重新开启。"""
|
|
86
|
+
|
|
87
|
+
screen_sample_interval_seconds: float = Field(
|
|
88
|
+
default=2,
|
|
89
|
+
ge=0.5,
|
|
90
|
+
le=30,
|
|
91
|
+
json_schema_extra=_number("屏幕差异采样间隔(秒)", **_SCREEN_COLUMN, **{"x-depends-on": "screen_read_enabled"}),
|
|
92
|
+
)
|
|
93
|
+
"""截图和比较画面的频率,独立于模型调用;有效采样间隔不超过时间线投递间隔。"""
|
|
94
|
+
|
|
95
|
+
screen_change_threshold: float = Field(
|
|
96
|
+
default=0.015,
|
|
97
|
+
ge=0.001,
|
|
98
|
+
le=1,
|
|
99
|
+
json_schema_extra=_number("屏幕变化比例阈值", **_SCREEN_COLUMN, **{"x-depends-on": "screen_read_enabled"}),
|
|
100
|
+
)
|
|
101
|
+
"""缩略图中明显变化的像素比例达到阈值才保留,0.015 表示 1.5%;越低越敏感,小面积更新可能被过滤。"""
|
|
@@ -58,6 +58,9 @@ class DesktopPetService:
|
|
|
58
58
|
self._screen_error = ""
|
|
59
59
|
self._screen_last_capture = ""
|
|
60
60
|
self._thinking_caption = ThinkingCaption(self._command)
|
|
61
|
+
# 供 WebUI 首页卡片展示:窗口当前是否在思考、最近一次显示的气泡文字
|
|
62
|
+
self._thinking = False
|
|
63
|
+
self._bubble = ""
|
|
61
64
|
|
|
62
65
|
def observe_stage(self, data: Dict[str, Any]) -> None:
|
|
63
66
|
from .chat_tools import is_owner_chat
|
|
@@ -77,6 +80,8 @@ class DesktopPetService:
|
|
|
77
80
|
"error": self._error,
|
|
78
81
|
"skin_id": self._skin_id,
|
|
79
82
|
"screen_reading": self._screen_reading(),
|
|
83
|
+
"thinking": self._thinking and self._ready and not self._closing,
|
|
84
|
+
"bubble": self._bubble,
|
|
80
85
|
}
|
|
81
86
|
|
|
82
87
|
async def start(self) -> None:
|
|
@@ -144,6 +149,7 @@ class DesktopPetService:
|
|
|
144
149
|
|
|
145
150
|
async def _stop(self) -> None:
|
|
146
151
|
self._closing = True
|
|
152
|
+
self._thinking = False
|
|
147
153
|
self._thinking_caption.cancel()
|
|
148
154
|
if self._todo_task is not None:
|
|
149
155
|
self._todo_task.cancel()
|
|
@@ -863,8 +869,10 @@ class DesktopPetService:
|
|
|
863
869
|
command = {"type": action}
|
|
864
870
|
elif action == "say":
|
|
865
871
|
command = {"type": "notice", "parts": [{"kind": "text", "text": text}]}
|
|
872
|
+
self._bubble = _bubble_text(text)
|
|
866
873
|
elif action == "set_thinking":
|
|
867
874
|
command = {"type": "thinking" if active else "idle"}
|
|
875
|
+
self._thinking = active
|
|
868
876
|
else:
|
|
869
877
|
raise ValueError(f"未知桌宠操作: {action}")
|
|
870
878
|
await self._command(command)
|
|
@@ -877,6 +885,7 @@ class DesktopPetService:
|
|
|
877
885
|
session = chat_manager.get_session_by_session_id(session_id)
|
|
878
886
|
if (session is not None and session.platform == INTERNAL_CHAT_PLATFORM
|
|
879
887
|
and not session.group_id and session.user_id == INTERNAL_CHAT_USER_ID):
|
|
888
|
+
self._thinking = True
|
|
880
889
|
self._observe(self._command({"type": "thinking"}))
|
|
881
890
|
|
|
882
891
|
async def notify_reply(self, message: Dict[str, Any]) -> None:
|
|
@@ -897,6 +906,15 @@ class DesktopPetService:
|
|
|
897
906
|
if not self._visible:
|
|
898
907
|
await self.control("show")
|
|
899
908
|
await self._command({"type": "reply", "parts": parts})
|
|
909
|
+
self._thinking = False
|
|
910
|
+
text = "".join(part.get("text", "") for part in parts if part.get("kind") == "text")
|
|
911
|
+
self._bubble = _bubble_text(text) or "[图片]"
|
|
912
|
+
|
|
913
|
+
|
|
914
|
+
def _bubble_text(text: str) -> str:
|
|
915
|
+
"""首页卡片只放一行摘要,完整内容在聊天记录里。"""
|
|
916
|
+
text = " ".join(text.split())
|
|
917
|
+
return text if len(text) <= 120 else f"{text[:119]}…"
|
|
900
918
|
|
|
901
919
|
|
|
902
920
|
desktop_pet_service = DesktopPetService()
|
|
@@ -6,7 +6,8 @@ from typing import Any, Dict
|
|
|
6
6
|
import json
|
|
7
7
|
|
|
8
8
|
from src.core.tooling import ToolInvocation
|
|
9
|
-
from src.
|
|
9
|
+
from src.plugin_runtime.protocol.errors import ErrorCode, RPCError
|
|
10
|
+
from src.web_search.config import WebRuntimeConfig, WebSearchConfigError, resolve_web_search_config
|
|
10
11
|
from src.web_search.models import WebSearchError
|
|
11
12
|
from src.web_search.service import WebSearchService
|
|
12
13
|
|
|
@@ -31,7 +32,10 @@ async def call(plugin_id: str, capability: str, args: Dict[str, Any]) -> Dict[st
|
|
|
31
32
|
# 固定本次调用的配置,避免热重载在请求中途替换服务或凭据。
|
|
32
33
|
config = get_config().model_copy(deep=True)
|
|
33
34
|
invocation = ToolInvocation(tool_name=tool_name, arguments=args, metadata={"plugin_id": plugin_id})
|
|
34
|
-
|
|
35
|
+
try:
|
|
36
|
+
result = await get_service().execute(config, invocation)
|
|
37
|
+
except WebSearchConfigError as exc:
|
|
38
|
+
raise RPCError(ErrorCode.E_WEB_SERVICE_CONFIG_INVALID, str(exc)) from exc
|
|
35
39
|
payload = asdict(result)
|
|
36
40
|
# 不静默截断正文;限制序列化结果,给 RPC 帧和协议包装留出空间。
|
|
37
41
|
if len(json.dumps(payload, ensure_ascii=False)) > MAX_RESULT_CHARS:
|
|
@@ -5,6 +5,14 @@ from urllib.parse import urlsplit
|
|
|
5
5
|
|
|
6
6
|
from src.config.config_base import ConfigBase, Field
|
|
7
7
|
|
|
8
|
+
from .models import WebSearchError
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class WebSearchConfigError(WebSearchError):
|
|
12
|
+
"""已分配的联网服务缺失或配置不完整。"""
|
|
13
|
+
|
|
14
|
+
code = "E_WEB_SERVICE_CONFIG_INVALID"
|
|
15
|
+
|
|
8
16
|
|
|
9
17
|
class WebServiceConfig(ConfigBase):
|
|
10
18
|
adapter: Literal["deepseek", "tavily", "stepsearch_mcp", "anysearch", "exa", "firecrawl"] = "deepseek"
|
|
@@ -65,14 +73,26 @@ class WebSearchTaskConfig(ConfigBase):
|
|
|
65
73
|
def resolve_web_search_config(config: WebConfig, task: WebSearchTaskConfig) -> "WebRuntimeConfig":
|
|
66
74
|
"""只有功能分配能启用统一联网工具,服务定义本身不授予使用权限。"""
|
|
67
75
|
selected = task.model_list[0] if task.model_list else ""
|
|
68
|
-
if selected and selected not in config.services:
|
|
69
|
-
raise ValueError(f"web_search 引用了不存在的联网服务:{selected},请先取消该功能分配")
|
|
70
76
|
return WebRuntimeConfig(
|
|
71
77
|
enabled=bool(selected), search=selected, fetch=selected,
|
|
72
78
|
preview_chars=config.preview_chars, services=config.services,
|
|
73
79
|
)
|
|
74
80
|
|
|
75
81
|
|
|
82
|
+
def require_web_service(config: WebConfig, name: str) -> WebServiceConfig:
|
|
83
|
+
"""获取指定的联网服务并检查调用所需的配置。"""
|
|
84
|
+
service = config.services.get(name)
|
|
85
|
+
if service is None:
|
|
86
|
+
raise WebSearchConfigError(f"web_search 引用了不存在的联网服务:{name},请修正或取消该功能分配")
|
|
87
|
+
if service.adapter == "stepsearch_mcp":
|
|
88
|
+
field, value = "server_ref", service.server_ref
|
|
89
|
+
else:
|
|
90
|
+
field, value = "api_key", service.api_key
|
|
91
|
+
if not value.strip():
|
|
92
|
+
raise WebSearchConfigError(f"联网服务 {name} 缺少 {field}")
|
|
93
|
+
return service
|
|
94
|
+
|
|
95
|
+
|
|
76
96
|
class WebRuntimeConfig(WebConfig):
|
|
77
97
|
"""由功能分配生成的调用快照,不作为持久化配置的启用入口。"""
|
|
78
98
|
|
|
@@ -86,16 +106,6 @@ class WebRuntimeConfig(WebConfig):
|
|
|
86
106
|
"""网页读取使用的 services 条目名;留空不提供统一读取工具。"""
|
|
87
107
|
|
|
88
108
|
def model_post_init(self, context: Any = None) -> None:
|
|
89
|
-
for operation in ("search", "fetch"):
|
|
90
|
-
selected = self.search if operation == "search" else self.fetch
|
|
91
|
-
if selected and selected not in self.services:
|
|
92
|
-
raise ValueError(f"web.{operation} 引用了不存在的服务:{selected}")
|
|
93
|
-
if self.enabled and selected:
|
|
94
|
-
service = self.services[selected]
|
|
95
|
-
if service.adapter == "stepsearch_mcp" and not service.server_ref.strip():
|
|
96
|
-
raise ValueError(f"联网服务 {selected} 缺少 server_ref")
|
|
97
|
-
if service.adapter != "stepsearch_mcp" and not service.api_key.strip():
|
|
98
|
-
raise ValueError(f"联网服务 {selected} 缺少 api_key")
|
|
99
109
|
if self.enabled and not (self.search or self.fetch):
|
|
100
110
|
raise ValueError("启用联网功能时至少需要选择一个 search 或 fetch 服务")
|
|
101
111
|
super().model_post_init(context)
|
|
@@ -15,7 +15,7 @@ from src.core.tooling import (
|
|
|
15
15
|
)
|
|
16
16
|
from src.maisaka.tool_result_store import ToolResultStore, tool_result_store
|
|
17
17
|
|
|
18
|
-
from .config import WebRuntimeConfig
|
|
18
|
+
from .config import WebRuntimeConfig, WebSearchConfigError
|
|
19
19
|
from .models import PageResult, WebSearchError
|
|
20
20
|
from .service import WebSearchService
|
|
21
21
|
|
|
@@ -44,7 +44,8 @@ class WebSearchToolProvider:
|
|
|
44
44
|
specs = []
|
|
45
45
|
annotation = ToolAnnotation(read_only=True, destructive=False, open_world=True)
|
|
46
46
|
if config.search:
|
|
47
|
-
|
|
47
|
+
service = config.services.get(config.search)
|
|
48
|
+
adapter = service.adapter if service is not None else ""
|
|
48
49
|
limit = {"deepseek": 128, "firecrawl": 500}.get(adapter, 1000)
|
|
49
50
|
max_results = 10 if adapter == "anysearch" else 20
|
|
50
51
|
specs.append(
|
|
@@ -139,6 +140,13 @@ class WebSearchToolProvider:
|
|
|
139
140
|
structured_content={**payload, **metadata},
|
|
140
141
|
metadata=metadata,
|
|
141
142
|
)
|
|
143
|
+
except WebSearchConfigError as exc:
|
|
144
|
+
return ToolExecutionResult(
|
|
145
|
+
tool_name=invocation.tool_name,
|
|
146
|
+
success=False,
|
|
147
|
+
error_message=str(exc),
|
|
148
|
+
structured_content={"error_code": exc.code, "message": str(exc)},
|
|
149
|
+
)
|
|
142
150
|
except WebSearchError as exc:
|
|
143
151
|
return ToolExecutionResult(tool_name=invocation.tool_name, success=False, error_message=str(exc))
|
|
144
152
|
|
|
@@ -14,7 +14,7 @@ from .adapters.exa import ExaAdapter
|
|
|
14
14
|
from .adapters.firecrawl import FirecrawlAdapter
|
|
15
15
|
from .adapters.stepsearch import MCPCaller, StepSearchAdapter
|
|
16
16
|
from .adapters.tavily import TavilyAdapter
|
|
17
|
-
from .config import WebRuntimeConfig
|
|
17
|
+
from .config import WebRuntimeConfig, require_web_service
|
|
18
18
|
from .models import PageResult, SearchResult, WebSearchError
|
|
19
19
|
|
|
20
20
|
|
|
@@ -46,9 +46,9 @@ class WebSearchService:
|
|
|
46
46
|
raise WebSearchError("未知联网工具")
|
|
47
47
|
search = invocation.tool_name == "web_search"
|
|
48
48
|
name = config.search if search else config.fetch
|
|
49
|
-
if not name
|
|
49
|
+
if not name:
|
|
50
50
|
raise WebSearchError("当前操作未配置联网服务")
|
|
51
|
-
settings = config
|
|
51
|
+
settings = require_web_service(config, name)
|
|
52
52
|
if settings.adapter == "deepseek":
|
|
53
53
|
adapter = DeepSeekAdapter(settings, self.transport)
|
|
54
54
|
elif settings.adapter == "tavily":
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"""桌宠皮肤管理与首页卡片:读写与校验在工作线程进行,预览不修改当前皮肤。"""
|
|
2
|
+
|
|
3
|
+
from typing import Any, Dict
|
|
4
|
+
from zipfile import BadZipFile
|
|
5
|
+
from fastapi import APIRouter, HTTPException, Request
|
|
6
|
+
from pydantic import BaseModel
|
|
7
|
+
import asyncio
|
|
8
|
+
|
|
9
|
+
from src.common.paths import get_instance_root
|
|
10
|
+
from src.desktop_pet.remote_server import on_main_loop
|
|
11
|
+
from src.desktop_pet.service import desktop_pet_service
|
|
12
|
+
from src.desktop_pet.thinking_caption import fast_model_configured
|
|
13
|
+
from src.desktop_pet.skins import MAX_BYTES, find_skin, install_zip, list_skins
|
|
14
|
+
from src.desktop_pet.todos import TodoStore
|
|
15
|
+
|
|
16
|
+
router = APIRouter(prefix="/desktop-pet", tags=["desktop-pet"])
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@router.get("/skins")
|
|
20
|
+
def skins():
|
|
21
|
+
return list_skins(get_instance_root())
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
@router.get("/skins/{skin_id}")
|
|
25
|
+
def skin(skin_id: str):
|
|
26
|
+
try:
|
|
27
|
+
return find_skin(get_instance_root(), skin_id)
|
|
28
|
+
except (BadZipFile, ValueError, OSError, KeyError, TypeError) as exc:
|
|
29
|
+
raise HTTPException(422, str(exc)) from exc
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
@router.post("/skins")
|
|
33
|
+
async def install(request: Request):
|
|
34
|
+
chunks = []
|
|
35
|
+
size = 0
|
|
36
|
+
async for chunk in request.stream():
|
|
37
|
+
size += len(chunk)
|
|
38
|
+
if size > MAX_BYTES:
|
|
39
|
+
raise HTTPException(413, "皮肤包不能超过 32 MiB")
|
|
40
|
+
chunks.append(chunk)
|
|
41
|
+
try:
|
|
42
|
+
return await asyncio.to_thread(install_zip, get_instance_root(), b"".join(chunks))
|
|
43
|
+
except (BadZipFile, ValueError, OSError, KeyError, TypeError) as exc:
|
|
44
|
+
raise HTTPException(422, str(exc)) from exc
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
@router.get("/capabilities")
|
|
48
|
+
def capabilities():
|
|
49
|
+
return {"fast_model_configured": fast_model_configured()}
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
# ─── 首页桌宠卡片 ─────────────────────────────────────────────
|
|
53
|
+
|
|
54
|
+
TODO_PREVIEW_LIMIT = 20
|
|
55
|
+
CHAT_MAX_LENGTH = 2000
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
class VisibilityBody(BaseModel):
|
|
59
|
+
visible: bool
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class ChatBody(BaseModel):
|
|
63
|
+
text: str
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
def _todo_summary() -> Dict[str, Any]:
|
|
67
|
+
"""读取未完成的待办,只读不写;本机窗口和远端客户端共用同一份待办文件。"""
|
|
68
|
+
path = get_instance_root() / "data" / "plugins" / "sengokucola.desktop-pet" / "todos.json"
|
|
69
|
+
if not path.exists():
|
|
70
|
+
return {"pending": 0, "items": []}
|
|
71
|
+
items = [item for item in TodoStore(path).list() if item["status"] != "completed"]
|
|
72
|
+
preview = [{"id": item["id"], "text": item["text"], "due_at": item.get("due_at")} for item in items]
|
|
73
|
+
return {"pending": len(items), "items": preview[:TODO_PREVIEW_LIMIT]}
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
@router.get("/status")
|
|
77
|
+
async def status():
|
|
78
|
+
state = desktop_pet_service.status()
|
|
79
|
+
try:
|
|
80
|
+
todos = await asyncio.to_thread(_todo_summary)
|
|
81
|
+
except (OSError, ValueError, KeyError, TypeError):
|
|
82
|
+
# 待办文件读不出来时卡片照常显示状态,只是没有待办数
|
|
83
|
+
todos = {"pending": 0, "items": []}
|
|
84
|
+
return {**state, "todos": todos}
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
@router.post("/visibility")
|
|
88
|
+
async def visibility(body: VisibilityBody):
|
|
89
|
+
state = desktop_pet_service.status()
|
|
90
|
+
if not state["enabled"]:
|
|
91
|
+
raise HTTPException(409, "桌宠没有开启")
|
|
92
|
+
if not state["ready"]:
|
|
93
|
+
raise HTTPException(409, "桌宠窗口还没有就绪")
|
|
94
|
+
try:
|
|
95
|
+
return await on_main_loop(lambda: desktop_pet_service.control("show" if body.visible else "hide"))
|
|
96
|
+
except (RuntimeError, ConnectionError, TimeoutError, ValueError) as exc:
|
|
97
|
+
raise HTTPException(409, str(exc)) from exc
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
@router.post("/chat")
|
|
101
|
+
async def chat(body: ChatBody):
|
|
102
|
+
"""首页卡片给桌宠说话:和桌宠窗口里输入一样投递到主人聊天,回复会在桌宠和网页同步显示。"""
|
|
103
|
+
text = body.text.strip()
|
|
104
|
+
if not text:
|
|
105
|
+
raise HTTPException(422, "消息不能为空")
|
|
106
|
+
if len(text) > CHAT_MAX_LENGTH:
|
|
107
|
+
raise HTTPException(422, f"消息不能超过 {CHAT_MAX_LENGTH} 字")
|
|
108
|
+
if not desktop_pet_service.status()["enabled"]:
|
|
109
|
+
raise HTTPException(409, "桌宠没有开启")
|
|
110
|
+
from src.webui.routers.chat.service import relay_plugin_chat_message
|
|
111
|
+
|
|
112
|
+
message_id = await relay_plugin_chat_message("builtin.desktop_pet", text)
|
|
113
|
+
return {"message_id": message_id}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"""内置桌宠配置。"""
|
|
2
|
-
|
|
3
|
-
from typing import Literal
|
|
4
|
-
|
|
5
|
-
from src.config.config_base import ConfigBase, Field
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class DesktopPetConfig(ConfigBase):
|
|
9
|
-
__ui_label__ = "桌宠"
|
|
10
|
-
__ui_order__ = 45
|
|
11
|
-
|
|
12
|
-
enabled: bool = Field(default=False, json_schema_extra={"label": {"zh_CN": "启用桌宠"}})
|
|
13
|
-
"""启用本机桌宠或接受远端桌宠连接,和网页聊天室共用聊天与昵称;支持热重载。"""
|
|
14
|
-
|
|
15
|
-
mode: Literal["local", "remote"] = Field(default="local", json_schema_extra={"label": {"zh_CN": "运行模式"}})
|
|
16
|
-
"""local 在本机 Windows 启动窗口;remote 等待独立 Windows 客户端连接,服务器可使用 Linux。一次连接一台桌宠。"""
|
|
17
|
-
|
|
18
|
-
chat_tools_enabled: bool = Field(default=False, json_schema_extra={"label": {"zh_CN": "聊天流工具"}})
|
|
19
|
-
"""允许桌宠与网页共用的主人聊天查询其他聊天流并唤起传话;不影响图片发送。"""
|
|
20
|
-
|
|
21
|
-
skin_id: str = Field(default="builtin", json_schema_extra={"label": {"zh_CN": "当前皮肤"}})
|
|
22
|
-
"""选择已安装的皮肤 ID;支持热切换,builtin 为内置麦麦。"""
|
|
23
|
-
|
|
24
|
-
show_current_task: bool = Field(
|
|
25
|
-
default=False, json_schema_extra={"label": {"zh_CN": "显示桌宠手中事"}},
|
|
26
|
-
)
|
|
27
|
-
"""在桌宠底部显示当前动作的像素字幕;需单独配置 fast_model,未配置时不可启用。"""
|
|
28
|
-
|
|
29
|
-
proactive_wake_enabled: bool = Field(
|
|
30
|
-
default=False, json_schema_extra={"label": {"zh_CN": "定期主动思考"}},
|
|
31
|
-
)
|
|
32
|
-
"""桌宠运行期间定期唤醒主人聊天流,自主探索并选择是否交流;会调用模型,默认关闭。"""
|
|
33
|
-
|
|
34
|
-
proactive_wake_interval_minutes: int = Field(
|
|
35
|
-
default=30, ge=1, le=1440, json_schema_extra={"label": {"zh_CN": "主动思考间隔(分钟)"}},
|
|
36
|
-
)
|
|
37
|
-
"""每次间隔后触发一次,范围 1~1440 分钟;重启或修改桌宠配置后重新计时,不补跑离线周期。"""
|
|
38
|
-
|
|
39
|
-
screen_read_enabled: bool = Field(
|
|
40
|
-
default=False, json_schema_extra={"label": {"zh_CN": "允许读取桌面"}},
|
|
41
|
-
)
|
|
42
|
-
"""允许主人聊天工具和桌宠按钮截图本机主屏并交给聊天模型理解;截图可能包含屏幕上的私人信息。默认关闭,不授予鼠标键盘控制。"""
|
|
43
|
-
|
|
44
|
-
screen_read_interval_seconds: int = Field(
|
|
45
|
-
default=10, ge=2, le=3600, json_schema_extra={"label": {"zh_CN": "屏幕时间线投递间隔(秒)"}},
|
|
46
|
-
)
|
|
47
|
-
"""按此间隔将有变化的关键帧拼图交给模型,最多 6 帧;无明显变化不重复投递。停止或重启后需手动重新开启。"""
|
|
48
|
-
|
|
49
|
-
screen_sample_interval_seconds: float = Field(
|
|
50
|
-
default=2, ge=0.5, le=30, json_schema_extra={"label": {"zh_CN": "屏幕差异采样间隔(秒)"}},
|
|
51
|
-
)
|
|
52
|
-
"""截图和比较画面的频率,独立于模型调用;有效采样间隔不超过时间线投递间隔。"""
|
|
53
|
-
|
|
54
|
-
screen_change_threshold: float = Field(
|
|
55
|
-
default=0.015, ge=0.001, le=1, json_schema_extra={"label": {"zh_CN": "屏幕变化比例阈值"}},
|
|
56
|
-
)
|
|
57
|
-
"""缩略图中明显变化的像素比例达到阈值才保留,0.015 表示 1.5%;越低越敏感,小面积更新可能被过滤。"""
|