Undefined-bot 3.3.1__tar.gz → 3.3.3__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 (613) hide show
  1. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/ARCHITECTURE.md +32 -20
  2. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/CHANGELOG.md +58 -0
  3. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/PKG-INFO +5 -2
  4. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/README.md +4 -1
  5. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/config.toml.example +157 -5
  6. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/pyproject.toml +1 -1
  7. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/prompts/describe_meme_image.txt +10 -4
  8. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/prompts/historian_rewrite.md +1 -1
  9. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/prompts/judge_meme_image.txt +1 -0
  10. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/prompts/undefined.xml +30 -9
  11. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/prompts/undefined_nagaagent.xml +43 -12
  12. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/README.md +1 -0
  13. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/__init__.py +1 -1
  14. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/ai/client.py +68 -4
  15. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/ai/llm.py +304 -0
  16. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/ai/model_selector.py +5 -1
  17. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/ai/multimodal.py +29 -25
  18. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/ai/prompts.py +78 -76
  19. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/ai/retrieval.py +7 -12
  20. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/ai/summaries.py +2 -2
  21. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/ai/transports/openai_transport.py +2 -2
  22. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/api/__init__.py +2 -1
  23. undefined_bot-3.3.3/src/Undefined/api/_context.py +22 -0
  24. undefined_bot-3.3.3/src/Undefined/api/_helpers.py +333 -0
  25. undefined_bot-3.3.3/src/Undefined/api/_naga_state.py +115 -0
  26. undefined_bot-3.3.3/src/Undefined/api/_openapi.py +183 -0
  27. undefined_bot-3.3.3/src/Undefined/api/_probes.py +149 -0
  28. undefined_bot-3.3.3/src/Undefined/api/app.py +333 -0
  29. undefined_bot-3.3.3/src/Undefined/api/routes/__init__.py +1 -0
  30. undefined_bot-3.3.3/src/Undefined/api/routes/chat.py +359 -0
  31. undefined_bot-3.3.3/src/Undefined/api/routes/cognitive.py +86 -0
  32. undefined_bot-3.3.3/src/Undefined/api/routes/health.py +23 -0
  33. undefined_bot-3.3.3/src/Undefined/api/routes/memes.py +222 -0
  34. undefined_bot-3.3.3/src/Undefined/api/routes/memory.py +156 -0
  35. undefined_bot-3.3.3/src/Undefined/api/routes/naga.py +897 -0
  36. undefined_bot-3.3.3/src/Undefined/api/routes/system.py +228 -0
  37. undefined_bot-3.3.3/src/Undefined/api/routes/tools.py +462 -0
  38. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/arxiv/sender.py +52 -8
  39. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/attachments.py +366 -59
  40. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/bilibili/sender.py +43 -3
  41. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/cognitive/historian.py +1 -1
  42. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/cognitive/service.py +8 -15
  43. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/cognitive/vector_store.py +13 -21
  44. undefined_bot-3.3.3/src/Undefined/config/admin.py +44 -0
  45. undefined_bot-3.3.3/src/Undefined/config/coercers.py +150 -0
  46. undefined_bot-3.3.3/src/Undefined/config/domain_parsers.py +286 -0
  47. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/config/hot_reload.py +88 -12
  48. undefined_bot-3.3.3/src/Undefined/config/loader.py +1699 -0
  49. undefined_bot-3.3.3/src/Undefined/config/model_parsers.py +1333 -0
  50. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/config/models.py +9 -0
  51. undefined_bot-3.3.3/src/Undefined/config/resolvers.py +106 -0
  52. undefined_bot-3.3.3/src/Undefined/config/webui_settings.py +61 -0
  53. undefined_bot-3.3.3/src/Undefined/github/__init__.py +19 -0
  54. undefined_bot-3.3.3/src/Undefined/github/client.py +169 -0
  55. undefined_bot-3.3.3/src/Undefined/github/models.py +33 -0
  56. undefined_bot-3.3.3/src/Undefined/github/parser.py +196 -0
  57. undefined_bot-3.3.3/src/Undefined/github/sender.py +361 -0
  58. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/handlers.py +455 -114
  59. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/main.py +4 -0
  60. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/memes/service.py +171 -18
  61. undefined_bot-3.3.3/src/Undefined/render.py +276 -0
  62. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/services/ai_coordinator.py +17 -3
  63. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/services/command.py +156 -36
  64. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/services/commands/context.py +13 -0
  65. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/services/commands/registry.py +186 -5
  66. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/services/model_pool.py +26 -12
  67. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/README.md +34 -7
  68. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/__init__.py +2 -1
  69. undefined_bot-3.3.3/src/Undefined/skills/agents/arxiv_analysis_agent/callable.json +4 -0
  70. undefined_bot-3.3.3/src/Undefined/skills/agents/arxiv_analysis_agent/config.json +21 -0
  71. undefined_bot-3.3.3/src/Undefined/skills/agents/arxiv_analysis_agent/handler.py +48 -0
  72. undefined_bot-3.3.3/src/Undefined/skills/agents/arxiv_analysis_agent/intro.md +1 -0
  73. undefined_bot-3.3.3/src/Undefined/skills/agents/arxiv_analysis_agent/prompt.md +28 -0
  74. undefined_bot-3.3.3/src/Undefined/skills/agents/arxiv_analysis_agent/tools/__init__.py +0 -0
  75. undefined_bot-3.3.3/src/Undefined/skills/agents/arxiv_analysis_agent/tools/fetch_paper/config.json +17 -0
  76. undefined_bot-3.3.3/src/Undefined/skills/agents/arxiv_analysis_agent/tools/fetch_paper/handler.py +75 -0
  77. undefined_bot-3.3.3/src/Undefined/skills/agents/arxiv_analysis_agent/tools/read_paper_pages/config.json +21 -0
  78. undefined_bot-3.3.3/src/Undefined/skills/agents/arxiv_analysis_agent/tools/read_paper_pages/handler.py +68 -0
  79. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/entertainment_agent/prompt.md +2 -2
  80. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/handler.py +1 -1
  81. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/handler.py +1 -1
  82. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/handler.py +1 -1
  83. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/runner.py +16 -8
  84. undefined_bot-3.3.3/src/Undefined/skills/agents/summary_agent/__init__.py +1 -0
  85. undefined_bot-3.3.3/src/Undefined/skills/agents/summary_agent/config.json +28 -0
  86. undefined_bot-3.3.3/src/Undefined/skills/agents/summary_agent/handler.py +81 -0
  87. undefined_bot-3.3.3/src/Undefined/skills/agents/summary_agent/intro.md +30 -0
  88. undefined_bot-3.3.3/src/Undefined/skills/agents/summary_agent/prompt.md +49 -0
  89. undefined_bot-3.3.3/src/Undefined/skills/agents/summary_agent/tools/__init__.py +1 -0
  90. undefined_bot-3.3.3/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/config.json +20 -0
  91. undefined_bot-3.3.3/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/handler.py +133 -0
  92. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/web_agent/callable.json +1 -1
  93. undefined_bot-3.3.3/src/Undefined/skills/auto_pipeline/__init__.py +6 -0
  94. undefined_bot-3.3.3/src/Undefined/skills/auto_pipeline/models.py +18 -0
  95. undefined_bot-3.3.3/src/Undefined/skills/auto_pipeline/pipelines/arxiv/config.json +6 -0
  96. undefined_bot-3.3.3/src/Undefined/skills/auto_pipeline/pipelines/arxiv/handler.py +44 -0
  97. undefined_bot-3.3.3/src/Undefined/skills/auto_pipeline/pipelines/bilibili/config.json +6 -0
  98. undefined_bot-3.3.3/src/Undefined/skills/auto_pipeline/pipelines/bilibili/handler.py +44 -0
  99. undefined_bot-3.3.3/src/Undefined/skills/auto_pipeline/pipelines/github/config.json +6 -0
  100. undefined_bot-3.3.3/src/Undefined/skills/auto_pipeline/pipelines/github/handler.py +44 -0
  101. undefined_bot-3.3.3/src/Undefined/skills/auto_pipeline/registry.py +293 -0
  102. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/README.md +4 -4
  103. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/addadmin/config.json +3 -3
  104. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/addadmin/handler.py +2 -2
  105. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/bugfix/config.json +3 -3
  106. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/changelog/handler.py +8 -0
  107. undefined_bot-3.3.3/src/Undefined/skills/commands/faq/README.md +37 -0
  108. undefined_bot-3.3.3/src/Undefined/skills/commands/faq/config.json +29 -0
  109. undefined_bot-3.3.3/src/Undefined/skills/commands/faq/handler.py +104 -0
  110. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/help/README.md +7 -2
  111. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/help/config.json +4 -4
  112. undefined_bot-3.3.3/src/Undefined/skills/commands/help/handler.py +687 -0
  113. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/naga/README.md +4 -2
  114. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/naga/config.json +5 -1
  115. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/naga/handler.py +7 -66
  116. undefined_bot-3.3.3/src/Undefined/skills/commands/profile/README.md +21 -0
  117. undefined_bot-3.3.3/src/Undefined/skills/commands/profile/config.json +16 -0
  118. undefined_bot-3.3.3/src/Undefined/skills/commands/profile/handler.py +277 -0
  119. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/rmadmin/config.json +3 -3
  120. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/rmadmin/handler.py +2 -2
  121. undefined_bot-3.3.3/src/Undefined/skills/commands/summary/config.json +16 -0
  122. undefined_bot-3.3.3/src/Undefined/skills/commands/summary/handler.py +109 -0
  123. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/http_client.py +15 -5
  124. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/http_config.py +18 -0
  125. undefined_bot-3.3.3/src/Undefined/skills/tools/calculator/config.json +17 -0
  126. undefined_bot-3.3.3/src/Undefined/skills/tools/calculator/handler.py +268 -0
  127. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/end/handler.py +33 -41
  128. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/fetch_image_uid/handler.py +1 -1
  129. undefined_bot-3.3.3/src/Undefined/skills/tools/get_current_time/callable.json +4 -0
  130. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/get_picture/handler.py +1 -1
  131. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/README.md +15 -1
  132. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/group/README.md +3 -3
  133. undefined_bot-3.3.3/src/Undefined/skills/toolsets/group/get_avatar/config.json +23 -0
  134. undefined_bot-3.3.3/src/Undefined/skills/toolsets/group/get_avatar/handler.py +65 -0
  135. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/group/get_member_info/config.json +5 -0
  136. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/group/get_member_info/handler.py +6 -2
  137. undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis/README.md +18 -0
  138. {undefined_bot-3.3.1/src/Undefined/skills/toolsets/group/detect_inactive_risk → undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis/inactive_risk}/config.json +1 -1
  139. {undefined_bot-3.3.1/src/Undefined/skills/toolsets/group_analysis/analyze_join_statistics → undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis/join_statistics}/config.json +2 -2
  140. {undefined_bot-3.3.1/src/Undefined/skills/toolsets/group_analysis/analyze_join_statistics → undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis/join_statistics}/handler.py +3 -1
  141. {undefined_bot-3.3.1/src/Undefined/skills/toolsets/group/get_member_activity → undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis/member_activity}/config.json +1 -1
  142. {undefined_bot-3.3.1/src/Undefined/skills/toolsets/group_analysis/analyze_member_messages → undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis/member_messages}/config.json +3 -3
  143. {undefined_bot-3.3.1/src/Undefined/skills/toolsets/group_analysis/analyze_member_messages → undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis/member_messages}/handler.py +5 -2
  144. undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis/member_structure/config.json +26 -0
  145. undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis/member_structure/handler.py +182 -0
  146. undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis/message_mix/config.json +44 -0
  147. undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis/message_mix/handler.py +242 -0
  148. {undefined_bot-3.3.1/src/Undefined/skills/toolsets/group_analysis/analyze_new_member_activity → undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis/new_member_activity}/config.json +2 -2
  149. {undefined_bot-3.3.1/src/Undefined/skills/toolsets/group_analysis/analyze_new_member_activity → undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis/new_member_activity}/handler.py +3 -1
  150. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/memes/README.md +1 -1
  151. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/memes/search_memes/config.json +1 -1
  152. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/get_messages_by_time/handler.py +31 -6
  153. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/get_recent_messages/handler.py +29 -6
  154. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/send_message/handler.py +7 -0
  155. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/send_private_message/handler.py +7 -0
  156. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/render/render_html/handler.py +1 -1
  157. undefined_bot-3.3.3/src/Undefined/skills/toolsets/render/render_latex/config.json +22 -0
  158. undefined_bot-3.3.3/src/Undefined/skills/toolsets/render/render_latex/handler.py +287 -0
  159. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/render/render_markdown/handler.py +1 -1
  160. undefined_bot-3.3.3/src/Undefined/utils/__init__.py +0 -0
  161. undefined_bot-3.3.3/src/Undefined/utils/coerce.py +37 -0
  162. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/common.py +1 -0
  163. undefined_bot-3.3.3/src/Undefined/utils/fake_at.py +180 -0
  164. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/history.py +91 -22
  165. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/queue_intervals.py +9 -0
  166. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/recent_messages.py +7 -2
  167. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/sender.py +236 -13
  168. undefined_bot-3.3.3/src/Undefined/utils/xml.py +93 -0
  169. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/routes/_config.py +73 -0
  170. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/routes/_runtime.py +45 -0
  171. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/css/components.css +83 -0
  172. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/js/api.js +36 -1
  173. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/js/bot.js +123 -0
  174. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/js/config-form.js +1 -0
  175. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/js/i18n.js +40 -0
  176. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/js/log-view.js +24 -1
  177. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/js/main.js +322 -0
  178. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/js/memes.js +38 -9
  179. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/js/runtime.js +155 -3
  180. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/js/state.js +2 -0
  181. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/js/ui.js +40 -0
  182. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/templates/index.html +46 -5
  183. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/utils/config_sync.py +21 -3
  184. undefined_bot-3.3.1/src/Undefined/api/app.py +0 -2985
  185. undefined_bot-3.3.1/src/Undefined/config/loader.py +0 -3140
  186. undefined_bot-3.3.1/src/Undefined/render.py +0 -125
  187. undefined_bot-3.3.1/src/Undefined/skills/commands/delfaq/README.md +0 -17
  188. undefined_bot-3.3.1/src/Undefined/skills/commands/delfaq/config.json +0 -16
  189. undefined_bot-3.3.1/src/Undefined/skills/commands/delfaq/handler.py +0 -29
  190. undefined_bot-3.3.1/src/Undefined/skills/commands/help/handler.py +0 -152
  191. undefined_bot-3.3.1/src/Undefined/skills/commands/lsfaq/README.md +0 -14
  192. undefined_bot-3.3.1/src/Undefined/skills/commands/lsfaq/config.json +0 -16
  193. undefined_bot-3.3.1/src/Undefined/skills/commands/lsfaq/handler.py +0 -25
  194. undefined_bot-3.3.1/src/Undefined/skills/commands/naga/scopes.json +0 -4
  195. undefined_bot-3.3.1/src/Undefined/skills/commands/searchfaq/README.md +0 -17
  196. undefined_bot-3.3.1/src/Undefined/skills/commands/searchfaq/config.json +0 -16
  197. undefined_bot-3.3.1/src/Undefined/skills/commands/searchfaq/handler.py +0 -30
  198. undefined_bot-3.3.1/src/Undefined/skills/commands/viewfaq/README.md +0 -17
  199. undefined_bot-3.3.1/src/Undefined/skills/commands/viewfaq/config.json +0 -16
  200. undefined_bot-3.3.1/src/Undefined/skills/commands/viewfaq/handler.py +0 -31
  201. undefined_bot-3.3.1/src/Undefined/skills/toolsets/render/render_latex/config.json +0 -31
  202. undefined_bot-3.3.1/src/Undefined/skills/toolsets/render/render_latex/handler.py +0 -138
  203. undefined_bot-3.3.1/src/Undefined/utils/xml.py +0 -14
  204. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/.gitignore +0 -0
  205. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/LICENSE +0 -0
  206. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/config/README.md +0 -0
  207. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/config/mcp.json.example +0 -0
  208. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/img/head.png +0 -0
  209. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/img/xlwy.jpg +0 -0
  210. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/IMPORTANT/each.md +0 -0
  211. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/README.md +0 -0
  212. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/prompts/agent_self_intro.txt +0 -0
  213. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/prompts/analyze_multimodal.txt +0 -0
  214. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/prompts/describe_image.txt +0 -0
  215. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/prompts/generate_title.txt +0 -0
  216. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/prompts/historian_profile_merge.md +0 -0
  217. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/prompts/image_gen_moderation.txt +0 -0
  218. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/prompts/injection_detector.txt +0 -0
  219. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/prompts/injection_response_agent.txt +0 -0
  220. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/prompts/merge_summaries.txt +0 -0
  221. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/prompts/naga_message_moderation.txt +0 -0
  222. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/prompts/stats_analysis.txt +0 -0
  223. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/res/prompts/summarize.txt +0 -0
  224. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/README.md +0 -0
  225. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/__main__.py +0 -0
  226. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/ai/__init__.py +0 -0
  227. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/ai/crawl4ai_support.py +0 -0
  228. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/ai/http.py +0 -0
  229. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/ai/parsing.py +0 -0
  230. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/ai/queue_budget.py +0 -0
  231. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/ai/tokens.py +0 -0
  232. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/ai/tooling.py +0 -0
  233. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/ai/transports/__init__.py +0 -0
  234. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/api/naga_store.py +0 -0
  235. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/arxiv/__init__.py +0 -0
  236. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/arxiv/client.py +0 -0
  237. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/arxiv/downloader.py +0 -0
  238. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/arxiv/models.py +0 -0
  239. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/arxiv/parser.py +0 -0
  240. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/bilibili/__init__.py +0 -0
  241. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/bilibili/downloader.py +0 -0
  242. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/bilibili/parser.py +0 -0
  243. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/bilibili/wbi.py +0 -0
  244. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/bilibili/wbi_request.py +0 -0
  245. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/changelog.py +0 -0
  246. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/cognitive/__init__.py +0 -0
  247. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/cognitive/job_queue.py +0 -0
  248. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/cognitive/profile_storage.py +0 -0
  249. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/config/__init__.py +0 -0
  250. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/config/manager.py +0 -0
  251. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/context.py +0 -0
  252. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/context_resource_registry.py +0 -0
  253. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/end_summary_storage.py +0 -0
  254. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/faq.py +0 -0
  255. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/injection_response_agent.py +0 -0
  256. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/knowledge/__init__.py +0 -0
  257. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/knowledge/chunker.py +0 -0
  258. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/knowledge/embedder.py +0 -0
  259. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/knowledge/manager.py +0 -0
  260. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/knowledge/reranker.py +0 -0
  261. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/knowledge/runtime.py +0 -0
  262. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/knowledge/store.py +0 -0
  263. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/mcp/__init__.py +0 -0
  264. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/mcp/registry.py +0 -0
  265. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/memes/__init__.py +0 -0
  266. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/memes/models.py +0 -0
  267. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/memes/store.py +0 -0
  268. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/memes/vector_store.py +0 -0
  269. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/memes/worker.py +0 -0
  270. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/memory.py +0 -0
  271. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/onebot.py +0 -0
  272. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/rate_limit.py +0 -0
  273. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/scheduled_task_storage.py +0 -0
  274. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/services/__init__.py +0 -0
  275. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/services/commands/__init__.py +0 -0
  276. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/services/queue_manager.py +0 -0
  277. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/services/security.py +0 -0
  278. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/README.md +0 -0
  279. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/__init__.py +0 -0
  280. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/agent_tool_registry.py +0 -0
  281. {undefined_bot-3.3.1/src/Undefined/utils → undefined_bot-3.3.3/src/Undefined/skills/agents/arxiv_analysis_agent}/__init__.py +0 -0
  282. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/config.json +0 -0
  283. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/docker_utils.py +0 -0
  284. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/handler.py +0 -0
  285. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/intro.md +0 -0
  286. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/mcp.json +0 -0
  287. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/prompt.md +0 -0
  288. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/config.json +0 -0
  289. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/handler.py +0 -0
  290. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/config.json +0 -0
  291. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/handler.py +0 -0
  292. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/config.json +0 -0
  293. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/handler.py +0 -0
  294. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/end/config.json +0 -0
  295. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/end/handler.py +0 -0
  296. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/config.json +0 -0
  297. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/handler.py +0 -0
  298. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/config.json +0 -0
  299. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/handler.py +0 -0
  300. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/config.json +0 -0
  301. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/handler.py +0 -0
  302. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/read/config.json +0 -0
  303. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/read/handler.py +0 -0
  304. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/config.json +0 -0
  305. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/handler.py +0 -0
  306. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/config.json +0 -0
  307. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/handler.py +0 -0
  308. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/config.json +0 -0
  309. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/handler.py +0 -0
  310. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/write/config.json +0 -0
  311. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/code_delivery_agent/tools/write/handler.py +0 -0
  312. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/entertainment_agent/README.md +0 -0
  313. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/entertainment_agent/config.json +0 -0
  314. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/entertainment_agent/handler.py +0 -0
  315. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/entertainment_agent/intro.md +0 -0
  316. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/entertainment_agent/tools/__init__.py +0 -0
  317. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/config.json +0 -0
  318. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/config.json +0 -0
  319. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/handler.py +0 -0
  320. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/config.json +0 -0
  321. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/config.json +0 -0
  322. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/handler.py +0 -0
  323. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/config.json +0 -0
  324. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/README.md +0 -0
  325. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/__init__.py +0 -0
  326. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/config.json +0 -0
  327. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/handler.py +0 -0
  328. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/intro.md +0 -0
  329. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/prompt.md +0 -0
  330. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/__init__.py +0 -0
  331. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/config.json +0 -0
  332. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/handler.py +0 -0
  333. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/config.json +0 -0
  334. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/handler.py +0 -0
  335. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/config.json +0 -0
  336. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/handler.py +0 -0
  337. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/config.json +0 -0
  338. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/handler.py +0 -0
  339. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/config.json +0 -0
  340. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/handler.py +0 -0
  341. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/config.json +0 -0
  342. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/handler.py +0 -0
  343. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/config.json +0 -0
  344. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/handler.py +0 -0
  345. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/config.json +0 -0
  346. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/handler.py +0 -0
  347. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/config.json +0 -0
  348. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/handler.py +0 -0
  349. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/config.json +0 -0
  350. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/handler.py +0 -0
  351. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/config.json +0 -0
  352. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/handler.py +0 -0
  353. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/README.md +0 -0
  354. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/config.json +0 -0
  355. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/handler.py +0 -0
  356. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/intro.md +0 -0
  357. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/prompt.md +0 -0
  358. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/__init__.py +0 -0
  359. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/config.json +0 -0
  360. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/handler.py +0 -0
  361. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/baiduhot/config.json +0 -0
  362. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/baiduhot/handler.py +0 -0
  363. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/base64/config.json +0 -0
  364. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/base64/handler.py +0 -0
  365. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/config.json +0 -0
  366. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/handler.py +0 -0
  367. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/config.json +0 -0
  368. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/handler.py +0 -0
  369. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/douyinhot/config.json +0 -0
  370. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/douyinhot/handler.py +0 -0
  371. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/gold_price/config.json +0 -0
  372. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/gold_price/handler.py +0 -0
  373. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/hash/config.json +0 -0
  374. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/hash/handler.py +0 -0
  375. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/history/config.json +0 -0
  376. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/history/handler.py +0 -0
  377. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/net_check/config.json +0 -0
  378. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/net_check/handler.py +0 -0
  379. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/config.json +0 -0
  380. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/handler.py +0 -0
  381. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/speed/config.json +0 -0
  382. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/speed/handler.py +0 -0
  383. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/tcping/config.json +0 -0
  384. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/tcping/handler.py +0 -0
  385. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/weather_query/config.json +0 -0
  386. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/weather_query/handler.py +0 -0
  387. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/weibohot/config.json +0 -0
  388. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/weibohot/handler.py +0 -0
  389. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/whois/config.json +0 -0
  390. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/info_agent/tools/whois/handler.py +0 -0
  391. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/intro_generator.py +0 -0
  392. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/intro_utils.py +0 -0
  393. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/naga_code_analysis_agent/README.md +0 -0
  394. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/naga_code_analysis_agent/config.json +0 -0
  395. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/naga_code_analysis_agent/handler.py +0 -0
  396. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/naga_code_analysis_agent/intro.md +0 -0
  397. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/naga_code_analysis_agent/mcp.json +0 -0
  398. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/naga_code_analysis_agent/prompt.md +0 -0
  399. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/__init__.py +0 -0
  400. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/config.json +0 -0
  401. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/handler.py +0 -0
  402. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/config.json +0 -0
  403. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/handler.py +0 -0
  404. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/config.json +0 -0
  405. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/handler.py +0 -0
  406. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/config.json +0 -0
  407. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/handler.py +0 -0
  408. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/config.json +0 -0
  409. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/handler.py +0 -0
  410. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/web_agent/README.md +0 -0
  411. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/web_agent/config.json +0 -0
  412. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/web_agent/handler.py +0 -0
  413. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/web_agent/intro.md +0 -0
  414. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/web_agent/mcp.json +0 -0
  415. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/web_agent/prompt.md +0 -0
  416. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/web_agent/tools/__init__.py +0 -0
  417. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/config.json +0 -0
  418. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/handler.py +0 -0
  419. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/web_agent/tools/grok_search/config.json +0 -0
  420. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/web_agent/tools/grok_search/handler.py +0 -0
  421. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/web_agent/tools/web_search/config.json +0 -0
  422. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/agents/web_agent/tools/web_search/handler.py +0 -0
  423. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/anthropic_skills/__init__.py +0 -0
  424. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/anthropic_skills/loader.py +0 -0
  425. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/addadmin/README.md +0 -0
  426. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/bugfix/README.md +0 -0
  427. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/bugfix/handler.py +0 -0
  428. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/changelog/README.md +0 -0
  429. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/changelog/config.json +0 -0
  430. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/copyright/README.md +0 -0
  431. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/copyright/config.json +0 -0
  432. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/copyright/handler.py +0 -0
  433. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/lsadmin/README.md +0 -0
  434. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/lsadmin/config.json +0 -0
  435. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/lsadmin/handler.py +0 -0
  436. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/naga/policy.py +0 -0
  437. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/rmadmin/README.md +0 -0
  438. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/stats/README.md +0 -0
  439. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/stats/config.json +0 -0
  440. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/stats/handler.py +0 -0
  441. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/version/config.json +0 -0
  442. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/commands/version/handler.py +0 -0
  443. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/registry.py +0 -0
  444. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/README.md +0 -0
  445. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/__init__.py +0 -0
  446. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/arxiv_paper/README.md +0 -0
  447. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/arxiv_paper/config.json +0 -0
  448. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/arxiv_paper/handler.py +0 -0
  449. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/bilibili_video/README.md +0 -0
  450. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/bilibili_video/config.json +0 -0
  451. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/bilibili_video/handler.py +0 -0
  452. {undefined_bot-3.3.1/src/Undefined/skills/tools/get_current_time → undefined_bot-3.3.3/src/Undefined/skills/tools/calculator}/callable.json +0 -0
  453. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/changelog_query/README.md +0 -0
  454. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/changelog_query/config.json +0 -0
  455. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/changelog_query/handler.py +0 -0
  456. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/end/README.md +0 -0
  457. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/end/config.json +0 -0
  458. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/fetch_image_uid/config.json +0 -0
  459. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/get_current_time/README.md +0 -0
  460. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/get_current_time/config.json +0 -0
  461. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/get_current_time/handler.py +0 -0
  462. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/get_picture/README.md +0 -0
  463. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/get_picture/config.json +0 -0
  464. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/get_user_info/README.md +0 -0
  465. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/get_user_info/config.json +0 -0
  466. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/get_user_info/handler.py +0 -0
  467. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/knowledge_list/config.json +0 -0
  468. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/knowledge_list/handler.py +0 -0
  469. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/knowledge_semantic_search/config.json +0 -0
  470. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/knowledge_semantic_search/handler.py +0 -0
  471. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/knowledge_text_search/config.json +0 -0
  472. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/knowledge_text_search/handler.py +0 -0
  473. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/python_interpreter/README.md +0 -0
  474. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/python_interpreter/config.json +0 -0
  475. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/python_interpreter/handler.py +0 -0
  476. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/qq_like/README.md +0 -0
  477. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/qq_like/config.json +0 -0
  478. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/qq_like/handler.py +0 -0
  479. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/task_progress/config.json +0 -0
  480. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/tools/task_progress/handler.py +0 -0
  481. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/__init__.py +0 -0
  482. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/cognitive/get_profile/config.json +0 -0
  483. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/cognitive/get_profile/handler.py +0 -0
  484. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/cognitive/search_events/config.json +0 -0
  485. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/cognitive/search_events/handler.py +0 -0
  486. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/cognitive/search_profiles/config.json +0 -0
  487. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/cognitive/search_profiles/handler.py +0 -0
  488. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/contacts/query_friends/config.json +0 -0
  489. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/contacts/query_friends/handler.py +0 -0
  490. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/contacts/query_groups/config.json +0 -0
  491. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/contacts/query_groups/handler.py +0 -0
  492. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/group/find_member/config.json +0 -0
  493. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/group/find_member/handler.py +0 -0
  494. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/group/get_files/config.json +0 -0
  495. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/group/get_files/handler.py +0 -0
  496. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/group/get_honor_info/config.json +0 -0
  497. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/group/get_honor_info/handler.py +0 -0
  498. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/group/get_member_list/config.json +0 -0
  499. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/group/get_member_list/handler.py +0 -0
  500. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/group/get_member_title/config.json +0 -0
  501. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/group/get_member_title/handler.py +0 -0
  502. {undefined_bot-3.3.1/src/Undefined/skills/toolsets/group → undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis}/activity_trend/config.json +0 -0
  503. {undefined_bot-3.3.1/src/Undefined/skills/toolsets/group → undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis}/activity_trend/handler.py +0 -0
  504. {undefined_bot-3.3.1/src/Undefined/skills/toolsets/group → undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis}/filter_members/config.json +0 -0
  505. {undefined_bot-3.3.1/src/Undefined/skills/toolsets/group → undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis}/filter_members/handler.py +0 -0
  506. {undefined_bot-3.3.1/src/Undefined/skills/toolsets/group/detect_inactive_risk → undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis/inactive_risk}/handler.py +0 -0
  507. {undefined_bot-3.3.1/src/Undefined/skills/toolsets/group → undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis}/level_distribution/config.json +0 -0
  508. {undefined_bot-3.3.1/src/Undefined/skills/toolsets/group → undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis}/level_distribution/handler.py +0 -0
  509. {undefined_bot-3.3.1/src/Undefined/skills/toolsets/group/get_member_activity → undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis/member_activity}/handler.py +0 -0
  510. {undefined_bot-3.3.1/src/Undefined/skills/toolsets/group → undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis}/rank_members/config.json +0 -0
  511. {undefined_bot-3.3.1/src/Undefined/skills/toolsets/group → undefined_bot-3.3.3/src/Undefined/skills/toolsets/group_analysis}/rank_members/handler.py +0 -0
  512. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/mcp/README.md +0 -0
  513. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/mcp/__init__.py +0 -0
  514. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/memes/search_memes/handler.py +0 -0
  515. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/config.json +0 -0
  516. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/handler.py +0 -0
  517. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/memory/README.md +0 -0
  518. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/memory/add/config.json +0 -0
  519. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/memory/add/handler.py +0 -0
  520. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/memory/delete/config.json +0 -0
  521. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/memory/delete/handler.py +0 -0
  522. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/memory/list/config.json +0 -0
  523. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/memory/list/handler.py +0 -0
  524. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/memory/update/config.json +0 -0
  525. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/memory/update/handler.py +0 -0
  526. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/README.md +0 -0
  527. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/get_forward_msg/config.json +0 -0
  528. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/get_forward_msg/handler.py +0 -0
  529. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/get_messages_by_time/config.json +0 -0
  530. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/get_recent_messages/config.json +0 -0
  531. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/list_emojis/config.json +0 -0
  532. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/list_emojis/handler.py +0 -0
  533. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/config.json +0 -0
  534. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/handler.py +0 -0
  535. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/react_message_emoji/config.json +0 -0
  536. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/react_message_emoji/handler.py +0 -0
  537. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/send_group_sign/config.json +0 -0
  538. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/send_group_sign/handler.py +0 -0
  539. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/send_message/config.json +0 -0
  540. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/send_poke/config.json +0 -0
  541. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/send_poke/handler.py +0 -0
  542. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/send_private_message/config.json +0 -0
  543. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/send_text_file/callable.json +0 -0
  544. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/send_text_file/config.json +0 -0
  545. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/send_text_file/handler.py +0 -0
  546. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/send_url_file/callable.json +0 -0
  547. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/send_url_file/config.json +0 -0
  548. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/messages/send_url_file/handler.py +0 -0
  549. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/notices/README.md +0 -0
  550. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/notices/get/config.json +0 -0
  551. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/notices/get/handler.py +0 -0
  552. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/notices/list/config.json +0 -0
  553. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/notices/list/handler.py +0 -0
  554. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/notices/stats/config.json +0 -0
  555. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/notices/stats/handler.py +0 -0
  556. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/render/README.md +0 -0
  557. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/render/render_html/config.json +0 -0
  558. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/render/render_markdown/config.json +0 -0
  559. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/scheduler/README.md +0 -0
  560. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/scheduler/create_schedule_task/config.json +0 -0
  561. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/scheduler/create_schedule_task/handler.py +0 -0
  562. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/scheduler/delete_schedule_task/config.json +0 -0
  563. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/scheduler/delete_schedule_task/handler.py +0 -0
  564. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/scheduler/list_schedule_tasks/config.json +0 -0
  565. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/scheduler/list_schedule_tasks/handler.py +0 -0
  566. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/scheduler/update_schedule_task/config.json +0 -0
  567. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/skills/toolsets/scheduler/update_schedule_task/handler.py +0 -0
  568. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/token_usage_storage.py +0 -0
  569. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/cache.py +0 -0
  570. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/cors.py +0 -0
  571. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/file_lock.py +0 -0
  572. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/group_metrics.py +0 -0
  573. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/http_download.py +0 -0
  574. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/io.py +0 -0
  575. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/logging.py +0 -0
  576. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/member_utils.py +0 -0
  577. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/message_targets.py +0 -0
  578. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/message_utils.py +0 -0
  579. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/paths.py +0 -0
  580. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/qq_emoji.py +0 -0
  581. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/request_params.py +0 -0
  582. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/resources.py +0 -0
  583. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/scheduler.py +0 -0
  584. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/self_update.py +0 -0
  585. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/time_utils.py +0 -0
  586. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/utils/tool_calls.py +0 -0
  587. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/__init__.py +0 -0
  588. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/__main__.py +0 -0
  589. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/app.py +0 -0
  590. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/core.py +0 -0
  591. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/routes/__init__.py +0 -0
  592. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/routes/_auth.py +0 -0
  593. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/routes/_bot.py +0 -0
  594. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/routes/_index.py +0 -0
  595. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/routes/_logs.py +0 -0
  596. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/routes/_memes.py +0 -0
  597. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/routes/_shared.py +0 -0
  598. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/routes/_system.py +0 -0
  599. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/css/.stylelintrc.json +0 -0
  600. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/css/app.css +0 -0
  601. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/css/base.css +0 -0
  602. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/css/landing.css +0 -0
  603. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/css/responsive.css +0 -0
  604. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/css/style.css +0 -0
  605. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/css/variables.css +0 -0
  606. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/favicon.svg +0 -0
  607. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/js/auth.js +0 -0
  608. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/js/logs.js +0 -0
  609. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/static/js/vendor/marked.min.js +0 -0
  610. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/utils/__init__.py +0 -0
  611. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/utils/comment.py +0 -0
  612. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/utils/config_io.py +0 -0
  613. {undefined_bot-3.3.1 → undefined_bot-3.3.3}/src/Undefined/webui/utils/toml_render.py +0 -0
