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.
Files changed (1059) hide show
  1. {maibot-1.4.1 → maibot-1.4.2/MaiBot.egg-info}/PKG-INFO +4 -4
  2. {maibot-1.4.1 → maibot-1.4.2}/MaiBot.egg-info/requires.txt +1 -1
  3. {maibot-1.4.1/MaiBot.egg-info → maibot-1.4.2}/PKG-INFO +4 -4
  4. {maibot-1.4.1 → maibot-1.4.2}/README.md +2 -2
  5. {maibot-1.4.1 → maibot-1.4.2}/changelogs/changelog.md +6 -0
  6. {maibot-1.4.1 → maibot-1.4.2}/pyproject.toml +2 -2
  7. {maibot-1.4.1 → maibot-1.4.2}/src/config/config.py +7 -2
  8. maibot-1.4.2/src/desktop_pet/config.py +101 -0
  9. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/service.py +18 -0
  10. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/web.py +6 -2
  11. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/protocol/errors.py +1 -0
  12. {maibot-1.4.1 → maibot-1.4.2}/src/web_search/config.py +22 -12
  13. {maibot-1.4.1 → maibot-1.4.2}/src/web_search/provider.py +10 -2
  14. {maibot-1.4.1 → maibot-1.4.2}/src/web_search/service.py +3 -3
  15. maibot-1.4.2/src/webui/routers/desktop_pet.py +113 -0
  16. maibot-1.4.1/src/desktop_pet/config.py +0 -57
  17. maibot-1.4.1/src/webui/routers/desktop_pet.py +0 -44
  18. {maibot-1.4.1 → maibot-1.4.2}/EULA.md +0 -0
  19. {maibot-1.4.1 → maibot-1.4.2}/LICENSE +0 -0
  20. {maibot-1.4.1 → maibot-1.4.2}/MANIFEST.in +0 -0
  21. {maibot-1.4.1 → maibot-1.4.2}/MaiBot.egg-info/SOURCES.txt +0 -0
  22. {maibot-1.4.1 → maibot-1.4.2}/MaiBot.egg-info/dependency_links.txt +0 -0
  23. {maibot-1.4.1 → maibot-1.4.2}/MaiBot.egg-info/entry_points.txt +0 -0
  24. {maibot-1.4.1 → maibot-1.4.2}/MaiBot.egg-info/top_level.txt +0 -0
  25. {maibot-1.4.1 → maibot-1.4.2}/PRIVACY.md +0 -0
  26. {maibot-1.4.1 → maibot-1.4.2}/locales/en-US/config.json +0 -0
  27. {maibot-1.4.1 → maibot-1.4.2}/locales/en-US/core.json +0 -0
  28. {maibot-1.4.1 → maibot-1.4.2}/locales/en-US/prompts.json +0 -0
  29. {maibot-1.4.1 → maibot-1.4.2}/locales/en-US/startup.json +0 -0
  30. {maibot-1.4.1 → maibot-1.4.2}/locales/ja-JP/config.json +0 -0
  31. {maibot-1.4.1 → maibot-1.4.2}/locales/ja-JP/core.json +0 -0
  32. {maibot-1.4.1 → maibot-1.4.2}/locales/ja-JP/prompts.json +0 -0
  33. {maibot-1.4.1 → maibot-1.4.2}/locales/ja-JP/startup.json +0 -0
  34. {maibot-1.4.1 → maibot-1.4.2}/locales/ko/config.json +0 -0
  35. {maibot-1.4.1 → maibot-1.4.2}/locales/ko/core.json +0 -0
  36. {maibot-1.4.1 → maibot-1.4.2}/locales/ko/prompts.json +0 -0
  37. {maibot-1.4.1 → maibot-1.4.2}/locales/ko/startup.json +0 -0
  38. {maibot-1.4.1 → maibot-1.4.2}/locales/zh-CN/config.json +0 -0
  39. {maibot-1.4.1 → maibot-1.4.2}/locales/zh-CN/core.json +0 -0
  40. {maibot-1.4.1 → maibot-1.4.2}/locales/zh-CN/prompts.json +0 -0
  41. {maibot-1.4.1 → maibot-1.4.2}/locales/zh-CN/startup.json +0 -0
  42. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/.meta.toml +0 -0
  43. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/a_memorix_chat_summary.prompt +0 -0
  44. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/a_memorix_fact_deduplication.prompt +0 -0
  45. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/agent_acp.prompt +0 -0
  46. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/agent_acp_environment.prompt +0 -0
  47. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/agent_acp_failure.prompt +0 -0
  48. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/agent_planner.prompt +0 -0
  49. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/agent_planner_continue.prompt +0 -0
  50. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/agent_planner_resume.prompt +0 -0
  51. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/context_compaction.prompt +0 -0
  52. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/context_compaction_focus.prompt +0 -0
  53. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/desktop_pet_exploration.prompt +0 -0
  54. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/desktop_pet_exploration_reuse.prompt +0 -0
  55. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/desktop_pet_proactive_wake.prompt +0 -0
  56. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/desktop_pet_screen_read.prompt +0 -0
  57. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/desktop_pet_thinking_caption.prompt +0 -0
  58. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/desktop_pet_todo_context.prompt +0 -0
  59. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/emoji_content_analysis.prompt +0 -0
  60. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/emoji_content_filtration.prompt +0 -0
  61. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/emoji_grouped_tags.prompt +0 -0
  62. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/emoji_replace.prompt +0 -0
  63. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/expression_evaluation.prompt +0 -0
  64. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/heuristic_memory_impression.prompt +0 -0
  65. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/image_description.prompt +0 -0
  66. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/jargon_compare_inference.prompt +0 -0
  67. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/jargon_inference_content_only.prompt +0 -0
  68. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/jargon_inference_with_context.prompt +0 -0
  69. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/learn_jargon.prompt +0 -0
  70. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/learn_style.prompt +0 -0
  71. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/maisaka_chat.prompt +0 -0
  72. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/maisaka_chat_focus.prompt +0 -0
  73. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/maisaka_chat_passive.prompt +0 -0
  74. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/maisaka_expression_selector.prompt +0 -0
  75. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/maisaka_replyer.prompt +0 -0
  76. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/maisaka_replyer_document.prompt +0 -0
  77. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/maisaka_wait_reminder.prompt +0 -0
  78. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/memory_fuzzy_modify_plan.prompt +0 -0
  79. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/planner_reply_capabilities.prompt +0 -0
  80. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/reply_attachments.prompt +0 -0
  81. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/reply_cache.prompt +0 -0
  82. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/reply_supplement.prompt +0 -0
  83. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/reply_supplement_retry.prompt +0 -0
  84. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/retro_private_replyer.prompt +0 -0
  85. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/retro_private_replyer_self.prompt +0 -0
  86. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/retro_replyer.prompt +0 -0
  87. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/retro_replyer_light.prompt +0 -0
  88. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/text_learning_expression.prompt +0 -0
  89. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/text_learning_jargon.prompt +0 -0
  90. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/webui_ai_search.prompt +0 -0
  91. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/webui_ai_search_correction.prompt +0 -0
  92. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/webui_ai_search_evidence.prompt +0 -0
  93. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/webui_ai_search_final.prompt +0 -0
  94. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/webui_ai_search_input.prompt +0 -0
  95. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/webui_help_skill_develop.prompt +0 -0
  96. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/webui_help_skill_plugin.prompt +0 -0
  97. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/webui_help_skill_setup.prompt +0 -0
  98. {maibot-1.4.1 → maibot-1.4.2}/prompts/en-US/webui_help_skill_troubleshoot.prompt +0 -0
  99. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/.meta.toml +0 -0
  100. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/a_memorix_chat_summary.prompt +0 -0
  101. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/a_memorix_fact_deduplication.prompt +0 -0
  102. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/agent_acp.prompt +0 -0
  103. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/agent_acp_environment.prompt +0 -0
  104. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/agent_acp_failure.prompt +0 -0
  105. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/agent_planner.prompt +0 -0
  106. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/agent_planner_continue.prompt +0 -0
  107. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/agent_planner_resume.prompt +0 -0
  108. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/context_compaction.prompt +0 -0
  109. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/context_compaction_focus.prompt +0 -0
  110. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/desktop_pet_exploration.prompt +0 -0
  111. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/desktop_pet_exploration_reuse.prompt +0 -0
  112. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/desktop_pet_proactive_wake.prompt +0 -0
  113. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/desktop_pet_screen_read.prompt +0 -0
  114. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/desktop_pet_thinking_caption.prompt +0 -0
  115. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/desktop_pet_todo_context.prompt +0 -0
  116. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/emoji_content_analysis.prompt +0 -0
  117. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/emoji_content_filtration.prompt +0 -0
  118. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/emoji_grouped_tags.prompt +0 -0
  119. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/emoji_replace.prompt +0 -0
  120. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/expression_evaluation.prompt +0 -0
  121. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/heuristic_memory_impression.prompt +0 -0
  122. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/image_description.prompt +0 -0
  123. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/jargon_compare_inference.prompt +0 -0
  124. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/jargon_inference_content_only.prompt +0 -0
  125. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/jargon_inference_with_context.prompt +0 -0
  126. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/learn_jargon.prompt +0 -0
  127. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/learn_style.prompt +0 -0
  128. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/maisaka_chat.prompt +0 -0
  129. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/maisaka_chat_focus.prompt +0 -0
  130. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/maisaka_chat_passive.prompt +0 -0
  131. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/maisaka_expression_selector.prompt +0 -0
  132. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/maisaka_replyer.prompt +0 -0
  133. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/maisaka_replyer_document.prompt +0 -0
  134. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/maisaka_wait_reminder.prompt +0 -0
  135. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/memory_fuzzy_modify_plan.prompt +0 -0
  136. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/planner_reply_capabilities.prompt +0 -0
  137. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/reply_attachments.prompt +0 -0
  138. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/reply_cache.prompt +0 -0
  139. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/reply_supplement.prompt +0 -0
  140. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/reply_supplement_retry.prompt +0 -0
  141. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/retro_private_replyer.prompt +0 -0
  142. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/retro_private_replyer_self.prompt +0 -0
  143. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/retro_replyer.prompt +0 -0
  144. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/retro_replyer_light.prompt +0 -0
  145. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/text_learning_expression.prompt +0 -0
  146. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/text_learning_jargon.prompt +0 -0
  147. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/webui_ai_search.prompt +0 -0
  148. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/webui_ai_search_correction.prompt +0 -0
  149. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/webui_ai_search_evidence.prompt +0 -0
  150. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/webui_ai_search_final.prompt +0 -0
  151. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/webui_ai_search_input.prompt +0 -0
  152. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/webui_help_skill_develop.prompt +0 -0
  153. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/webui_help_skill_plugin.prompt +0 -0
  154. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/webui_help_skill_setup.prompt +0 -0
  155. {maibot-1.4.1 → maibot-1.4.2}/prompts/ja-JP/webui_help_skill_troubleshoot.prompt +0 -0
  156. {maibot-1.4.1 → maibot-1.4.2}/prompts/ko/.meta.toml +0 -0
  157. {maibot-1.4.1 → maibot-1.4.2}/prompts/ko/reply_attachments.prompt +0 -0
  158. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/.meta.toml +0 -0
  159. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/a_memorix_chat_summary.prompt +0 -0
  160. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/a_memorix_fact_deduplication.prompt +0 -0
  161. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/agent_acp.prompt +0 -0
  162. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/agent_acp_environment.prompt +0 -0
  163. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/agent_acp_failure.prompt +0 -0
  164. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/agent_planner.prompt +0 -0
  165. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/agent_planner_continue.prompt +0 -0
  166. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/agent_planner_resume.prompt +0 -0
  167. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/context_compaction.prompt +0 -0
  168. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/context_compaction_focus.prompt +0 -0
  169. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/desktop_pet_exploration.prompt +0 -0
  170. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/desktop_pet_exploration_reuse.prompt +0 -0
  171. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/desktop_pet_proactive_wake.prompt +0 -0
  172. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/desktop_pet_screen_read.prompt +0 -0
  173. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/desktop_pet_thinking_caption.prompt +0 -0
  174. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/desktop_pet_todo_context.prompt +0 -0
  175. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/emoji_content_analysis.prompt +0 -0
  176. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/emoji_content_filtration.prompt +0 -0
  177. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/emoji_grouped_tags.prompt +0 -0
  178. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/emoji_replace.prompt +0 -0
  179. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/expression_evaluation.prompt +0 -0
  180. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/heuristic_memory_impression.prompt +0 -0
  181. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/image_description.prompt +0 -0
  182. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/jargon_compare_inference.prompt +0 -0
  183. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/jargon_inference_content_only.prompt +0 -0
  184. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/jargon_inference_with_context.prompt +0 -0
  185. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/learn_jargon.prompt +0 -0
  186. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/learn_style.prompt +0 -0
  187. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/maisaka_chat.prompt +0 -0
  188. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/maisaka_chat_focus.prompt +0 -0
  189. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/maisaka_chat_passive.prompt +0 -0
  190. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/maisaka_expression_selector.prompt +0 -0
  191. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/maisaka_replyer.prompt +0 -0
  192. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/maisaka_replyer_document.prompt +0 -0
  193. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/maisaka_wait_reminder.prompt +0 -0
  194. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/memory_fuzzy_modify_plan.prompt +0 -0
  195. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/planner_reply_capabilities.prompt +0 -0
  196. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/reply_attachments.prompt +0 -0
  197. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/reply_cache.prompt +0 -0
  198. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/reply_supplement.prompt +0 -0
  199. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/reply_supplement_retry.prompt +0 -0
  200. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/retro_private_replyer.prompt +0 -0
  201. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/retro_private_replyer_self.prompt +0 -0
  202. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/retro_replyer.prompt +0 -0
  203. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/retro_replyer_light.prompt +0 -0
  204. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/text_learning_expression.prompt +0 -0
  205. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/text_learning_jargon.prompt +0 -0
  206. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/webui_ai_search.prompt +0 -0
  207. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/webui_ai_search_correction.prompt +0 -0
  208. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/webui_ai_search_evidence.prompt +0 -0
  209. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/webui_ai_search_final.prompt +0 -0
  210. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/webui_ai_search_input.prompt +0 -0
  211. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/webui_help_skill_develop.prompt +0 -0
  212. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/webui_help_skill_plugin.prompt +0 -0
  213. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/webui_help_skill_setup.prompt +0 -0
  214. {maibot-1.4.1 → maibot-1.4.2}/prompts/zh-CN/webui_help_skill_troubleshoot.prompt +0 -0
  215. {maibot-1.4.1 → maibot-1.4.2}/setup.cfg +0 -0
  216. {maibot-1.4.1 → maibot-1.4.2}/setup.py +0 -0
  217. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/LICENSE +0 -0
  218. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/LICENSE-MAIBOT-GPL.md +0 -0
  219. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/__init__.py +0 -0
  220. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/config_schema.json +0 -0
  221. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/__init__.py +0 -0
  222. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/embedding/__init__.py +0 -0
  223. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/embedding/api_adapter.py +0 -0
  224. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/embedding/manager.py +0 -0
  225. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/embedding/presets.py +0 -0
  226. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/image/__init__.py +0 -0
  227. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/image/asset_store.py +0 -0
  228. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/image/component_paths.py +0 -0
  229. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/image/embedder.py +0 -0
  230. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/image/fingerprints.py +0 -0
  231. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/image/runtime.py +0 -0
  232. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/retrieval/__init__.py +0 -0
  233. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/retrieval/dual_path.py +0 -0
  234. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/retrieval/graph_relation_recall.py +0 -0
  235. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/retrieval/pagerank.py +0 -0
  236. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/retrieval/posterior_graph.py +0 -0
  237. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/retrieval/score_calibration.py +0 -0
  238. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/retrieval/sparse_bm25.py +0 -0
  239. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/retrieval/threshold.py +0 -0
  240. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/__init__.py +0 -0
  241. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/admin_contracts.py +0 -0
  242. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/kernel_compat.py +0 -0
  243. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/lifecycle_orchestrator.py +0 -0
  244. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/models.py +0 -0
  245. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/runtime_facade.py +0 -0
  246. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/runtime_writer_lock.py +0 -0
  247. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/sdk_memory_kernel.py +0 -0
  248. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/search_runtime_initializer.py +0 -0
  249. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/__init__.py +0 -0
  250. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/background_task_service.py +0 -0
  251. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/base.py +0 -0
  252. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/bundle_admin_service.py +0 -0
  253. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/chat_filter_service.py +0 -0
  254. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/correction_admin_service.py +0 -0
  255. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/delete_admin_service.py +0 -0
  256. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/dual_vector_migration_service.py +0 -0
  257. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/dual_vector_state_service.py +0 -0
  258. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/embedding_state_service.py +0 -0
  259. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/episode_admin_service.py +0 -0
  260. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/fact_admin_service.py +0 -0
  261. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/feedback_correction_service.py +0 -0
  262. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/graph_admin_service.py +0 -0
  263. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/image_service.py +0 -0
  264. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/import_tuning_admin_service.py +0 -0
  265. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/ingest_service.py +0 -0
  266. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/memory_maintenance_service.py +0 -0
  267. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/memory_search_service.py +0 -0
  268. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/profile_admin_service.py +0 -0
  269. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/request_dedup_service.py +0 -0
  270. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/runtime_config_service.py +0 -0
  271. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/runtime_dependency_service.py +0 -0
  272. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/runtime_lifecycle_service.py +0 -0
  273. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/search_hit_processing_service.py +0 -0
  274. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/source_admin_service.py +0 -0
  275. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/stats_service.py +0 -0
  276. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/summary_service.py +0 -0
  277. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/v5_admin_service.py +0 -0
  278. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/vector_delete_service.py +0 -0
  279. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/vector_rebuild_checkpoint.py +0 -0
  280. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/vector_recovery_service.py +0 -0
  281. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/vector_runtime_service.py +0 -0
  282. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/runtime/services/vector_space_service.py +0 -0
  283. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/__init__.py +0 -0
  284. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/format_migration.py +0 -0
  285. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/graph_store.py +0 -0
  286. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/knowledge_types.py +0 -0
  287. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_cleanup.py +0 -0
  288. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_episode.py +0 -0
  289. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_fact.py +0 -0
  290. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_feedback.py +0 -0
  291. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_fts.py +0 -0
  292. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_identity.py +0 -0
  293. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_image.py +0 -0
  294. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_profile.py +0 -0
  295. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_schema.py +0 -0
  296. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/metadata_store.py +0 -0
  297. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/sqlite_connection.py +0 -0
  298. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/tokenizer_runtime.py +0 -0
  299. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/transaction.py +0 -0
  300. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/type_detection.py +0 -0
  301. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/value_coercion.py +0 -0
  302. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/storage/vector_store.py +0 -0
  303. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/strategies/__init__.py +0 -0
  304. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/strategies/base.py +0 -0
  305. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/strategies/chat_log.py +0 -0
  306. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/strategies/factual.py +0 -0
  307. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/strategies/narrative.py +0 -0
  308. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/strategies/quote.py +0 -0
  309. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/__init__.py +0 -0
  310. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/aggregate_query_service.py +0 -0
  311. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/episode_retrieval_service.py +0 -0
  312. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/episode_segmentation_service.py +0 -0
  313. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/episode_service.py +0 -0
  314. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/fact_deduplication.py +0 -0
  315. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/feedback_policy.py +0 -0
  316. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/hash.py +0 -0
  317. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/import_payloads.py +0 -0
  318. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/io.py +0 -0
  319. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/matcher.py +0 -0
  320. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/memory_lifecycle_policy.py +0 -0
  321. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/metadata.py +0 -0
  322. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/model_routing.py +0 -0
  323. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/monitor.py +0 -0
  324. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/path_fallback_service.py +0 -0
  325. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/person_profile_service.py +0 -0
  326. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/plugin_id_policy.py +0 -0
  327. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/profile_evidence.py +0 -0
  328. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/profile_policy.py +0 -0
  329. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/profile_text.py +0 -0
  330. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/quantization.py +0 -0
  331. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/relation_query.py +0 -0
  332. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/relation_write_service.py +0 -0
  333. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/retrieval_tuning_manager.py +0 -0
  334. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/runtime_payloads.py +0 -0
  335. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/runtime_self_check.py +0 -0
  336. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/search_execution_service.py +0 -0
  337. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/search_postprocess.py +0 -0
  338. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/summary_identity.py +0 -0
  339. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/summary_importer.py +0 -0
  340. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/time_parser.py +0 -0
  341. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/core/utils/web_import_manager.py +0 -0
  342. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/host_service.py +0 -0
  343. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/paths.py +0 -0
  344. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/plugin.py +0 -0
  345. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/runtime_registry.py +0 -0
  346. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/_bootstrap.py +0 -0
  347. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/audit_vector_consistency.py +0 -0
  348. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/backfill_relation_vectors.py +0 -0
  349. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/backfill_temporal_metadata.py +0 -0
  350. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/convert_lpmm.py +0 -0
  351. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/import_lpmm_json.py +0 -0
  352. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/migrate_chat_history.py +0 -0
  353. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/migrate_maibot_memory.py +0 -0
  354. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/migrate_person_memory_points.py +0 -0
  355. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/process_knowledge.py +0 -0
  356. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/rebuild_episodes.py +0 -0
  357. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/release_vnext_migrate.py +0 -0
  358. {maibot-1.4.1 → maibot-1.4.2}/src/A_memorix/scripts/runtime_self_check.py +0 -0
  359. {maibot-1.4.1 → maibot-1.4.2}/src/__init__.py +0 -0
  360. {maibot-1.4.1 → maibot-1.4.2}/src/agent/__init__.py +0 -0
  361. {maibot-1.4.1 → maibot-1.4.2}/src/agent/acp.py +0 -0
  362. {maibot-1.4.1 → maibot-1.4.2}/src/agent/acp_agent.py +0 -0
  363. {maibot-1.4.1 → maibot-1.4.2}/src/agent/config.py +0 -0
  364. {maibot-1.4.1 → maibot-1.4.2}/src/agent/history.py +0 -0
  365. {maibot-1.4.1 → maibot-1.4.2}/src/agent/images.py +0 -0
  366. {maibot-1.4.1 → maibot-1.4.2}/src/agent/mcp_server.py +0 -0
  367. {maibot-1.4.1 → maibot-1.4.2}/src/agent/messaging.py +0 -0
  368. {maibot-1.4.1 → maibot-1.4.2}/src/agent/planner.py +0 -0
  369. {maibot-1.4.1 → maibot-1.4.2}/src/agent/planner_state.py +0 -0
  370. {maibot-1.4.1 → maibot-1.4.2}/src/agent/provider.py +0 -0
  371. {maibot-1.4.1 → maibot-1.4.2}/src/agent/service.py +0 -0
  372. {maibot-1.4.1 → maibot-1.4.2}/src/chat/__init__.py +0 -0
  373. {maibot-1.4.1 → maibot-1.4.2}/src/chat/debounce/__init__.py +0 -0
  374. {maibot-1.4.1 → maibot-1.4.2}/src/chat/debounce/controller.py +0 -0
  375. {maibot-1.4.1 → maibot-1.4.2}/src/chat/debounce/message_adapter.py +0 -0
  376. {maibot-1.4.1 → maibot-1.4.2}/src/chat/heart_flow/heartFC_utils.py +0 -0
  377. {maibot-1.4.1 → maibot-1.4.2}/src/chat/heart_flow/heartflow_manager.py +0 -0
  378. {maibot-1.4.1 → maibot-1.4.2}/src/chat/heart_flow/heartflow_message_processor.py +0 -0
  379. {maibot-1.4.1 → maibot-1.4.2}/src/chat/image_system/image_cache_cleanup.py +0 -0
  380. {maibot-1.4.1 → maibot-1.4.2}/src/chat/image_system/image_manager.py +0 -0
  381. {maibot-1.4.1 → maibot-1.4.2}/src/chat/message_receive/__init__.py +0 -0
  382. {maibot-1.4.1 → maibot-1.4.2}/src/chat/message_receive/bot.py +0 -0
  383. {maibot-1.4.1 → maibot-1.4.2}/src/chat/message_receive/chat_manager.py +0 -0
  384. {maibot-1.4.1 → maibot-1.4.2}/src/chat/message_receive/image_receive_compressor.py +0 -0
  385. {maibot-1.4.1 → maibot-1.4.2}/src/chat/message_receive/message.py +0 -0
  386. {maibot-1.4.1 → maibot-1.4.2}/src/chat/message_receive/uni_message_sender.py +0 -0
  387. {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/creative_language.py +0 -0
  388. {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/document_generator.py +0 -0
  389. {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/expression_vector_index.py +0 -0
  390. {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/expression_vector_storage.py +0 -0
  391. {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/gemini_output.py +0 -0
  392. {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/maisaka_expression_selector.py +0 -0
  393. {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/maisaka_generator.py +0 -0
  394. {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/maisaka_generator_base.py +0 -0
  395. {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/reply_cache.py +0 -0
  396. {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/replyer_manager.py +0 -0
  397. {maibot-1.4.1 → maibot-1.4.2}/src/chat/replyer/retro_prompt.py +0 -0
  398. {maibot-1.4.1 → maibot-1.4.2}/src/chat/utils/llm_sentence_splitter.py +0 -0
  399. {maibot-1.4.1 → maibot-1.4.2}/src/chat/utils/statistic.py +0 -0
  400. {maibot-1.4.1 → maibot-1.4.2}/src/chat/utils/statistics_timeseries.py +0 -0
  401. {maibot-1.4.1 → maibot-1.4.2}/src/chat/utils/utils.py +0 -0
  402. {maibot-1.4.1 → maibot-1.4.2}/src/cli/__init__.py +0 -0
  403. {maibot-1.4.1 → maibot-1.4.2}/src/cli/bot_console.py +0 -0
  404. {maibot-1.4.1 → maibot-1.4.2}/src/cli/console.py +0 -0
  405. {maibot-1.4.1 → maibot-1.4.2}/src/cli/input_reader.py +0 -0
  406. {maibot-1.4.1 → maibot-1.4.2}/src/cli/maisaka_cli.py +0 -0
  407. {maibot-1.4.1 → maibot-1.4.2}/src/cli/maisaka_cli_sender.py +0 -0
  408. {maibot-1.4.1 → maibot-1.4.2}/src/cli/tool.py +0 -0
  409. {maibot-1.4.1 → maibot-1.4.2}/src/common/__init__.py +0 -0
  410. {maibot-1.4.1 → maibot-1.4.2}/src/common/async_work.py +0 -0
  411. {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/__init__.py +0 -0
  412. {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/chat_session_data_model.py +0 -0
  413. {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/chat_target_info_data_model.py +0 -0
  414. {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/embedding_service_data_models.py +0 -0
  415. {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/expression_data_model.py +0 -0
  416. {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/image_data_model.py +0 -0
  417. {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/jargon_data_model.py +0 -0
  418. {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/llm_data_model.py +0 -0
  419. {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/llm_service_data_models.py +0 -0
  420. {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/mai_message_data_model.py +0 -0
  421. {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/message_component_data_model.py +0 -0
  422. {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/person_info_data_model.py +0 -0
  423. {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/reply_generation_data_models.py +0 -0
  424. {maibot-1.4.1 → maibot-1.4.2}/src/common/data_models/tool_record_data_model.py +0 -0
  425. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/__init__.py +0 -0
  426. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/database.py +0 -0
  427. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/database_model.py +0 -0
  428. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/__init__.py +0 -0
  429. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/behavior_generic_tags.py +0 -0
  430. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/bootstrap.py +0 -0
  431. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/builtin.py +0 -0
  432. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/exceptions.py +0 -0
  433. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/frozen_v2_schema.py +0 -0
  434. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/legacy_v1_to_v2.py +0 -0
  435. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/manager.py +0 -0
  436. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/models.py +0 -0
  437. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/planner.py +0 -0
  438. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/progress.py +0 -0
  439. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/registry.py +0 -0
  440. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/resolver.py +0 -0
  441. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/schema.py +0 -0
  442. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v10_to_v11.py +0 -0
  443. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v11_to_v12.py +0 -0
  444. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v12_to_v13.py +0 -0
  445. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v13_to_v14.py +0 -0
  446. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v14_to_v15.py +0 -0
  447. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v15_to_v16.py +0 -0
  448. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v16_to_v17.py +0 -0
  449. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v17_to_v18.py +0 -0
  450. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v18_to_v19.py +0 -0
  451. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v19_to_v20.py +0 -0
  452. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v20_to_v21.py +0 -0
  453. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v21_to_v22.py +0 -0
  454. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v22_to_v23.py +0 -0
  455. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v23_to_v24.py +0 -0
  456. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v24_to_v25.py +0 -0
  457. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v25_to_v26.py +0 -0
  458. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v26_to_v27.py +0 -0
  459. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v27_to_v28.py +0 -0
  460. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v28_to_v29.py +0 -0
  461. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v29_to_v30.py +0 -0
  462. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v2_to_v3.py +0 -0
  463. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v30_to_v31.py +0 -0
  464. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v31_to_v32.py +0 -0
  465. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v32_to_v33.py +0 -0
  466. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v33_to_v34.py +0 -0
  467. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v34_to_v35.py +0 -0
  468. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v35_to_v36.py +0 -0
  469. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v36_to_v37.py +0 -0
  470. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v37_to_v38.py +0 -0
  471. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v38_to_v39.py +0 -0
  472. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v39_to_v40.py +0 -0
  473. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v3_to_v4.py +0 -0
  474. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v40_to_v41.py +0 -0
  475. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v41_to_v42.py +0 -0
  476. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v42_to_v43.py +0 -0
  477. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v43_to_v44.py +0 -0
  478. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v44_to_v45.py +0 -0
  479. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v45_to_v46.py +0 -0
  480. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v46_to_v47.py +0 -0
  481. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v47_to_v48.py +0 -0
  482. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v4_to_v5.py +0 -0
  483. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v5_to_v6.py +0 -0
  484. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v6_to_v7.py +0 -0
  485. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v7_to_v8.py +0 -0
  486. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v8_to_v9.py +0 -0
  487. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/v9_to_v10.py +0 -0
  488. {maibot-1.4.1 → maibot-1.4.2}/src/common/database/migrations/version_store.py +0 -0
  489. {maibot-1.4.1 → maibot-1.4.2}/src/common/embedding_identity.py +0 -0
  490. {maibot-1.4.1 → maibot-1.4.2}/src/common/event_loop_watchdog.py +0 -0
  491. {maibot-1.4.1 → maibot-1.4.2}/src/common/exceptions.py +0 -0
  492. {maibot-1.4.1 → maibot-1.4.2}/src/common/git_source.py +0 -0
  493. {maibot-1.4.1 → maibot-1.4.2}/src/common/http_client.py +0 -0
  494. {maibot-1.4.1 → maibot-1.4.2}/src/common/http_service/__init__.py +0 -0
  495. {maibot-1.4.1 → maibot-1.4.2}/src/common/http_service/app.py +0 -0
  496. {maibot-1.4.1 → maibot-1.4.2}/src/common/http_service/console.py +0 -0
  497. {maibot-1.4.1 → maibot-1.4.2}/src/common/http_service/maim.py +0 -0
  498. {maibot-1.4.1 → maibot-1.4.2}/src/common/http_service/server.py +0 -0
  499. {maibot-1.4.1 → maibot-1.4.2}/src/common/i18n/__init__.py +0 -0
  500. {maibot-1.4.1 → maibot-1.4.2}/src/common/i18n/exceptions.py +0 -0
  501. {maibot-1.4.1 → maibot-1.4.2}/src/common/i18n/formatting.py +0 -0
  502. {maibot-1.4.1 → maibot-1.4.2}/src/common/i18n/loaders.py +0 -0
  503. {maibot-1.4.1 → maibot-1.4.2}/src/common/i18n/manager.py +0 -0
  504. {maibot-1.4.1 → maibot-1.4.2}/src/common/ipc.py +0 -0
  505. {maibot-1.4.1 → maibot-1.4.2}/src/common/json_storage.py +0 -0
  506. {maibot-1.4.1 → maibot-1.4.2}/src/common/llm_json.py +0 -0
  507. {maibot-1.4.1 → maibot-1.4.2}/src/common/logger.py +0 -0
  508. {maibot-1.4.1 → maibot-1.4.2}/src/common/logger_color_and_mapping.py +0 -0
  509. {maibot-1.4.1 → maibot-1.4.2}/src/common/memory_diagnostics.py +0 -0
  510. {maibot-1.4.1 → maibot-1.4.2}/src/common/message_repository.py +0 -0
  511. {maibot-1.4.1 → maibot-1.4.2}/src/common/message_server/__init__.py +0 -0
  512. {maibot-1.4.1 → maibot-1.4.2}/src/common/message_server/api.py +0 -0
  513. {maibot-1.4.1 → maibot-1.4.2}/src/common/network_security.py +0 -0
  514. {maibot-1.4.1 → maibot-1.4.2}/src/common/operation_timing.py +0 -0
  515. {maibot-1.4.1 → maibot-1.4.2}/src/common/package_update.py +0 -0
  516. {maibot-1.4.1 → maibot-1.4.2}/src/common/paths.py +0 -0
  517. {maibot-1.4.1 → maibot-1.4.2}/src/common/process_lease.py +0 -0
  518. {maibot-1.4.1 → maibot-1.4.2}/src/common/prompt_i18n.py +0 -0
  519. {maibot-1.4.1 → maibot-1.4.2}/src/common/python_process.py +0 -0
  520. {maibot-1.4.1 → maibot-1.4.2}/src/common/remote.py +0 -0
  521. {maibot-1.4.1 → maibot-1.4.2}/src/common/reply_effect_fingerprint.py +0 -0
  522. {maibot-1.4.1 → maibot-1.4.2}/src/common/reply_effect_record_codec.py +0 -0
  523. {maibot-1.4.1 → maibot-1.4.2}/src/common/runtime_context.py +0 -0
  524. {maibot-1.4.1 → maibot-1.4.2}/src/common/runtime_loop.py +0 -0
  525. {maibot-1.4.1 → maibot-1.4.2}/src/common/self_update.py +0 -0
  526. {maibot-1.4.1 → maibot-1.4.2}/src/common/shutdown.py +0 -0
  527. {maibot-1.4.1 → maibot-1.4.2}/src/common/shutdown_diagnostics.py +0 -0
  528. {maibot-1.4.1 → maibot-1.4.2}/src/common/startup_diagnostics.py +0 -0
  529. {maibot-1.4.1 → maibot-1.4.2}/src/common/update_notice.py +0 -0
  530. {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/image_path.py +0 -0
  531. {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/math_utils.py +0 -0
  532. {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/port_checker.py +0 -0
  533. {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/system_utils.py +0 -0
  534. {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/utils_action.py +0 -0
  535. {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/utils_config.py +0 -0
  536. {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/utils_file.py +0 -0
  537. {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/utils_image.py +0 -0
  538. {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/utils_message.py +0 -0
  539. {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/utils_person.py +0 -0
  540. {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/utils_session.py +0 -0
  541. {maibot-1.4.1 → maibot-1.4.2}/src/common/utils/utils_voice.py +0 -0
  542. {maibot-1.4.1 → maibot-1.4.2}/src/common/version.py +0 -0
  543. {maibot-1.4.1 → maibot-1.4.2}/src/config/__init__.py +0 -0
  544. {maibot-1.4.1 → maibot-1.4.2}/src/config/builtin_typo_migration.py +0 -0
  545. {maibot-1.4.1 → maibot-1.4.2}/src/config/config_base.py +0 -0
  546. {maibot-1.4.1 → maibot-1.4.2}/src/config/config_upgrade_hooks.py +0 -0
  547. {maibot-1.4.1 → maibot-1.4.2}/src/config/config_utils.py +0 -0
  548. {maibot-1.4.1 → maibot-1.4.2}/src/config/default_model_config.py +0 -0
  549. {maibot-1.4.1 → maibot-1.4.2}/src/config/file_watcher.py +0 -0
  550. {maibot-1.4.1 → maibot-1.4.2}/src/config/legacy_migration.py +0 -0
  551. {maibot-1.4.1 → maibot-1.4.2}/src/config/legacy_upgrade_confirmation.py +0 -0
  552. {maibot-1.4.1 → maibot-1.4.2}/src/config/model_configs.py +0 -0
  553. {maibot-1.4.1 → maibot-1.4.2}/src/config/official_configs.py +0 -0
  554. {maibot-1.4.1 → maibot-1.4.2}/src/config/personality_service.py +0 -0
  555. {maibot-1.4.1 → maibot-1.4.2}/src/config/shared_models.py +0 -0
  556. {maibot-1.4.1 → maibot-1.4.2}/src/config/shared_settings.py +0 -0
  557. {maibot-1.4.1 → maibot-1.4.2}/src/core/__init__.py +0 -0
  558. {maibot-1.4.1 → maibot-1.4.2}/src/core/announcement_manager.py +0 -0
  559. {maibot-1.4.1 → maibot-1.4.2}/src/core/chat_pause.py +0 -0
  560. {maibot-1.4.1 → maibot-1.4.2}/src/core/commands/__init__.py +0 -0
  561. {maibot-1.4.1 → maibot-1.4.2}/src/core/commands/command_catalog.py +0 -0
  562. {maibot-1.4.1 → maibot-1.4.2}/src/core/commands/plugin_management.py +0 -0
  563. {maibot-1.4.1 → maibot-1.4.2}/src/core/commands/pm_aliases.py +0 -0
  564. {maibot-1.4.1 → maibot-1.4.2}/src/core/config_types.py +0 -0
  565. {maibot-1.4.1 → maibot-1.4.2}/src/core/event_bus.py +0 -0
  566. {maibot-1.4.1 → maibot-1.4.2}/src/core/internal_chat.py +0 -0
  567. {maibot-1.4.1 → maibot-1.4.2}/src/core/local_operator.py +0 -0
  568. {maibot-1.4.1 → maibot-1.4.2}/src/core/plugin_usage.py +0 -0
  569. {maibot-1.4.1 → maibot-1.4.2}/src/core/tooling.py +0 -0
  570. {maibot-1.4.1 → maibot-1.4.2}/src/core/types.py +0 -0
  571. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/LICENSE +0 -0
  572. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/__init__.py +0 -0
  573. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/app_conditions.py +0 -0
  574. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/attachments.py +0 -0
  575. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/chat_tools.py +0 -0
  576. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/clipboard.py +0 -0
  577. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/exploration.py +0 -0
  578. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/exploration_results.py +0 -0
  579. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/exploration_search.py +0 -0
  580. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/exploration_tools.py +0 -0
  581. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/hooks.py +0 -0
  582. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/pet_window.py +0 -0
  583. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/remote_protocol.py +0 -0
  584. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/remote_server.py +0 -0
  585. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/rendering.py +0 -0
  586. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/screen.py +0 -0
  587. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/screen_tools.py +0 -0
  588. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/skins.py +0 -0
  589. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/thinking_caption.py +0 -0
  590. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/todo_context.py +0 -0
  591. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/todo_dispatch.py +0 -0
  592. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/todo_tools.py +0 -0
  593. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/todos.py +0 -0
  594. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/web/exploration-products.css +0 -0
  595. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/web/exploration-render.js +0 -0
  596. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/web/exploration.html +0 -0
  597. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/web/fonts/ArkPixel-OFL.txt +0 -0
  598. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/web/fonts/ArkPixel12-ZhHans.woff2 +0 -0
  599. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/web/host-bridge.js +0 -0
  600. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/web/index.html +0 -0
  601. {maibot-1.4.1 → maibot-1.4.2}/src/desktop_pet/web/skin.js +0 -0
  602. {maibot-1.4.1 → maibot-1.4.2}/src/emoji_system/emoji_cache_cleanup.py +0 -0
  603. {maibot-1.4.1 → maibot-1.4.2}/src/emoji_system/emoji_manager.py +0 -0
  604. {maibot-1.4.1 → maibot-1.4.2}/src/emoji_system/semantic_match.py +0 -0
  605. {maibot-1.4.1 → maibot-1.4.2}/src/files/__init__.py +0 -0
  606. {maibot-1.4.1 → maibot-1.4.2}/src/files/capability.py +0 -0
  607. {maibot-1.4.1 → maibot-1.4.2}/src/files/config.py +0 -0
  608. {maibot-1.4.1 → maibot-1.4.2}/src/files/http.py +0 -0
  609. {maibot-1.4.1 → maibot-1.4.2}/src/files/models.py +0 -0
  610. {maibot-1.4.1 → maibot-1.4.2}/src/files/network.py +0 -0
  611. {maibot-1.4.1 → maibot-1.4.2}/src/files/provider.py +0 -0
  612. {maibot-1.4.1 → maibot-1.4.2}/src/files/service.py +0 -0
  613. {maibot-1.4.1 → maibot-1.4.2}/src/files/store.py +0 -0
  614. {maibot-1.4.1 → maibot-1.4.2}/src/host/__init__.py +0 -0
  615. {maibot-1.4.1 → maibot-1.4.2}/src/host/adopt.py +0 -0
  616. {maibot-1.4.1 → maibot-1.4.2}/src/host/anti_crawler.py +0 -0
  617. {maibot-1.4.1 → maibot-1.4.2}/src/host/authentication.py +0 -0
  618. {maibot-1.4.1 → maibot-1.4.2}/src/host/bootstrap.py +0 -0
  619. {maibot-1.4.1 → maibot-1.4.2}/src/host/bot_operations.py +0 -0
  620. {maibot-1.4.1 → maibot-1.4.2}/src/host/cli.py +0 -0
  621. {maibot-1.4.1 → maibot-1.4.2}/src/host/config.py +0 -0
  622. {maibot-1.4.1 → maibot-1.4.2}/src/host/config_migration.py +0 -0
  623. {maibot-1.4.1 → maibot-1.4.2}/src/host/config_transaction.py +0 -0
  624. {maibot-1.4.1 → maibot-1.4.2}/src/host/console.py +0 -0
  625. {maibot-1.4.1 → maibot-1.4.2}/src/host/control.py +0 -0
  626. {maibot-1.4.1 → maibot-1.4.2}/src/host/data_transfer.py +0 -0
  627. {maibot-1.4.1 → maibot-1.4.2}/src/host/initialize.py +0 -0
  628. {maibot-1.4.1 → maibot-1.4.2}/src/host/launcher.py +0 -0
  629. {maibot-1.4.1 → maibot-1.4.2}/src/host/layout.py +0 -0
  630. {maibot-1.4.1 → maibot-1.4.2}/src/host/legacy_runner.py +0 -0
  631. {maibot-1.4.1 → maibot-1.4.2}/src/host/maim.py +0 -0
  632. {maibot-1.4.1 → maibot-1.4.2}/src/host/maintenance.py +0 -0
  633. {maibot-1.4.1 → maibot-1.4.2}/src/host/model_migration.py +0 -0
  634. {maibot-1.4.1 → maibot-1.4.2}/src/host/process.py +0 -0
  635. {maibot-1.4.1 → maibot-1.4.2}/src/host/proxy.py +0 -0
  636. {maibot-1.4.1 → maibot-1.4.2}/src/host/registry.py +0 -0
  637. {maibot-1.4.1 → maibot-1.4.2}/src/host/retention_migration.py +0 -0
  638. {maibot-1.4.1 → maibot-1.4.2}/src/host/sessions.py +0 -0
  639. {maibot-1.4.1 → maibot-1.4.2}/src/host/settings.py +0 -0
  640. {maibot-1.4.1 → maibot-1.4.2}/src/host/shared_models.py +0 -0
  641. {maibot-1.4.1 → maibot-1.4.2}/src/host/static.py +0 -0
  642. {maibot-1.4.1 → maibot-1.4.2}/src/host/supervisor.py +0 -0
  643. {maibot-1.4.1 → maibot-1.4.2}/src/host/transfer_service.py +0 -0
  644. {maibot-1.4.1 → maibot-1.4.2}/src/host/transfer_storage.py +0 -0
  645. {maibot-1.4.1 → maibot-1.4.2}/src/host/update_locks.py +0 -0
  646. {maibot-1.4.1 → maibot-1.4.2}/src/host/updater.py +0 -0
  647. {maibot-1.4.1 → maibot-1.4.2}/src/host/webui.py +0 -0
  648. {maibot-1.4.1 → maibot-1.4.2}/src/host/webui_auth.py +0 -0
  649. {maibot-1.4.1 → maibot-1.4.2}/src/host/windows_job.py +0 -0
  650. {maibot-1.4.1 → maibot-1.4.2}/src/host/workspace_migration.py +0 -0
  651. {maibot-1.4.1 → maibot-1.4.2}/src/learners/expression_learner.py +0 -0
  652. {maibot-1.4.1 → maibot-1.4.2}/src/learners/expression_review_store.py +0 -0
  653. {maibot-1.4.1 → maibot-1.4.2}/src/learners/expression_style_utils.py +0 -0
  654. {maibot-1.4.1 → maibot-1.4.2}/src/learners/expression_utils.py +0 -0
  655. {maibot-1.4.1 → maibot-1.4.2}/src/learners/jargon_learner.py +0 -0
  656. {maibot-1.4.1 → maibot-1.4.2}/src/learners/jargon_miner.py +0 -0
  657. {maibot-1.4.1 → maibot-1.4.2}/src/learners/learning_text.py +0 -0
  658. {maibot-1.4.1 → maibot-1.4.2}/src/learners/pending_learning_buffer.py +0 -0
  659. {maibot-1.4.1 → maibot-1.4.2}/src/learners/weighted_sampling.py +0 -0
  660. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/LICENSE +0 -0
  661. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/__init__.py +0 -0
  662. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/exceptions.py +0 -0
  663. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/generation_diagnostics.py +0 -0
  664. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/image_normalizer.py +0 -0
  665. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/model_client/__init__.py +0 -0
  666. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/model_client/adapter_base.py +0 -0
  667. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/model_client/base_client.py +0 -0
  668. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/model_client/embedding_rate_limit.py +0 -0
  669. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/model_client/gemini_client.py +0 -0
  670. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/model_client/image_embedding_protocols.py +0 -0
  671. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/model_client/openai_client.py +0 -0
  672. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/model_client/openai_responses_client.py +0 -0
  673. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/model_client/plugin_client.py +0 -0
  674. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/openai_compat.py +0 -0
  675. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/payload_content/__init__.py +0 -0
  676. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/payload_content/context_item.py +0 -0
  677. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/payload_content/context_protocol.py +0 -0
  678. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/payload_content/context_snapshot.py +0 -0
  679. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/payload_content/native_tool.py +0 -0
  680. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/payload_content/resp_format.py +0 -0
  681. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/payload_content/tool_option.py +0 -0
  682. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/request_snapshot.py +0 -0
  683. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/utils.py +0 -0
  684. {maibot-1.4.1 → maibot-1.4.2}/src/llm_models/utils_model.py +0 -0
  685. {maibot-1.4.1 → maibot-1.4.2}/src/main.py +0 -0
  686. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/attention_drift.py +0 -0
  687. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/__init__.py +0 -0
  688. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/context.py +0 -0
  689. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/provider.py +0 -0
  690. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/query_image_memory.py +0 -0
  691. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/query_memory.py +0 -0
  692. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/query_person_profile.py +0 -0
  693. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/read_tool_result.py +0 -0
  694. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/reply.py +0 -0
  695. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/stop.py +0 -0
  696. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/subagent.py +0 -0
  697. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/tool_search.py +0 -0
  698. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/view_forward_message.py +0 -0
  699. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/builtin_tool/wait.py +0 -0
  700. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/chat_loop_service.py +0 -0
  701. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/__init__.py +0 -0
  702. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/clear_context.py +0 -0
  703. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/compaction.py +0 -0
  704. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/history.py +0 -0
  705. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/image_attachment.py +0 -0
  706. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/message_adapter.py +0 -0
  707. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/message_id_alias.py +0 -0
  708. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/messages.py +0 -0
  709. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/planner_messages.py +0 -0
  710. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/post_processor.py +0 -0
  711. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/context/usage.py +0 -0
  712. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/display/__init__.py +0 -0
  713. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/display/display_utils.py +0 -0
  714. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/display/preview_path_utils.py +0 -0
  715. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/display/prompt_cli_renderer.py +0 -0
  716. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/display/prompt_preview_logger.py +0 -0
  717. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/display/reasoning_steps.py +0 -0
  718. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/display/runtime_mixin.py +0 -0
  719. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/display/stage_status_board.py +0 -0
  720. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/focus/__init__.py +0 -0
  721. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/focus/context.py +0 -0
  722. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/focus/group_runtime.py +0 -0
  723. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/focus/manager.py +0 -0
  724. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/focus/tools.py +0 -0
  725. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/jargon_context_matcher.py +0 -0
  726. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/memory/__init__.py +0 -0
  727. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/memory/heuristic_injector.py +0 -0
  728. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/memory/image_injector.py +0 -0
  729. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/memory/person_profile.py +0 -0
  730. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/mode_policy.py +0 -0
  731. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/monitor/__init__.py +0 -0
  732. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/monitor/event_store.py +0 -0
  733. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/monitor/events.py +0 -0
  734. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/monitor/message_payload.py +0 -0
  735. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/monitor/planner_delta.py +0 -0
  736. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/monitor/tool_media.py +0 -0
  737. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/quote/__init__.py +0 -0
  738. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/quote/counter.py +0 -0
  739. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/quote/rules.py +0 -0
  740. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/reasoning_engine.py +0 -0
  741. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/reply_supplement.py +0 -0
  742. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/runtime.py +0 -0
  743. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/__init__.py +0 -0
  744. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/base.py +0 -0
  745. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/factory.py +0 -0
  746. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/group/__init__.py +0 -0
  747. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/group/behavior.py +0 -0
  748. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/group/memory.py +0 -0
  749. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/group/mentions.py +0 -0
  750. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/group/prompting.py +0 -0
  751. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/group/quoting.py +0 -0
  752. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/group/scheduling.py +0 -0
  753. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/mentions.py +0 -0
  754. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/private/__init__.py +0 -0
  755. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/private/behavior.py +0 -0
  756. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/private/memory.py +0 -0
  757. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/private/mentions.py +0 -0
  758. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/private/prompting.py +0 -0
  759. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/private/quoting.py +0 -0
  760. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/private/scheduling.py +0 -0
  761. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/scenes/prompting.py +0 -0
  762. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/subagent_tasks.py +0 -0
  763. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/tool_result_condenser.py +0 -0
  764. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/tool_result_store.py +0 -0
  765. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/turn_trigger/__init__.py +0 -0
  766. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/turn_trigger/dynamic_gate.py +0 -0
  767. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/turn_trigger/gates.py +0 -0
  768. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/turn_trigger/idle_backoff.py +0 -0
  769. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/turn_trigger/messages.py +0 -0
  770. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/turn_trigger/reply_likelihood.py +0 -0
  771. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/turn_trigger/scheduler.py +0 -0
  772. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/utils/__init__.py +0 -0
  773. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/utils/tool_post_execution.py +0 -0
  774. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/utils/tool_record_payload.py +0 -0
  775. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/visual/__init__.py +0 -0
  776. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/visual/chat_history_refresher.py +0 -0
  777. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/visual/deferred_images.py +0 -0
  778. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/visual/emoji_image_cache.py +0 -0
  779. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/visual/message_limiter.py +0 -0
  780. {maibot-1.4.1 → maibot-1.4.2}/src/maisaka/visual/mode_utils.py +0 -0
  781. {maibot-1.4.1 → maibot-1.4.2}/src/manager/async_task_manager.py +0 -0
  782. {maibot-1.4.1 → maibot-1.4.2}/src/manager/local_store_manager.py +0 -0
  783. {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/__init__.py +0 -0
  784. {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/config.py +0 -0
  785. {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/connection.py +0 -0
  786. {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/hooks.py +0 -0
  787. {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/host_llm_bridge.py +0 -0
  788. {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/manager.py +0 -0
  789. {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/models.py +0 -0
  790. {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/provider.py +0 -0
  791. {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/service.py +0 -0
  792. {maibot-1.4.1 → maibot-1.4.2}/src/mcp_module/stdio_filter.py +0 -0
  793. {maibot-1.4.1 → maibot-1.4.2}/src/person_info/__init__.py +0 -0
  794. {maibot-1.4.1 → maibot-1.4.2}/src/person_info/person_info.py +0 -0
  795. {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/__init__.py +0 -0
  796. {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/adapter_policy.py +0 -0
  797. {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/avatar.py +0 -0
  798. {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/dedupe.py +0 -0
  799. {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/drivers/__init__.py +0 -0
  800. {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/drivers/base.py +0 -0
  801. {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/drivers/legacy_driver.py +0 -0
  802. {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/drivers/plugin_driver.py +0 -0
  803. {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/manager.py +0 -0
  804. {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/outbound_tracker.py +0 -0
  805. {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/registry.py +0 -0
  806. {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/route_key_factory.py +0 -0
  807. {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/routing.py +0 -0
  808. {maibot-1.4.1 → maibot-1.4.2}/src/platform_io/types.py +0 -0
  809. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/__init__.py +0 -0
  810. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/cache.py +0 -0
  811. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/catalog.py +0 -0
  812. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/documents.py +0 -0
  813. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/engagement.py +0 -0
  814. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/errors.py +0 -0
  815. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/feedback.py +0 -0
  816. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/releases.py +0 -0
  817. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/service.py +0 -0
  818. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/sources.py +0 -0
  819. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_market/statistics.py +0 -0
  820. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/__init__.py +0 -0
  821. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/avatar_provider.py +0 -0
  822. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/builtin_adapter_migration.py +0 -0
  823. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/__init__.py +0 -0
  824. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/components.py +0 -0
  825. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/core.py +0 -0
  826. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/data.py +0 -0
  827. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/desktop_pet.py +0 -0
  828. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/internal_chat.py +0 -0
  829. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/market.py +0 -0
  830. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/personality.py +0 -0
  831. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/registry.py +0 -0
  832. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/capabilities/render.py +0 -0
  833. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/compat_policy.py +0 -0
  834. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/component_query.py +0 -0
  835. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/config_widgets.py +0 -0
  836. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/dependency_pipeline.py +0 -0
  837. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/desktop_pet_buttons.py +0 -0
  838. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/desktop_pet_panels.py +0 -0
  839. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/docker_layout_migration.py +0 -0
  840. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/hook_catalog.py +0 -0
  841. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/hook_payloads.py +0 -0
  842. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/hook_schema_utils.py +0 -0
  843. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/__init__.py +0 -0
  844. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/api_registry.py +0 -0
  845. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/authorization.py +0 -0
  846. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/capability_service.py +0 -0
  847. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/circuit_breaker.py +0 -0
  848. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/component_registry.py +0 -0
  849. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/component_timeout.py +0 -0
  850. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/event_dispatcher.py +0 -0
  851. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/hook_dispatcher.py +0 -0
  852. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/hook_spec_registry.py +0 -0
  853. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/logger_bridge.py +0 -0
  854. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/message_gateway.py +0 -0
  855. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/message_utils.py +0 -0
  856. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/reply_extension_schema.py +0 -0
  857. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/reply_extensions.py +0 -0
  858. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/rpc_server.py +0 -0
  859. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/status_badges.py +0 -0
  860. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host/supervisor.py +0 -0
  861. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/host_dependencies.py +0 -0
  862. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/integration.py +0 -0
  863. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/local_sdk.py +0 -0
  864. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/plugin_catalog.py +0 -0
  865. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/protocol/__init__.py +0 -0
  866. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/protocol/codec.py +0 -0
  867. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/protocol/envelope.py +0 -0
  868. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/requirements_report.py +0 -0
  869. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/runner/__init__.py +0 -0
  870. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/runner/log_handler.py +0 -0
  871. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/runner/manifest_validator.py +0 -0
  872. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/runner/plugin_enabled.py +0 -0
  873. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/runner/plugin_loader.py +0 -0
  874. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/runner/plugin_paths.py +0 -0
  875. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/runner/rpc_client.py +0 -0
  876. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/runner/runner_main.py +0 -0
  877. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/runner/task_registry.py +0 -0
  878. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/tool_provider.py +0 -0
  879. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/transport/__init__.py +0 -0
  880. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/transport/base.py +0 -0
  881. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/transport/factory.py +0 -0
  882. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/transport/named_pipe.py +0 -0
  883. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/transport/tcp.py +0 -0
  884. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/transport/uds.py +0 -0
  885. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/update_compatibility_notice.py +0 -0
  886. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/upload_store.py +0 -0
  887. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/usage_tracker.py +0 -0
  888. {maibot-1.4.1 → maibot-1.4.2}/src/plugin_runtime/webui_schema.py +0 -0
  889. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/__init__.py +0 -0
  890. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/chinese_typo/__init__.py +0 -0
  891. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/chinese_typo/_manifest.json +0 -0
  892. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/chinese_typo/dictionary_typo.py +0 -0
  893. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/chinese_typo/plugin.py +0 -0
  894. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/chinese_typo/settings.py +0 -0
  895. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/chinese_typo/typo_generator.py +0 -0
  896. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/chinese_typo/typo_words.LICENSE +0 -0
  897. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/chinese_typo/typo_words.NOTICE +0 -0
  898. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/chinese_typo/typo_words.tsv +0 -0
  899. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/CHANGELOG.md +0 -0
  900. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/LICENSE +0 -0
  901. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/README.md +0 -0
  902. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/__init__.py +0 -0
  903. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/_manifest.json +0 -0
  904. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/assets/icon.svg +0 -0
  905. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/codec.py +0 -0
  906. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/identity_sync.py +0 -0
  907. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/plugin.py +0 -0
  908. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/qr_login.py +0 -0
  909. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/quoted_media.py +0 -0
  910. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/settings.py +0 -0
  911. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/webui/mappings.html +0 -0
  912. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/qq_official_adapter/webui.json +0 -0
  913. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/CHANGELOG.md +0 -0
  914. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/LICENSE +0 -0
  915. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/README.md +0 -0
  916. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/__init__.py +0 -0
  917. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/_manifest.json +0 -0
  918. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/api.py +0 -0
  919. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/assets/icon.png +0 -0
  920. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/avatar.py +0 -0
  921. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/codec.py +0 -0
  922. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/config.example.toml +0 -0
  923. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/media.py +0 -0
  924. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/plugin.py +0 -0
  925. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/settings.py +0 -0
  926. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/telegram_adapter/storage.py +0 -0
  927. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/LICENSE +0 -0
  928. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/README.md +0 -0
  929. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/__init__.py +0 -0
  930. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/_manifest.json +0 -0
  931. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/changelog.md +0 -0
  932. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/client.py +0 -0
  933. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/codec.py +0 -0
  934. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/config.toml.example +0 -0
  935. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/connection.py +0 -0
  936. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/icon-mascot.webp +0 -0
  937. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/plugin.py +0 -0
  938. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/settings.py +0 -0
  939. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/storage.py +0 -0
  940. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/tests/conftest.py +0 -0
  941. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/tests/test_gateway.py +0 -0
  942. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/tests/test_protocol.py +0 -0
  943. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/web/accounts.html +0 -0
  944. {maibot-1.4.1 → maibot-1.4.2}/src/plugins/built_in/weixin_clawbot_adapter/webui.json +0 -0
  945. {maibot-1.4.1 → maibot-1.4.2}/src/prompt/prompt_manager.py +0 -0
  946. {maibot-1.4.1 → maibot-1.4.2}/src/runtime.py +0 -0
  947. {maibot-1.4.1 → maibot-1.4.2}/src/services/__init__.py +0 -0
  948. {maibot-1.4.1 → maibot-1.4.2}/src/services/bot_account_service.py +0 -0
  949. {maibot-1.4.1 → maibot-1.4.2}/src/services/database_service.py +0 -0
  950. {maibot-1.4.1 → maibot-1.4.2}/src/services/embedding_service.py +0 -0
  951. {maibot-1.4.1 → maibot-1.4.2}/src/services/expression_vector_service.py +0 -0
  952. {maibot-1.4.1 → maibot-1.4.2}/src/services/html_render_service.py +0 -0
  953. {maibot-1.4.1 → maibot-1.4.2}/src/services/image_path_maintenance_service.py +0 -0
  954. {maibot-1.4.1 → maibot-1.4.2}/src/services/image_writeback_journal.py +0 -0
  955. {maibot-1.4.1 → maibot-1.4.2}/src/services/internal_chat_profile.py +0 -0
  956. {maibot-1.4.1 → maibot-1.4.2}/src/services/llm_cache_stats.py +0 -0
  957. {maibot-1.4.1 → maibot-1.4.2}/src/services/llm_service.py +0 -0
  958. {maibot-1.4.1 → maibot-1.4.2}/src/services/memory_flow_service.py +0 -0
  959. {maibot-1.4.1 → maibot-1.4.2}/src/services/memory_service.py +0 -0
  960. {maibot-1.4.1 → maibot-1.4.2}/src/services/message_service.py +0 -0
  961. {maibot-1.4.1 → maibot-1.4.2}/src/services/message_word_frequency_service.py +0 -0
  962. {maibot-1.4.1 → maibot-1.4.2}/src/services/model_task_usage_service.py +0 -0
  963. {maibot-1.4.1 → maibot-1.4.2}/src/services/news_service.py +0 -0
  964. {maibot-1.4.1 → maibot-1.4.2}/src/services/person_fact_reverification.py +0 -0
  965. {maibot-1.4.1 → maibot-1.4.2}/src/services/person_fact_verifier.py +0 -0
  966. {maibot-1.4.1 → maibot-1.4.2}/src/services/send_service.py +0 -0
  967. {maibot-1.4.1 → maibot-1.4.2}/src/services/service_task_resolver.py +0 -0
  968. {maibot-1.4.1 → maibot-1.4.2}/src/services/statistics_aggregation_service.py +0 -0
  969. {maibot-1.4.1 → maibot-1.4.2}/src/services/statistics_cache_files.py +0 -0
  970. {maibot-1.4.1 → maibot-1.4.2}/src/services/statistics_service.py +0 -0
  971. {maibot-1.4.1 → maibot-1.4.2}/src/services/statistics_usage_hourly.py +0 -0
  972. {maibot-1.4.1 → maibot-1.4.2}/src/services/statistics_usage_rules.py +0 -0
  973. {maibot-1.4.1 → maibot-1.4.2}/src/services/telemetry_platform_service.py +0 -0
  974. {maibot-1.4.1 → maibot-1.4.2}/src/services/telemetry_stats_service.py +0 -0
  975. {maibot-1.4.1 → maibot-1.4.2}/src/services/tool_record_cleanup_service.py +0 -0
  976. {maibot-1.4.1 → maibot-1.4.2}/src/web_search/__init__.py +0 -0
  977. {maibot-1.4.1 → maibot-1.4.2}/src/web_search/adapters/__init__.py +0 -0
  978. {maibot-1.4.1 → maibot-1.4.2}/src/web_search/adapters/anysearch.py +0 -0
  979. {maibot-1.4.1 → maibot-1.4.2}/src/web_search/adapters/deepseek.py +0 -0
  980. {maibot-1.4.1 → maibot-1.4.2}/src/web_search/adapters/exa.py +0 -0
  981. {maibot-1.4.1 → maibot-1.4.2}/src/web_search/adapters/firecrawl.py +0 -0
  982. {maibot-1.4.1 → maibot-1.4.2}/src/web_search/adapters/http.py +0 -0
  983. {maibot-1.4.1 → maibot-1.4.2}/src/web_search/adapters/stepsearch.py +0 -0
  984. {maibot-1.4.1 → maibot-1.4.2}/src/web_search/adapters/tavily.py +0 -0
  985. {maibot-1.4.1 → maibot-1.4.2}/src/web_search/models.py +0 -0
  986. {maibot-1.4.1 → maibot-1.4.2}/src/webui/app.py +0 -0
  987. {maibot-1.4.1 → maibot-1.4.2}/src/webui/config_schema.py +0 -0
  988. {maibot-1.4.1 → maibot-1.4.2}/src/webui/logs_ws.py +0 -0
  989. {maibot-1.4.1 → maibot-1.4.2}/src/webui/middleware/__init__.py +0 -0
  990. {maibot-1.4.1 → maibot-1.4.2}/src/webui/middleware/compression.py +0 -0
  991. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/__init__.py +0 -0
  992. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/agent.py +0 -0
  993. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/avatar.py +0 -0
  994. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/bot_accounts.py +0 -0
  995. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/chat/__init__.py +0 -0
  996. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/chat/routes.py +0 -0
  997. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/chat/serializers.py +0 -0
  998. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/chat/service.py +0 -0
  999. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/config.py +0 -0
  1000. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/desktop_pet_remote.py +0 -0
  1001. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/emoji/__init__.py +0 -0
  1002. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/emoji/routes.py +0 -0
  1003. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/emoji/schemas.py +0 -0
  1004. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/emoji/support.py +0 -0
  1005. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/expression.py +0 -0
  1006. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/files.py +0 -0
  1007. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/jargon.py +0 -0
  1008. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/mcp.py +0 -0
  1009. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/memory.py +0 -0
  1010. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/model.py +0 -0
  1011. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/news.py +0 -0
  1012. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/person.py +0 -0
  1013. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/__init__.py +0 -0
  1014. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/config_routes.py +0 -0
  1015. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/icon_routes.py +0 -0
  1016. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/management.py +0 -0
  1017. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/marketplace.py +0 -0
  1018. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/progress.py +0 -0
  1019. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/release_install.py +0 -0
  1020. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/repository.py +0 -0
  1021. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/runtime_routes.py +0 -0
  1022. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/schemas.py +0 -0
  1023. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/support.py +0 -0
  1024. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/webui_extensions.py +0 -0
  1025. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/plugin/zip_install.py +0 -0
  1026. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/reasoning_process.py +0 -0
  1027. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/search.py +0 -0
  1028. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/statistics.py +0 -0
  1029. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/system.py +0 -0
  1030. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/text_learning.py +0 -0
  1031. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/user_emoji.py +0 -0
  1032. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/websocket/__init__.py +0 -0
  1033. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/websocket/manager.py +0 -0
  1034. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/websocket/plugin_runtime.py +0 -0
  1035. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routers/websocket/unified.py +0 -0
  1036. {maibot-1.4.1 → maibot-1.4.2}/src/webui/routes.py +0 -0
  1037. {maibot-1.4.1 → maibot-1.4.2}/src/webui/schemas/__init__.py +0 -0
  1038. {maibot-1.4.1 → maibot-1.4.2}/src/webui/schemas/news.py +0 -0
  1039. {maibot-1.4.1 → maibot-1.4.2}/src/webui/schemas/statistics.py +0 -0
  1040. {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/__init__.py +0 -0
  1041. {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_help_artifacts.py +0 -0
  1042. {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_help_diagnostics.py +0 -0
  1043. {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_help_harness.py +0 -0
  1044. {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_help_history.py +0 -0
  1045. {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_help_references.py +0 -0
  1046. {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_search_agent.py +0 -0
  1047. {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_search_documents.py +0 -0
  1048. {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_search_grounding.py +0 -0
  1049. {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_search_local_config.py +0 -0
  1050. {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_search_market.py +0 -0
  1051. {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_search_models.py +0 -0
  1052. {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_search_plugin_config.py +0 -0
  1053. {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/ai_search_tools.py +0 -0
  1054. {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/git_mirror_service.py +0 -0
  1055. {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/text_learning.py +0 -0
  1056. {maibot-1.4.1 → maibot-1.4.2}/src/webui/services/thinking_probe.py +0 -0
  1057. {maibot-1.4.1 → maibot-1.4.2}/src/webui/utils/__init__.py +0 -0
  1058. {maibot-1.4.1 → maibot-1.4.2}/src/webui/utils/toml_utils.py +0 -0
  1059. {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.1
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.1
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.3.17**
135
+ **最新版本: v1.4.2**
136
136
 
137
- <sub><sup><strong>Latest Version: v1.3.17</strong></sup></sub>
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>
@@ -19,7 +19,7 @@ jieba>=0.42.1
19
19
  json-repair<0.61,>=0.60.1
20
20
  jsonschema<5,>=4.26.0
21
21
  maim-message==0.6.8
22
- maibot-dashboard==1.10.1
22
+ maibot-dashboard==1.10.2
23
23
  maibot-plugin-sdk>=2.20.0
24
24
  mcp<2,>=1.28.1
25
25
  msgpack>=1.2.1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MaiBot
3
- Version: 1.4.1
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.1
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.3.17**
135
+ **最新版本: v1.4.2**
136
136
 
137
- <sub><sup><strong>Latest Version: v1.3.17</strong></sup></sub>
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.3.17**
76
+ **最新版本: v1.4.2**
77
77
 
78
- <sub><sup><strong>Latest Version: v1.3.17</strong></sup></sub>
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>
@@ -1,5 +1,11 @@
1
1
  # 更新日志
2
2
 
3
+ # [1.4.2] - 2026-11-8
4
+
5
+ - 修复Docker启动时挂载目录问题,将会阻拦未更新的挂载路径
6
+ - 优化部分麦麦观察的显示方式
7
+ - Webui首页会显示桌宠
8
+
3
9
  # [1.4.1] - 2026-11-7
4
10
 
5
11
  - 修复一键包更新由于传入路径错误失败的问题
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "MaiBot"
7
- version = "1.4.1"
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.1",
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, resolve_web_search_config
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.web_search.config import WebRuntimeConfig, resolve_web_search_config
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
- result = await get_service().execute(config, invocation)
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:
@@ -34,6 +34,7 @@ class ErrorCode(str, Enum):
34
34
  # 能力调用
35
35
  E_CAPABILITY_DENIED = "E_CAPABILITY_DENIED"
36
36
  E_CAPABILITY_FAILED = "E_CAPABILITY_FAILED"
37
+ E_WEB_SERVICE_CONFIG_INVALID = "E_WEB_SERVICE_CONFIG_INVALID"
37
38
 
38
39
 
39
40
  class RPCError(Exception):
@@ -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
- adapter = config.services[config.search].adapter
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 or name not in config.services:
49
+ if not name:
50
50
  raise WebSearchError("当前操作未配置联网服务")
51
- settings = config.services[name]
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%;越低越敏感,小面积更新可能被过滤。"""