@@ -33,12 +33,18 @@ graph TB
33
33
  BilibiliSender["sender.py<br/>视频发送<br/>• 视频消息 • 降级信息卡片"]
34
34
  end
35
35
 
36
+ subgraph GitHubModule["GitHub 模块 (github/)"]
37
+ GitHubParser["parser.py<br/>仓库标识解析<br/>• URL • SSH • owner/repo • JSON"]
38
+ GitHubClient["client.py<br/>public API 获取<br/>• 仓库信息 • contributors"]
39
+ GitHubSender["sender.py<br/>图片卡片发送<br/>• 头像 • 简介 • 统计"]
40
+ end
41
+
36
42
  subgraph SecurityLayer["安全防线 (services/)"]
37
43
  SecurityService["SecurityService<br/>安全服务<br/>• 注入攻击检测<br/>• 速率限制<br/>[security.py]"]
38
44
  InjectionAgent["InjectionResponseAgent<br/>注入响应生成<br/>[injection_response_agent.py]"]
39
45
  end
40
46
 
41
- CommandDispatcher["CommandDispatcher<br/>命令分发器<br/>• /help /stats /lsadmin<br/>• /addadmin /rmadmin<br/>• /bugfix /lsfaq<br/>[services/command.py]"]
47
+ CommandDispatcher["CommandDispatcher<br/>命令分发器<br/>• /help /stats /lsadmin<br/>• /addadmin /rmadmin<br/>• /bugfix /faq<br/>[services/command.py]"]
42
48
 
43
49
  subgraph QueueSystem["车站-列车 队列系统 (services/)"]
44
50
  AICoordinator["AICoordinator<br/>AI 协调器<br/>• Prompt 构建<br/>• 队列管理<br/>• 回复执行<br/>[ai_coordinator.py]"]
@@ -95,7 +101,7 @@ graph TB
95
101
  TS_Messages["messages.*<br/>• send_message<br/>• get_recent_messages<br/>• get_forward_msg"]
96
102
  TS_Memory["memory.*<br/>• add / delete<br/>• list / update"]
97
103
  TS_Contacts["contacts.*<br/>• query_friends<br/>• query_groups"]
98
- TS_GroupAnalysis["group_analysis.*<br/>• analyze_member_messages<br/>• analyze_join_statistics<br/>• analyze_new_member_activity"]
104
+ TS_GroupAnalysis["group_analysis.*<br/>• member_structure<br/>• message_mix<br/>• member_activity<br/>• activity_trend<br/>• inactive_risk<br/>• member_messages<br/>• join_statistics<br/>• new_member_activity"]
99
105
  TS_Notices["notices.*<br/>• list / get / stats"]
100
106
  TS_Render["render.*<br/>• render_html<br/>• render_latex<br/>• render_markdown"]
101
107
  TS_Scheduler["scheduler.*<br/>• create_schedule_task<br/>• delete_schedule_task<br/>• list_schedule_tasks"]
@@ -116,7 +122,7 @@ graph TB
116
122
  subgraph CommandsLayer["平台指令 (skills/commands/)"]
117
123
  Cmd_Core["核心指令<br/>• help • stats"]
118
124
  Cmd_Admin["管理指令<br/>• addadmin<br/>• rmadmin • lsadmin"]
119
- Cmd_FAQ["FAQ 指令<br/>• lsfaq • viewfaq<br/>• searchfaq • delfaq"]
125
+ Cmd_FAQ["FAQ 指令<br/>• faq (ls/view/search/del)"]
120
126
  Cmd_Fun["娱乐指令<br/>• bugfix"]
121
127
  end
122
128
 
@@ -208,13 +214,16 @@ graph TB
208
214
  SecurityService -.->|"API 调用"| LLM_API
209
215
  SecurityService -->|"注入攻击"| InjectionAgent
210
216
 
211
- MessageHandler -->|"1.5 Bilibili检测"| BilibiliParser
217
+ MessageHandler -->|"2. 指令?"| CommandDispatcher
218
+ CommandDispatcher -->|"执行结果经统一发送层写历史"| OneBotClient
219
+ MessageHandler -->|"2.5 非命令自动管线"| BilibiliParser
212
220
  BilibiliParser -->|"BV号"| BilibiliDownloader
213
221
  BilibiliDownloader -->|"视频文件"| BilibiliSender
214
222
  BilibiliSender -->|"发送"| OneBotClient
215
-
216
- MessageHandler -->|"2. 指令?"| CommandDispatcher
217
- CommandDispatcher -->|"执行结果"| OneBotClient
223
+ MessageHandler -->|"2.6 非命令自动管线"| GitHubParser
224
+ GitHubParser -->|"仓库ID"| GitHubClient
225
+ GitHubClient -->|"public仓库信息"| GitHubSender
226
+ GitHubSender -->|"发送图片卡片"| OneBotClient
218
227
 
219
228
  MessageHandler -->|"3. 自动回复"| AICoordinator
220
229
  AICoordinator -->|"创建上下文"| RequestContext
@@ -353,21 +362,22 @@ sequenceDiagram
353
362
  alt 检测到注入
354
363
  SS->>MH: 拦截并响应
355
364
  else 安全
356
- %% Bilibili 自动提取
357
- alt 消息包含B站链接/BV号
358
- MH->>MH: extract_bilibili_ids()
359
- MH->>MH: download_video()
360
- MH->>OH: 发送视频/信息卡片
361
- OH->>OB: WebSocket API
362
- OB->>U: 显示视频
363
- else 非B站内容
364
- %% 指令处理
365
- MH->>CD: 解析斜杠命令
365
+ %% 指令处理
366
+ MH->>CD: 解析斜杠命令
366
367
  alt 是命令
367
368
  CD->>ST: FAQ/管理员操作
369
+ CD->>ST: 写入命令输出历史
368
370
  CD-->>OB: 返回结果
369
371
  OB->>U: 发送响应
370
- else 是AI消息
372
+ else 非命令消息
373
+ MH->>MH: 并行检测 skills/auto_pipeline 管线
374
+ opt 命中自动提取管线
375
+ MH->>MH: 并行处理全部命中的自动提取
376
+ MH->>OH: 发送视频/卡片/PDF
377
+ OH->>OB: WebSocket API
378
+ OB->>U: 显示自动提取结果
379
+ MH->>ST: 写入自动提取结果历史和附件 UID
380
+ end
371
381
  %% AI处理流程
372
382
  MH->>AC: handle_auto_reply()
373
383
 
@@ -810,6 +820,7 @@ description: 从 PDF 文件中提取文本和表格,填写表单。当用户
810
820
  | **认知记忆** | `cognitive.enabled`, `cognitive.query.*`, `models.embedding.*` | 事件检索、时间衰减加权、侧写与后台史官 |
811
821
  | **Bilibili** | `bilibili.auto_extract_enabled`, `bilibili.cookie`, `bilibili.prefer_quality` | B站视频自动提取与下载 |
812
822
  | **arXiv** | `arxiv.auto_extract_enabled`, `arxiv.max_file_size`, `arxiv.auto_extract_max_items` | arXiv 论文自动提取、搜索与 PDF 发送 |
823
+ | **GitHub** | `github.auto_extract_enabled`, `github.request_timeout_seconds`, `github.auto_extract_max_items` | GitHub public 仓库自动提取与图片卡片发送 |
813
824
  | **思考链** | `*.thinking_enabled` | 思维链支持 |
814
825
  | **思维链兼容** | `*.thinking_tool_call_compat` | 思维链 + 工具调用兼容 |
815
826
  | **WebUI** | `webui.url`, `webui.port`, `webui.password` | 配置控制台 |
@@ -819,8 +830,9 @@ description: 从 PDF 文件中提取文本和表格,填写表单。当用户
819
830
  ### 8层架构分层
820
831
 
821
832
  1. **外部实体层**:用户、管理员、OneBot 协议端 (NapCat/Lagrange.Core)、大模型 API 服务商
822
- 2. **核心入口层**:main.py 启动入口、配置管理器 (config/loader.py)、热更新应用器 (config/hot_reload.py)、OneBotClient (onebot.py)、RequestContext (context.py)
823
- 3. **消息处理层**:MessageHandler (handlers.py)、SecurityService (security.py)、CommandDispatcher (services/command.py)、AICoordinator (ai_coordinator.py)、QueueManager (queue_manager.py)、Bilibili 自动提取 (bilibili/)
833
+ 2. **核心入口层**:main.py 启动入口、配置管理器 (config/loader.py)、热更新应用器 (config/hot_reload.py)、OneBotClient (onebot.py)、RequestContext (context.py)、Runtime API Server (api/app.py → api/routes/ 路由子模块)
834
+ 3. **消息处理层**:MessageHandler (handlers.py)、SecurityService (security.py)、CommandDispatcher (services/command.py)、AICoordinator (ai_coordinator.py)、QueueManager (queue_manager.py)、自动处理管线 (skills/auto_pipeline/)、Bilibili/arXiv/GitHub 解析与发送模块
835
+ 自动提取由 `AutoPipelineRegistry` 并行检测、并行处理全部命中的管线;发送结果写入历史后继续进入 AI 自动回复。
824
836
  4. **AI 核心能力层**:AIClient (client.py)、PromptBuilder (prompts.py)、ModelRequester (llm.py)、ToolManager (tooling.py)、MultimodalAnalyzer (multimodal.py)、SummaryService (summaries.py)、TokenCounter (tokens.py)
825
837
  5. **存储与上下文层**:MessageHistoryManager (utils/history.py, 10000条限制)、MemoryStorage (memory.py, 置顶备忘录, 500条上限)、EndSummaryStorage、CognitiveService + JobQueue + HistorianWorker + VectorStore + ProfileStorage、MemeService + MemeWorker + MemeStore + MemeVectorStore (表情包库)、FAQStorage、ScheduledTaskStorage、TokenUsageStorage (自动归档)
826
838
  6. **技能系统层**:ToolRegistry (registry.py)、AgentRegistry、6个 Agents、11类 Toolsets
@@ -1,3 +1,61 @@
1
+ ## v3.3.3 命令推断、自动处理管线与统一附件上下文
2
+
3
+ 本版本重点优化了命令系统的交互体验、AI 工具边界和消息前置处理链路。新增 GitHub 链接自动卡片生成,并将 Bilibili、arXiv、GitHub 等自动提取迁入 `skills/auto_pipeline` 热重载管线,使预处理结果能写入历史并进入后续 AI 回复上下文。同时,帮助说明与用户侧写默认改为图片输出,系统剥离独立群聊分析工具集,全面推行统一附件标签,并为远程附件加入可配置下载上限和 URL 引用降级,完善底层用户识别机制与模型高级透传配置。
4
+
5
+ - 优化命令系统:支持声明式子命令与用户意图推断。如 `/faq` 合并了列表、阅读、搜索与删除入口,可自然理解省略部分参数后的交互意图;旧 `/lsfaq`、`/viewfaq`、`/searchfaq`、`/delfaq` 入口已移除。
6
+ - 改善长文本呈现:`/help` 与 `/profile` 默认渲染为图片分发,避免长内容刷屏;保留 `-t` 参数用于强制返回纯文本,`/profile` 仍支持 `-f` 合并转发模式。
7
+ - 新增自动处理管线:在 `skills/auto_pipeline` 下提供 `config.json + handler.py` 结构,支持热重载、并行检测和并行处理多个命中结果;首批内置 Bilibili、arXiv、GitHub 三条管线,且斜杠命令优先级高于自动管线,命中命令后不会触发后续自动提取或 AI 自动回复。
8
+ - 优化自动管线启动加载:首次目录扫描、配置读取和 handler 导入改为异步线程加载,避免启动初始化阶段阻塞事件循环。
9
+ - 修复自动管线兜底初始化:未显式执行异步初始化的兼容路径会按未初始化处理并主动加载管线,避免静默跳过自动提取。
10
+ - 新增 GitHub 自动卡片:支持在对话中检测 GitHub 链接及 `owner/repo` 标识,自动生成包含项目简介、Stars、Forks、贡献者等信息的卡片;支持独立开关与白名单控制,并裁剪渲染截图底部空白。
11
+ - 打通命令与自动提取历史上下文:斜杠命令输入、命令输出、自动管线发送的信息、图片、文件和视频摘要都会写入消息历史;统一发送层会自动把本地 CQ 图片、视频、语音和上传文件登记为当前会话可见的 `pic_*` / `file_*` UID,并记录群合并转发摘要,后续 AI 回复可直接看到这些结果并用 `<attachment uid="..."/>` 引用附件。
12
+ - 新增远程附件下载上限:`[attachments].remote_download_max_size_mb` 控制外部远程附件缓存大小,超过上限或配置为 `0` 时只登记 URL 引用,避免大文件导致磁盘占用和消息处理延迟激增。
13
+ - 修复远程附件 URL 引用:下载禁用或超限时始终保留可访问 URL,原始 OneBot 文件标识或 QQ 来源作为追溯信息保存,避免后续 `<attachment>` 渲染成不可发送的图片地址。
14
+ - 优化历史落盘延迟:消息先同步写入内存历史供后续流程读取,磁盘 JSON 持久化改为按会话后台串行合并写入,减少大群历史文件全量保存拖慢复读和自动处理前置链路的情况。
15
+ - 修复历史异步保存失败保留:磁盘写入失败会向调度层传播并保留待保存快照,等待后续保存触发,避免队列合并过程中丢失已弹出的历史数据。
16
+ - 独立群聊分析工具:将群成员构成与水群分析从基础群工具中完全剥离,划归专属 `group_analysis.*` 集合,避免日常查询与复杂分析导致的 AI 工具边界混淆。
17
+ - 统一多模态附件标签:全系统推行 `<attachment uid="..."/>` 作为标准分发标签(继续兼容旧 `<pic>`),配套统一了表情包提示词,新增 `group.get_avatar` 头像专用工具。
18
+ - 优化表情包回复体验:提示词要求“文字 + 表情包”场景先发送必要文字,再在后续轮次检索和发送表情包,避免表情包检索拖慢首条回复。
19
+ - 稳定用户识别体系:底层认知逻辑固定以 QQ 号为唯一绑定标识,辅以 `group.get_member_info(brief=true)` 快速拉取当前昵称,有效解决群友频繁更换名片引发的识别错乱。
20
+ - 增强模型连接配置:新增 `stream_enabled` 独立控制推流行为,增加 `request_params` 以支持向不同厂商端点透传特殊参数。
21
+ - 完善流式 usage 统计:Chat Completions 启用上游流式请求时会自动附带 `stream_options.include_usage=true`,避免流式路径丢失 token 用量。
22
+ - 收窄流式回退范围:仅在明确的流式参数不兼容错误或 SDK 未实现时降级到非流式请求,鉴权、限流、网络和超时错误不再重复重发。
23
+ - 细化子命令限流:声明式子命令按父命令与子命令分别记录冷却时间,避免同一复合命令下不同操作互相挤占。
24
+ - 修复私聊模型池命令回归:`/compare`、`/pk` 和完整的 `选<number>` 模型选择消息会先交给模型池处理,普通私聊内容不会因模型池开启而被提前拦截。
25
+ - 改进命令参数解析:`[@QQ(含空格昵称)]` 会作为一个整体参数归一化,且超管可通过 dispatcher 层的管理员权限检查。
26
+ - 修正 `/naga` 子命令分发:handler 直接使用分发层解析出的子命令,并兼容改写后的 `[subcmd, *args]` 参数格式,避免把子命令名和 `naga_id` 相互误判。
27
+ - 收窄模型热更新范围:`summary`、`historian`、`grok` 专用模型变化只刷新 AI 运行时配置,不再重建聊天、视觉和 Agent 模型对象。
28
+ - 修复配置热更新细节:`skills.hot_reload` 变化会同步刷新 Anthropic Skills 注册表;模型池条目会保留 `reasoning_effort_style`;配置模板补齐 `models.summary.stream_enabled`。
29
+ - 修复总结模型选择:配置了 `models.summary` 时,聊天总结、摘要合并和标题生成会使用专用 summary 模型配置;仅热更新 summary 模型时也会重建摘要服务,避免继续沿用旧模型。
30
+ - 提升基础工程质量:对命令推断、群分析、附件处理、配置参数等进行了全面的单元与集成测试补强,总测试用例数提升至 1500+ 项。
31
+ - 修复图片渲染超时:重构 `render.py` 为浏览器实例单例复用模式,并引入可配置的并发信号量;共享渲染上下文会在页面创建失败时正确释放,防止低资源设备多任务抢占导致截图超时或资源残留。
32
+ - 改进渲染热更新:`render.browser_max_concurrency` 运行时变化会在当前渲染任务空闲后重建信号量,且不依赖 `asyncio.Semaphore` 私有属性;本地 LaTeX mathtext 渲染改用 Matplotlib 公共 `math_to_image` 接口。
33
+ - 改进 GitHub 卡片稳定性:裸仓库识别改为结合上下文与仓库名形态判断,降低普通路径误触发;渲染头像等外部资源会复用代理配置,发送后清理临时 PNG 缓存。
34
+ - 收紧子命令推断:声明式 inference 正则需要完整匹配参数,避免只匹配前缀时误选子命令。
35
+ - 修复 Playwright 启动失败清理:浏览器 launch 失败时会停止已启动的 driver,避免反复失败时残留资源。
36
+ - 改进 LaTeX 渲染稳定性:常见公式优先使用本地 `matplotlib` mathtext 渲染,复杂内容再回退共享浏览器实例中的 MathJax + Playwright,避免简单公式依赖外部网络或系统 TeX 环境。
37
+ - 修复流式输出一致性:Chat Completions 与 Responses 流式聚合结果不再裁剪模型输出前后空白,与非流式路径保持一致,避免代码块缩进或刻意留白被改写。
38
+
39
+ ---
40
+
41
+ ## v3.3.2 架构重构、假@检测与认知侧写增强
42
+
43
+ 围绕核心架构进行了大规模重构与功能增强:Runtime API 拆分为路由子模块、配置系统模块化拆分、新增假@检测机制与 /profile 多输出模式。同步引入复读机制全面升级(可配置阈值与冷却)、消息预处理并行化、WebUI 多项交互功能,以及 arXiv 论文分析 Agent 和安全计算器工具。测试覆盖从约 800 提升至 1438+。
44
+
45
+ - 新增假@检测:群聊中 `@+Bot昵称` 的文本形式也被识别为@消息,自动获取昵称(防竞态),`@昵称 /命令` 可正常触发斜杠指令。
46
+ - `/profile` 命令支持三种输出模式:`-f` 合并转发(默认)、`-r` 渲染为图片、`-t` 直接文本发送;超管可通过 `/p <QQ号>` 和 `/p g <群号>` 跨目标查看。
47
+ - 复读系统全面升级:触发阈值可配置(`repeat_threshold`)、Bot 发言不计入复读链、新增冷却机制(`repeat_cooldown_minutes`,?与 ? 等价)。
48
+ - Vision 模型 `max_tokens` 可配置(`[models.vision].max_tokens`,默认 8192),解决 thinking 模型 token 耗尽导致工具调用截断。
49
+ - 新增 arXiv 论文深度分析 Agent 与 `calculator` 安全计算器工具;新增消息历史限制可配置化(`[history].max_records`)。
50
+ - Runtime API 拆分为 8 个路由子模块(`api/routes/`);配置系统拆为 `loader.py`、`models.py`、`hot_reload.py`。
51
+ - 消息预处理并行化(`asyncio.gather`),认知史官改用 XML 格式并统一至 `utils/xml.py`。
52
+ - WebUI:Cmd/Ctrl+K 命令面板、骨架屏、日志时间过滤、资源趋势图、TOML 原始视图、配置版本历史与回滚、长期记忆 CRUD、Modal 焦点陷阱。
53
+ - WebUI 修复 top_k 溢出崩溃(四层防护)、表情包搜索防抖、仪表盘布局优化。
54
+ - 修复 AI 模仿系统关键词自动回复前缀、LaTeX `\n` 替换破坏数学命令、复读冷却消息丢弃与内存泄漏、historian 热重载追踪缺失、GIF 多帧分析与临时文件泄漏、附件渲染异常等多项问题。
55
+ - 修复 `/profile` 渲染留白和字体过小问题,使用 WebUI 配色并提高截断上限至 5000 字符。
56
+
57
+ ---
58
+
1
59
  ## v3.3.1 /version 命令的添加
2
60
 
3
61
  添加了 /version 命令以查看版本号和更改内容。
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Undefined-bot
3
- Version: 3.3.1
3
+ Version: 3.3.3
4
4
  Summary: QQ bot platform with cognitive memory architecture and multi-agent Skills, via OneBot V11.
5
5
  Project-URL: Repository, https://github.com/69gg/Undefined
6
6
  Project-URL: Issues, https://github.com/69gg/Undefined/issues
@@ -103,7 +103,7 @@ Description-Content-Type: text/markdown
103
103
  - **Management API + Runtime API 分层**:配置、日志、Bot 启停和管理探针由 Management API 提供;主进程 Runtime API 则专注探针、记忆只读查询、认知侧写检索和 WebUI AI Chat。详见 [docs/management-api.md](docs/management-api.md) 与 [docs/openapi.md](docs/openapi.md)。
104
104
  - **多模型池**:支持配置多个 AI 模型,可轮询、随机选择或用户指定;支持多模型并发比较,选择最佳结果继续对话。详见 [多模型功能文档](docs/multi-model.md)。
105
105
  - **本地知识库**:将纯文本文件向量化存入 ChromaDB,AI 可通过关键词搜索或语义搜索查询领域知识;支持增量嵌入与自动扫描。详见 [知识库文档](docs/knowledge.md)。
106
- - **全局表情包库**:收到图片后可异步判定是否为表情包,通过两阶段 LLM 管线生成纯文本描述与标签,支持关键词检索、语义检索和混合检索,并可直接按统一图片 `uid` 发送或插入 `<pic uid="..."/>`。详见 [表情包库说明](docs/memes.md)。
106
+ - **全局表情包库**:收到图片后可异步判定是否为表情包,通过两阶段 LLM 管线生成纯文本描述与标签,支持关键词检索、语义检索和混合检索,并可直接按统一图片 `uid` 发送或插入 `<attachment uid="..."/>`。详见 [表情包库说明](docs/memes.md)。
107
107
  - **访问控制(群/私聊)**:支持 `access.mode` 三种模式(`off` / `blacklist` / `allowlist`)和群/私聊黑白名单;可按策略限制收发范围,避免误触发与误投递。详见 [docs/access-control.md](docs/access-control.md)。
108
108
  - **版本变更可查询**:仓库根目录维护 `CHANGELOG.md`,并提供 `/changelog` 命令在运行时查看最近版本和单版本摘要。
109
109
  - **并行工具执行**:无论是主 AI 还是子 Agent,均支持 `asyncio` 并发工具调用,大幅提升多任务处理速度(如同时读取多个文件或搜索多个关键词)。
@@ -117,6 +117,8 @@ Description-Content-Type: text/markdown
117
117
  - **Anthropic Skills**:支持 Anthropic Agent Skills(SKILL.md 格式),遵循 agentskills.io 开放标准,提供领域知识注入能力。
118
118
  - **Bilibili 视频提取**:自动检测消息中的 B 站视频链接/BV 号/小程序分享,下载 1080p 视频并通过 QQ 发送;同时提供 AI 工具调用入口。
119
119
  - **arXiv 论文提取与搜索**:自动检测消息中的 arXiv 链接/标识并发送论文信息与 PDF;同时提供 `arxiv_paper` 发送工具和 `arxiv_search` 检索工具。
120
+ - **GitHub 仓库卡片**:自动检测 GitHub 仓库链接或 `owner/repo` 仓库 ID,获取 public 仓库信息并发送简洁图片卡片,展示头像、简介、stars、forks、issues、contributors 等概览。
121
+ - **自动处理管线**:Bilibili、arXiv、GitHub 等自动提取统一运行在 `skills/auto_pipeline` 中,斜杠命令优先级更高;命令输入/输出会写入历史,非命令消息会并行检测和处理命中管线,结果通过统一发送层写入历史并登记附件 UID 后再进入 AI 回复。远程大附件超过 `[attachments].remote_download_max_size_mb` 时只登记 URL 引用,避免无界下载和缓存膨胀。
120
122
  - **思维链支持**:支持开启思维链,提升复杂逻辑推理能力。
121
123
  - **高并发架构**:基于 `asyncio` 全异步设计,支持多队列消息处理与工具并发执行,轻松应对高并发场景。
122
124
  - **异步安全 I/O**:统一 IO 层通过线程池 + 跨平台文件锁(Linux/macOS `flock`,Windows `msvcrt`)+ 原子写入(`os.replace`)保证并发写入不损坏、且不阻塞主事件循环。
@@ -132,6 +134,7 @@ Description-Content-Type: text/markdown
132
134
  Undefined 的功能极为丰富,为了让本页面不过于臃肿,我们将各个模块的深入解析与高阶玩法整理成了专题游览图。这里是开启探索的钥匙:
133
135
 
134
136
  - ⚙️ **[安装与部署指南](docs/deployment.md)**:不管你是需要 `pip` 无脑一键安装,还是源码二次开发,这里的排坑指南应有尽有。
137
+ - 🖥️ **[WebUI 使用指南](docs/webui-guide.md)**:管理控制台功能一览——配置编辑、日志查看、认知记忆管理、表情包库、AI 对话与系统监控。
135
138
  - 🧭 **[Management API 与远程管理](docs/management-api.md)**:WebUI / App 共用的管理接口、认证、配置/日志/Bot 控制与引导探针说明。
136
139
  - 🛠️ **[配置与热更新说明](docs/configuration.md)**:从模型切换到 MCP 库挂载,全方位掌握 `config.toml` 的高阶配置。
137
140
  - 😶 **[表情包系统 (Memes)](docs/memes.md)**:查看表情包两阶段判定管线、统一图片 `uid` 发送机制、检索模式及库存管理说明。
@@ -43,7 +43,7 @@
43
43
  - **Management API + Runtime API 分层**:配置、日志、Bot 启停和管理探针由 Management API 提供;主进程 Runtime API 则专注探针、记忆只读查询、认知侧写检索和 WebUI AI Chat。详见 [docs/management-api.md](docs/management-api.md) 与 [docs/openapi.md](docs/openapi.md)。
44
44
  - **多模型池**:支持配置多个 AI 模型,可轮询、随机选择或用户指定;支持多模型并发比较,选择最佳结果继续对话。详见 [多模型功能文档](docs/multi-model.md)。
45
45
  - **本地知识库**:将纯文本文件向量化存入 ChromaDB,AI 可通过关键词搜索或语义搜索查询领域知识;支持增量嵌入与自动扫描。详见 [知识库文档](docs/knowledge.md)。
46
- - **全局表情包库**:收到图片后可异步判定是否为表情包,通过两阶段 LLM 管线生成纯文本描述与标签,支持关键词检索、语义检索和混合检索,并可直接按统一图片 `uid` 发送或插入 `<pic uid="..."/>`。详见 [表情包库说明](docs/memes.md)。
46
+ - **全局表情包库**:收到图片后可异步判定是否为表情包,通过两阶段 LLM 管线生成纯文本描述与标签,支持关键词检索、语义检索和混合检索,并可直接按统一图片 `uid` 发送或插入 `<attachment uid="..."/>`。详见 [表情包库说明](docs/memes.md)。
47
47
  - **访问控制(群/私聊)**:支持 `access.mode` 三种模式(`off` / `blacklist` / `allowlist`)和群/私聊黑白名单;可按策略限制收发范围,避免误触发与误投递。详见 [docs/access-control.md](docs/access-control.md)。
48
48
  - **版本变更可查询**:仓库根目录维护 `CHANGELOG.md`,并提供 `/changelog` 命令在运行时查看最近版本和单版本摘要。
49
49
  - **并行工具执行**:无论是主 AI 还是子 Agent,均支持 `asyncio` 并发工具调用,大幅提升多任务处理速度(如同时读取多个文件或搜索多个关键词)。
@@ -57,6 +57,8 @@
57
57
  - **Anthropic Skills**:支持 Anthropic Agent Skills(SKILL.md 格式),遵循 agentskills.io 开放标准,提供领域知识注入能力。
58
58
  - **Bilibili 视频提取**:自动检测消息中的 B 站视频链接/BV 号/小程序分享,下载 1080p 视频并通过 QQ 发送;同时提供 AI 工具调用入口。
59
59
  - **arXiv 论文提取与搜索**:自动检测消息中的 arXiv 链接/标识并发送论文信息与 PDF;同时提供 `arxiv_paper` 发送工具和 `arxiv_search` 检索工具。
60
+ - **GitHub 仓库卡片**:自动检测 GitHub 仓库链接或 `owner/repo` 仓库 ID,获取 public 仓库信息并发送简洁图片卡片,展示头像、简介、stars、forks、issues、contributors 等概览。
61
+ - **自动处理管线**:Bilibili、arXiv、GitHub 等自动提取统一运行在 `skills/auto_pipeline` 中,斜杠命令优先级更高;命令输入/输出会写入历史,非命令消息会并行检测和处理命中管线,结果通过统一发送层写入历史并登记附件 UID 后再进入 AI 回复。远程大附件超过 `[attachments].remote_download_max_size_mb` 时只登记 URL 引用,避免无界下载和缓存膨胀。
60
62
  - **思维链支持**:支持开启思维链,提升复杂逻辑推理能力。
61
63
  - **高并发架构**:基于 `asyncio` 全异步设计,支持多队列消息处理与工具并发执行,轻松应对高并发场景。
62
64
  - **异步安全 I/O**:统一 IO 层通过线程池 + 跨平台文件锁(Linux/macOS `flock`,Windows `msvcrt`)+ 原子写入(`os.replace`)保证并发写入不损坏、且不阻塞主事件循环。
@@ -72,6 +74,7 @@
72
74
  Undefined 的功能极为丰富,为了让本页面不过于臃肿,我们将各个模块的深入解析与高阶玩法整理成了专题游览图。这里是开启探索的钥匙:
73
75
 
74
76
  - ⚙️ **[安装与部署指南](docs/deployment.md)**:不管你是需要 `pip` 无脑一键安装,还是源码二次开发,这里的排坑指南应有尽有。
77
+ - 🖥️ **[WebUI 使用指南](docs/webui-guide.md)**:管理控制台功能一览——配置编辑、日志查看、认知记忆管理、表情包库、AI 对话与系统监控。
75
78
  - 🧭 **[Management API 与远程管理](docs/management-api.md)**:WebUI / App 共用的管理接口、认证、配置/日志/Bot 控制与引导探针说明。
76
79
  - 🛠️ **[配置与热更新说明](docs/configuration.md)**:从模型切换到 MCP 库挂载,全方位掌握 `config.toml` 的高阶配置。
77
80
  - 😶 **[表情包系统 (Memes)](docs/memes.md)**:查看表情包两阶段判定管线、统一图片 `uid` 发送机制、检索模式及库存管理说明。
@@ -122,6 +122,9 @@ responses_force_stateless_replay = false
122
122
  # zh: 是否启用自动 prompt_cache_key(建议开启,以提高相似请求的缓存命中率)。
123
123
  # en: Enable automatic prompt_cache_key generation (recommended).
124
124
  prompt_cache_enabled = true
125
+ # zh: 是否对上游模型 API 启用流式请求。
126
+ # en: Enable streaming requests to the upstream model API.
127
+ stream_enabled = false
125
128
 
126
129
  # zh: 额外请求体参数(可选),可用于 temperature 或供应商私有参数。
127
130
  # en: Extra request-body params (optional), e.g. temperature or vendor-specific fields.
@@ -152,6 +155,9 @@ api_key = ""
152
155
  # zh: Vision 模型名称。
153
156
  # en: Vision model name.
154
157
  model_name = ""
158
+ # zh: Vision 模型最大输出 tokens。启用 thinking 时建议设大(如 8192),确保思维链消耗后仍有余量输出工具调用。
159
+ # en: Vision model max output tokens. When thinking is enabled, use a larger value (e.g. 8192) so there is still room for tool-call output after thinking.
160
+ max_tokens = 8192
155
161
  # zh: 队列发车间隔(秒,0 表示立即发车)。
156
162
  # en: Queue interval (seconds; 0 dispatches immediately).
157
163
  queue_interval_seconds = 1.0
@@ -186,6 +192,9 @@ responses_tool_choice_compat = false
186
192
  # en: Responses API force stateless replay: when enabled, multi-turn tool follow-ups always skip previous_response_id and replay the full message history instead. Use only when the upstream does not handle stateful responses follow-ups correctly. Disabled by default.
187
193
  responses_force_stateless_replay = false
188
194
  prompt_cache_enabled = true
195
+ # zh: 是否对上游模型 API 启用流式请求。
196
+ # en: Enable streaming requests to the upstream model API.
197
+ stream_enabled = false
189
198
 
190
199
  # zh: 额外请求体参数(可选),可用于 temperature 或供应商私有参数。
191
200
  # en: Extra request-body params (optional), e.g. temperature or vendor-specific fields.
@@ -243,6 +252,9 @@ responses_tool_choice_compat = false
243
252
  # en: Responses API force stateless replay: when enabled, multi-turn tool follow-ups always skip previous_response_id and replay the full message history instead. Use only when the upstream does not handle stateful responses follow-ups correctly. Disabled by default.
244
253
  responses_force_stateless_replay = false
245
254
  prompt_cache_enabled = true
255
+ # zh: 是否对上游模型 API 启用流式请求。
256
+ # en: Enable streaming requests to the upstream model API.
257
+ stream_enabled = false
246
258
 
247
259
  # zh: 额外请求体参数(可选),可用于 temperature 或供应商私有参数。
248
260
  # en: Extra request-body params (optional), e.g. temperature or vendor-specific fields.
@@ -298,6 +310,9 @@ responses_tool_choice_compat = false
298
310
  # zh: Responses API 续轮强制降级。
299
311
  # en: Responses API force stateless replay.
300
312
  responses_force_stateless_replay = false
313
+ # zh: 是否对上游模型 API 启用流式请求。
314
+ # en: Enable streaming requests to the upstream model API.
315
+ stream_enabled = false
301
316
 
302
317
  # zh: 额外请求体参数(可选),可用于 temperature 或供应商私有参数。
303
318
  # en: Extra request-body params (optional), e.g. temperature or vendor-specific fields.
@@ -352,6 +367,9 @@ responses_tool_choice_compat = false
352
367
  # en: Responses API force stateless replay: when enabled, multi-turn tool follow-ups always skip previous_response_id and replay the full message history instead. Use only when the upstream does not handle stateful responses follow-ups correctly. Disabled by default.
353
368
  responses_force_stateless_replay = false
354
369
  prompt_cache_enabled = true
370
+ # zh: 是否对上游模型 API 启用流式请求。
371
+ # en: Enable streaming requests to the upstream model API.
372
+ stream_enabled = false
355
373
 
356
374
  # zh: 额外请求体参数(可选),可用于 temperature 或供应商私有参数。
357
375
  # en: Extra request-body params (optional), e.g. temperature or vendor-specific fields.
@@ -419,11 +437,71 @@ responses_tool_choice_compat = false
419
437
  # en: Responses API force stateless replay: when enabled, multi-turn tool follow-ups always skip previous_response_id and replay the full message history instead. Use only when the upstream does not handle stateful responses follow-ups correctly. Disabled by default.
420
438
  responses_force_stateless_replay = false
421
439
  prompt_cache_enabled = true
440
+ # zh: 是否对上游模型 API 启用流式请求。
441
+ # en: Enable streaming requests to the upstream model API.
442
+ stream_enabled = false
422
443
 
423
444
  # zh: 额外请求体参数(可选),可用于 temperature 或供应商私有参数。
424
445
  # en: Extra request-body params (optional), e.g. temperature or vendor-specific fields.
425
446
  [models.historian.request_params]
426
447
 
448
+ # zh: 消息总结模型配置(/summary /sum 专用;未配置时回退到 agent 模型)。
449
+ # en: Message-summary model config (used by /summary and /sum; falls back to the agent model when unset).
450
+ [models.summary]
451
+ # zh: OpenAI-compatible 基址 URL,例如 https://api.openai.com/v1(legacy "/chat/completions" 已弃用但仍兼容)。
452
+ # en: OpenAI-compatible base URL, e.g. https://api.openai.com/v1. Note: legacy "/chat/completions" is deprecated but still supported.
453
+ api_url = ""
454
+ # zh: 消息总结模型 API Key。
455
+ # en: Message-summary model API key.
456
+ api_key = ""
457
+ # zh: 消息总结模型名称。
458
+ # en: Message-summary model name.
459
+ model_name = ""
460
+ # zh: 可选限制:最大生成 tokens。
461
+ # en: Optional limit: max generation tokens.
462
+ max_tokens = 4096
463
+ # zh: 队列发车间隔(秒,0 表示立即发车)。
464
+ # en: Queue interval (seconds; 0 dispatches immediately).
465
+ queue_interval_seconds = 1.0
466
+ # zh: API 模式:传统 chat.completions 或新版 responses。
467
+ # en: API mode: classic chat.completions or the newer responses API.
468
+ api_mode = "chat_completions"
469
+ # zh: 是否启用 reasoning.effort。
470
+ # en: Enable reasoning.effort.
471
+ reasoning_enabled = false
472
+ # zh: reasoning effort 档位。
473
+ # en: reasoning effort level.
474
+ reasoning_effort = "medium"
475
+ # zh: 是否启用 thinking(思维链)。
476
+ # en: Enable thinking (reasoning).
477
+ thinking_enabled = false
478
+ # zh: thinking 预算 tokens。
479
+ # en: Thinking-budget tokens.
480
+ thinking_budget_tokens = 0
481
+ # zh: 是否在请求中发送 budget_tokens(关闭后由提供商决定思维预算)。
482
+ # en: Whether to include budget_tokens in the request (if disabled, the provider decides the thinking budget).
483
+ thinking_include_budget = true
484
+ # zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
485
+ # en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
486
+ reasoning_effort_style = "openai"
487
+ # zh: 思维链工具调用兼容:启用后在多轮工具调用中回传 reasoning_content,避免部分模型返回 400。
488
+ # en: Thinking tool-call compatibility: pass back reasoning_content in multi-turn tool calls to avoid 400 errors from some models.
489
+ thinking_tool_call_compat = true
490
+ # zh: Responses API 的 tool_choice 兼容模式:仅在关闭时请求仍返回 500、怀疑上游不兼容对象型 tool_choice 时再尝试开启;开启后上报为 "required" 并只保留目标工具。默认关闭。
491
+ # en: Responses API tool_choice compatibility mode: only try enabling this when requests still return 500 with the default setting and you suspect the upstream does not support object-style tool_choice; it sends "required" and keeps only the selected tool. Disabled by default.
492
+ responses_tool_choice_compat = false
493
+ # zh: Responses API 续轮强制降级:启用后,多轮工具调用将始终跳过 previous_response_id,直接使用完整消息重放(stateless replay)。仅在上游不兼容 responses 状态续轮时使用。默认关闭。
494
+ # en: Responses API force stateless replay: when enabled, multi-turn tool follow-ups always skip previous_response_id and replay the full message history instead. Use only when the upstream does not handle stateful responses follow-ups correctly. Disabled by default.
495
+ responses_force_stateless_replay = false
496
+ prompt_cache_enabled = true
497
+ # zh: 是否对上游模型 API 启用流式请求。
498
+ # en: Enable streaming requests to the upstream model API.
499
+ stream_enabled = false
500
+
501
+ # zh: 额外请求体参数(可选),可用于 temperature 或供应商私有参数。
502
+ # en: Extra request-body params (optional), e.g. temperature or vendor-specific fields.
503
+ [models.summary.request_params]
504
+
427
505
  # zh: Grok 搜索模型配置(仅供 web_agent 内的 grok_search 使用;固定走 chat.completions,不支持 tool call 兼容字段)。
428
506
  # en: Grok search model config (used only by grok_search inside web_agent; always uses chat completions and does not expose tool-call compatibility fields).
429
507
  [models.grok]
@@ -463,6 +541,9 @@ reasoning_effort_style = "openai"
463
541
  # zh: 是否启用自动 prompt_cache_key(建议开启,以提高相似请求的缓存命中率)。
464
542
  # en: Enable automatic prompt_cache_key generation (recommended).
465
543
  prompt_cache_enabled = true
544
+ # zh: 是否对上游模型 API 启用流式请求。
545
+ # en: Enable streaming requests to the upstream model API.
546
+ stream_enabled = false
466
547
 
467
548
  # zh: 额外请求体参数(可选),可用于 temperature 或供应商私有参数。
468
549
  # en: Extra request-body params (optional), e.g. temperature or vendor-specific fields.
@@ -656,16 +737,53 @@ pool_enabled = false
656
737
  # zh: 彩蛋提示发送模式。模式:"none"(关闭)/"agent"(主 AI 调用 Agent 时发送)/"tools"(主 AI 或 Agent 调用 Tool 时发送)/"clean"(过滤噪声;对自动预取的工具如 "get_current_time"、"send_message"、"end" 不予提示)/"all"(包括 Agent 内部调用其子工具即 "agent_tool" 的场景也发送)。默认:"none"。
657
738
  # en: Easter-egg announcement mode. Modes: "none" (off) / "agent" (send when the main AI calls an Agent) / "tools" (send when the main AI or an Agent calls a Tool) / "clean" (filter noise; automatically prefetched tools such as "get_current_time", "send_message", and "end" are not announced) / "all" (also send when an Agent internally calls its sub-tools, i.e. "agent_tool"). Default: "none".
658
739
  agent_call_message_enabled = "none"
659
- # zh: 是否启用群聊关键词(“心理委员”)自动回复。
740
+ # zh: 是否启用群聊关键词("心理委员")自动回复。
660
741
  # en: Enable keyword auto-replies("心理委员") in group chats.
661
742
  keyword_reply_enabled = false
743
+ # zh: 是否启用群聊复读功能(连续 N 条相同消息时复读,N 由 repeat_threshold 控制;若期间有 bot 自身发言则重置链)。
744
+ # en: Enable repeat feature in group chats (repeat when N consecutive identical messages arrive, N set by repeat_threshold; resets if bot itself sent the same text in between).
745
+ repeat_enabled = false
746
+ # zh: 复读触发所需的连续相同消息条数(来自不同发送者),范围 2–20,默认 3。
747
+ # en: Number of consecutive identical messages (from different senders) required to trigger repeat, range 2–20, default 3.
748
+ repeat_threshold = 3
749
+ # zh: 复读冷却时间(分钟)。同一内容被复读后,在冷却时间内不再重复复读。0 = 无冷却。问号类消息(?/?)视为等价。
750
+ # en: Repeat cooldown (minutes). After repeating the same content, won't repeat it again within this cooldown. 0 = no cooldown. Question marks (?/?) are treated as equivalent.
751
+ repeat_cooldown_minutes = 60
752
+ # zh: 是否启用倒问号(复读触发时,若消息为问号则发送倒问号 ¿)。
753
+ # en: Enable inverted question mark (when repeat triggers on "?" messages, send "¿" instead).
754
+ inverted_question_enabled = false
662
755
 
663
756
  # zh: 历史记录配置。
664
757
  # en: History settings.
665
758
  [history]
666
- # zh: 每个会话最多保留的消息条数。
667
- # en: Max messages to keep per conversation.
759
+ # zh: 每个会话最多保留的消息条数(0 = 无限制,注意内存占用)。
760
+ # en: Max messages to keep per conversation (0 = unlimited, mind memory usage).
668
761
  max_records = 10000
762
+ # zh: 工具过滤查询返回的最大消息条数。
763
+ # en: Max messages returned by tool filtered queries.
764
+ filtered_result_limit = 200
765
+ # zh: 工具过滤搜索时扫描的最大消息条数。
766
+ # en: Max messages to scan when tools perform filtered searches.
767
+ search_scan_limit = 10000
768
+ # zh: 总结 agent 单次拉取的最大消息条数。
769
+ # en: Max messages the summary agent can fetch per call.
770
+ summary_fetch_limit = 1000
771
+ # zh: 总结 agent 按时间范围查询时的最大拉取条数。
772
+ # en: Max messages the summary agent fetches for time-range queries.
773
+ summary_time_fetch_limit = 5000
774
+ # zh: OneBot API 回退获取的最大消息条数。
775
+ # en: Max messages to fetch via OneBot API fallback.
776
+ onebot_fetch_limit = 10000
777
+ # zh: 群分析工具的消息/成员返回上限。
778
+ # en: Max messages/members returned by group analysis tools.
779
+ group_analysis_limit = 500
780
+
781
+ # zh: 附件缓存配置。
782
+ # en: Attachment cache settings.
783
+ [attachments]
784
+ # zh: 远程附件自动下载并缓存的最大大小(MB)。超过上限或设为 0 时只保留 URL 引用,不下载文件内容。
785
+ # en: Max remote attachment size (MB) to download into cache. Above the limit, or 0, keeps only a URL reference.
786
+ remote_download_max_size_mb = 25
669
787
 
670
788
  # zh: Skills 热重载配置(可选)。
671
789
  # en: Skills hot reload settings (optional).
@@ -710,8 +828,10 @@ grok_search_enabled = false
710
828
  # zh: 代理设置(可选)。
711
829
  # en: Proxy settings (optional).
712
830
  [proxy]
713
- # zh: 是否在 "web_agent" 中启用代理。
714
- # en: Enable proxy in "web_agent".
831
+ # zh: 是否使用代理。
832
+ # en: Whether to use proxy.
833
+ # zh: 作用于 GitHub/arXiv 自动提取等走统一 HTTP 客户端的联网请求;关闭后也不会再读取代理环境变量。
834
+ # en: Applies to GitHub/arXiv auto extraction and other shared HTTP-client requests; when disabled, proxy env vars are ignored.
715
835
  use_proxy = true
716
836
  # zh: 例如 http://127.0.0.1:7890(也可使用环境变量 "HTTP_PROXY")。
717
837
  # en: e.g. http://127.0.0.1:7890 (or use the "HTTP_PROXY" environment variable).
@@ -730,6 +850,13 @@ request_timeout_seconds = 30.0
730
850
  # en: Default retry count (0-5).
731
851
  request_retries = 0
732
852
 
853
+ # zh: HTML/Markdown 图片渲染配置。
854
+ # en: HTML/Markdown image rendering settings.
855
+ [render]
856
+ # zh: 渲染浏览器最大同时开启数量。0 表示自动:Linux 默认 1,其它平台默认 2。
857
+ # en: Max concurrent render browser pages. 0 = auto: Linux defaults to 1, other platforms default to 2.
858
+ browser_max_concurrency = 0
859
+
733
860
  # zh: 第三方 API 基础地址(便于自定义镜像或私有网关)。
734
861
  # en: Third-party API base URLs (for mirrors or private gateways).
735
862
  [api_endpoints]
@@ -855,6 +982,25 @@ author_preview_limit = 20
855
982
  # en: Max summary preview characters in paper info. <=0 falls back to 1000.
856
983
  summary_preview_chars = 1000
857
984
 
985
+ # zh: GitHub 仓库自动提取配置(仅获取 public 仓库信息)。
986
+ # en: GitHub repository auto-extraction settings (public repositories only).
987
+ [github]
988
+ # zh: 是否启用自动提取(检测到 GitHub 仓库链接或 owner/repo 仓库 ID 时自动发送图片卡片)。
989
+ # en: Enable auto-extraction (auto-send an image card when GitHub repository links or owner/repo IDs are detected).
990
+ auto_extract_enabled = false
991
+ # zh: GitHub API 请求超时(秒)。<=0 回退 10,>60 截断到 60。
992
+ # en: GitHub API request timeout (seconds). <=0 falls back to 10, >60 is clamped to 60.
993
+ request_timeout_seconds = 10.0
994
+ # zh: 自动提取功能的群聊白名单(空=跟随全局 access.allowed_group_ids)。
995
+ # en: Group allowlist for auto-extraction (empty = follow global access.allowed_group_ids).
996
+ auto_extract_group_ids = []
997
+ # zh: 自动提取功能的私聊白名单(空=跟随全局 access.allowed_private_ids)。
998
+ # en: Private chat allowlist for auto-extraction (empty = follow global access.allowed_private_ids).
999
+ auto_extract_private_ids = []
1000
+ # zh: 单条消息最多自动处理几个 GitHub 仓库。<=0 回退 3,>10 截断到 10。
1001
+ # en: Max number of GitHub repositories to auto-process from one message. <=0 falls back to 3, >10 is clamped to 10.
1002
+ auto_extract_max_items = 3
1003
+
858
1004
  # zh: Code Delivery Agent 配置(代码交付 Agent,在 Docker 容器中编写代码并打包上传)。
859
1005
  # en: Code Delivery Agent settings (writes code in Docker containers and delivers packaged results).
860
1006
  [code_delivery]
@@ -1095,6 +1241,12 @@ max_total_bytes = 5368709120
1095
1241
  # zh: 是否允许 GIF 入库。
1096
1242
  # en: Whether GIF files are allowed.
1097
1243
  allow_gif = true
1244
+ # zh: GIF 分析模式:grid(多帧拼接为网格图)或 multi(多帧分开发送给模型)。
1245
+ # en: GIF analysis mode: grid (composite frames into grid) or multi (send frames separately).
1246
+ gif_analysis_mode = "grid"
1247
+ # zh: GIF 分析帧数(包括首末帧,均匀采样)。
1248
+ # en: Number of frames to extract for GIF analysis (including first/last, evenly sampled).
1249
+ gif_analysis_frames = 6
1098
1250
  # zh: 是否自动处理群聊图片。
1099
1251
  # en: Auto-ingest group chat images.
1100
1252
  auto_ingest_group = true
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "Undefined-bot"
3
- version = "3.3.1"
3
+ version = "3.3.3"
4
4
  description = "QQ bot platform with cognitive memory architecture and multi-agent Skills, via OneBot V11."
5
5
  readme = "README.md"
6
6
  authors = [
@@ -18,7 +18,8 @@
18
18
  - 情绪/语气:无语、震惊、委屈、嘲讽、得意、阴阳怪气、崩溃、开心、嫌弃
19
19
  - 动作/状态:翻白眼、鼓掌、捂脸、叹气、偷笑、流汗、发呆、摊手
20
20
  - 使用场景:敷衍回应、上班吐槽、群聊附和、阴阳怪气、看乐子、尴尬收场
21
- - 如果图中文字本身就是表情包语义的一部分,可以概括它表达的意思,但不要逐字转录。
21
+ - 图中文字/OCR:图片内写的关键字句、台词、配文、对话气泡内容等
22
+ - 图中如果有文字(配字、台词、对话气泡、水印等),必须把文字内容融入描述,这是搜索命中的重要依据。短文字尽量原文写入描述,长文字可以概括核心关键词句,但不要完全忽略图中文字。
22
23
  - `description` 不能只写情绪和用途,也必须写出图片内容本身:谁/什么在画面里、表情如何、动作如何、画面是什么类型。
23
24
  - 如果画面里有明显视觉特征,也要写出来,例如:
24
25
  - 主体是谁或是什么
@@ -52,10 +53,11 @@
52
53
  - 不要堆重复词,例如 `无语`、`很无语`、`超级无语` 这种不要同时出现。
53
54
 
54
55
  额外限制:
55
- - 不要输出 OCR。
56
- - 不要逐字抄录图中文字。
56
+ - 不要逐字抄录大段长文,但短句、关键词、配字应尽量原文写入描述。
57
+ - 不要输出独立的 OCR 字段或逐行转录,文字内容应自然融入 description。
57
58
  - 不要输出 Markdown,不要输出额外解释。
58
59
  - 你必须且只能调用 `submit_meme_description`。
60
+ - 如果收到的是一张网格图(多帧拼接)或多张图片,说明原图是动图/GIF:描述应涵盖动图的动态变化过程和整体语义,不要只描述单帧;可以在 tags 里加上 `动图` 标签。
59
61
 
60
62
  好的例子:
61
63
  - `description`: `猫猫无语翻白眼反应图`
@@ -70,9 +72,13 @@
70
72
  `tags`: [`猫猫`, `嫌弃`, `无语`, `翻白眼`]
71
73
  - `description`: `真人聊天截图里尴尬陪笑又有点敷衍的表情包`
72
74
  `tags`: [`真人`, `聊天截图`, `尴尬`, `敷衍`]
75
+ - `description`: `熊猫头配字“行吧”无奈妥协表情包`
76
+ `tags`: [`熊猫头`, `无奈`, `行吧`, `配字`]
77
+ - `description`: `猫猫捂脸配字“我裂开了”崩溃反应图`
78
+ `tags`: [`猫猫`, `崩溃`, `我裂开了`, `捂脸`]
73
79
 
74
80
  差的例子:
75
81
  - `description`: `一张表情包`
76
82
  - `description`: `一个猫的图片`
77
- - `description`: `图片上写了几句话`
83
+ - `description`: `图片上写了字`(只提有字但不写具体内容)
78
84
  - `description`: `表达无语`
@@ -35,7 +35,7 @@ observations: {observations}
35
35
  当前消息原文(触发本轮):
36
36
  {source_message}
37
37
 
38
- 最近消息参考(用于消歧,不要求逐字复述):
38
+ 最近消息参考(XML 格式,与主对话一致,消息间以 `---` 分隔,用于消歧,不要求逐字复述):
39
39
  {recent_messages}
40
40
 
41
41
  必须通过 `submit_rewrite` 工具提交结果,禁止输出普通文本内容。
@@ -22,3 +22,4 @@
22
22
  - `is_meme` 仅表示“适不适合放进聊天表情包库”,不是“图里有没有梗”
23
23
  - `reason` 用一句简短中文说明依据
24
24
  - 只有当“整张图整体上就是一张可直接发送的表情包”时,才能给 `is_meme=true`
25
+ - 如果收到的是一张网格图(多帧拼接)或多张图片,说明原图是动图/GIF:请综合所有帧判断这个动图整体是否适合作为表情包,不要只看单帧