Undefined-bot 3.17.0__tar.gz → 3.17.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (857) hide show
  1. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/ARCHITECTURE.md +2 -2
  2. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/CHANGELOG.md +28 -0
  3. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/PKG-INFO +40 -34
  4. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/README.md +39 -33
  5. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/config.toml.example +21 -18
  6. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/pyproject.toml +1 -1
  7. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/historian_profile_merge.md +7 -2
  8. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/__init__.py +1 -1
  9. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/client/setup.py +6 -0
  10. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/attachments/registry.py +28 -17
  11. undefined_bot-3.17.2/src/Undefined/attachments/remote.py +242 -0
  12. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/attachments/segments.py +19 -0
  13. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/bilibili/format.py +8 -0
  14. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/bilibili/opus_sender.py +50 -12
  15. undefined_bot-3.17.2/src/Undefined/cognitive/historian/scheduling.py +142 -0
  16. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/cognitive/historian/tools.py +1 -1
  17. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/cognitive/historian/worker.py +243 -237
  18. undefined_bot-3.17.2/src/Undefined/cognitive/job_queue.py +270 -0
  19. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/cognitive/profile_storage.py +3 -1
  20. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/cognitive/service/service.py +63 -54
  21. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/config_class.py +1 -0
  22. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/env_registry.py +4 -0
  23. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/hot_reload.py +1 -0
  24. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/load_sections/history_skills.py +8 -0
  25. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/catalog.py +13 -4
  26. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/cli.py +1 -1
  27. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/config_patch.py +2 -2
  28. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/generate.py +5 -14
  29. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/runner.py +14 -6
  30. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/templates/compose.bot.yaml +3 -3
  31. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/douyin/parser.py +11 -4
  32. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/render.py +80 -1
  33. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/README.md +1 -1
  34. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/README.md +1 -0
  35. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/handler.py +3 -0
  36. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/registry.py +19 -8
  37. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/bilibili_opus/README.md +1 -1
  38. undefined_bot-3.17.2/src/Undefined/skills/toolsets/render/README.md +24 -0
  39. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/render/layout.py +3 -0
  40. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/render/render_html/config.json +1 -1
  41. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/render/render_markdown/config.json +1 -1
  42. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/io.py +18 -2
  43. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/render_cache.py +2 -0
  44. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/sender.py +187 -5
  45. undefined_bot-3.17.0/src/Undefined/cognitive/job_queue.py +0 -206
  46. undefined_bot-3.17.0/src/Undefined/skills/toolsets/render/README.md +0 -20
  47. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/.gitignore +0 -0
  48. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/LICENSE +0 -0
  49. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/config/README.md +0 -0
  50. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/config/mcp.json.example +0 -0
  51. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/img/undefined-9527.png +0 -0
  52. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/img/xlwy.jpg +0 -0
  53. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/IMPORTANT/each.md +0 -0
  54. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/README.md +0 -0
  55. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/agent_self_intro.txt +0 -0
  56. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/analyze_multimodal.txt +0 -0
  57. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/describe_image.txt +0 -0
  58. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/describe_meme_image.txt +0 -0
  59. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/generate_title.txt +0 -0
  60. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/historian_rewrite.md +0 -0
  61. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/image_gen_moderation.txt +0 -0
  62. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/injection_detector.txt +0 -0
  63. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/injection_response_agent.txt +0 -0
  64. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/judge_meme_image.txt +0 -0
  65. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/merge_message_summaries.txt +0 -0
  66. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/merge_summaries.txt +0 -0
  67. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/message_summary.txt +0 -0
  68. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/naga_message_moderation.txt +0 -0
  69. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/stats_analysis.txt +0 -0
  70. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/summarize.txt +0 -0
  71. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/undefined.xml +0 -0
  72. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/res/prompts/undefined_nagaagent.xml +0 -0
  73. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/README.md +0 -0
  74. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/README.md +0 -0
  75. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/__main__.py +0 -0
  76. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/__init__.py +0 -0
  77. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/client/__init__.py +0 -0
  78. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/client/ask_loop.py +0 -0
  79. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/client/queue.py +0 -0
  80. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/crawl4ai_support.py +0 -0
  81. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/http.py +0 -0
  82. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/llm/__init__.py +0 -0
  83. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/llm/requester.py +0 -0
  84. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/llm/retry.py +0 -0
  85. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/llm/sanitize.py +0 -0
  86. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/llm/streaming.py +0 -0
  87. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/llm/thinking.py +0 -0
  88. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/llm/types.py +0 -0
  89. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/model_selector.py +0 -0
  90. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/multimodal/__init__.py +0 -0
  91. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/multimodal/analyzer.py +0 -0
  92. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/multimodal/constants.py +0 -0
  93. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/multimodal/detection.py +0 -0
  94. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/multimodal/parsing.py +0 -0
  95. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/parsing.py +0 -0
  96. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/prompts/__init__.py +0 -0
  97. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/prompts/builder.py +0 -0
  98. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/prompts/cognitive.py +0 -0
  99. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/prompts/constants.py +0 -0
  100. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/prompts/current_input.py +0 -0
  101. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/prompts/file_includes.py +0 -0
  102. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/prompts/system_context.py +0 -0
  103. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/prompts/system_info.py +0 -0
  104. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/queue_budget.py +0 -0
  105. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/retrieval.py +0 -0
  106. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/summaries.py +0 -0
  107. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/tokens.py +0 -0
  108. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/tool_search.py +0 -0
  109. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/tooling.py +0 -0
  110. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/transports/__init__.py +0 -0
  111. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/transports/anthropic_transport.py +0 -0
  112. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/transports/openai_transport.py +0 -0
  113. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/ai/transports/replay.py +0 -0
  114. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/__init__.py +0 -0
  115. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/_context.py +0 -0
  116. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/_helpers.py +0 -0
  117. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/_naga_state.py +0 -0
  118. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/_openapi.py +0 -0
  119. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/_probes.py +0 -0
  120. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/app.py +0 -0
  121. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/naga_store.py +0 -0
  122. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/routes/__init__.py +0 -0
  123. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/routes/automations.py +0 -0
  124. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/routes/chat.py +0 -0
  125. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/routes/cognitive.py +0 -0
  126. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/routes/commands.py +0 -0
  127. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/routes/health.py +0 -0
  128. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/routes/memes.py +0 -0
  129. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/routes/memory.py +0 -0
  130. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/routes/naga/__init__.py +0 -0
  131. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/routes/naga/auth.py +0 -0
  132. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/routes/naga/bind.py +0 -0
  133. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/routes/naga/send.py +0 -0
  134. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/routes/naga/unbind.py +0 -0
  135. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/routes/onebot_files.py +0 -0
  136. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/routes/schedules.py +0 -0
  137. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/routes/system.py +0 -0
  138. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/routes/tools.py +0 -0
  139. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/routes/weixin.py +0 -0
  140. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/api/webchat_store.py +0 -0
  141. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/arxiv/__init__.py +0 -0
  142. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/arxiv/client.py +0 -0
  143. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/arxiv/downloader.py +0 -0
  144. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/arxiv/models.py +0 -0
  145. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/arxiv/parser.py +0 -0
  146. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/arxiv/sender.py +0 -0
  147. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/attachments/__init__.py +0 -0
  148. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/attachments/forward_snapshot.py +0 -0
  149. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/attachments/models.py +0 -0
  150. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/attachments/render.py +0 -0
  151. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/automations/__init__.py +0 -0
  152. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/automations/address.py +0 -0
  153. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/automations/catalog.py +0 -0
  154. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/automations/clock.py +0 -0
  155. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/automations/constants.py +0 -0
  156. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/automations/engine.py +0 -0
  157. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/automations/extract.py +0 -0
  158. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/automations/logutil.py +0 -0
  159. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/automations/match.py +0 -0
  160. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/automations/mentions.py +0 -0
  161. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/automations/migrate.py +0 -0
  162. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/automations/runner.py +0 -0
  163. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/automations/service.py +0 -0
  164. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/automations/short.py +0 -0
  165. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/automations/storage.py +0 -0
  166. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/automations/template.py +0 -0
  167. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/automations/triggers.py +0 -0
  168. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/automations/validate.py +0 -0
  169. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/bilibili/__init__.py +0 -0
  170. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/bilibili/api_client.py +0 -0
  171. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/bilibili/danmaku.py +0 -0
  172. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/bilibili/download_core.py +0 -0
  173. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/bilibili/downloader.py +0 -0
  174. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/bilibili/errors.py +0 -0
  175. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/bilibili/models.py +0 -0
  176. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/bilibili/opus_parser.py +0 -0
  177. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/bilibili/opus_render.py +0 -0
  178. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/bilibili/parser.py +0 -0
  179. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/bilibili/sender.py +0 -0
  180. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/bilibili/wbi.py +0 -0
  181. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/bilibili/wbi_request.py +0 -0
  182. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/changelog.py +0 -0
  183. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/cognitive/__init__.py +0 -0
  184. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/cognitive/chroma_scheduler.py +0 -0
  185. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/cognitive/historian/__init__.py +0 -0
  186. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/cognitive/historian/helpers.py +0 -0
  187. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/cognitive/service/__init__.py +0 -0
  188. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/cognitive/service/helpers.py +0 -0
  189. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/cognitive/vector_store.py +0 -0
  190. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/cognitive/vector_store_compat.py +0 -0
  191. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/__init__.py +0 -0
  192. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/admin.py +0 -0
  193. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/api_modes.py +0 -0
  194. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/build_config.py +0 -0
  195. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/coercers.py +0 -0
  196. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/domain_parsers.py +0 -0
  197. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/load_sections/__init__.py +0 -0
  198. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/load_sections/access.py +0 -0
  199. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/load_sections/core.py +0 -0
  200. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/load_sections/domains.py +0 -0
  201. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/load_sections/finalize.py +0 -0
  202. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/load_sections/integrations.py +0 -0
  203. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/load_sections/knowledge.py +0 -0
  204. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/load_sections/logging_tools.py +0 -0
  205. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/load_sections/models.py +0 -0
  206. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/load_sections/network.py +0 -0
  207. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/loader.py +0 -0
  208. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/manager.py +0 -0
  209. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/model_parsers.py +0 -0
  210. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/models.py +0 -0
  211. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/naga_policy.py +0 -0
  212. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/onebot.py +0 -0
  213. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/parsers/__init__.py +0 -0
  214. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/parsers/agent.py +0 -0
  215. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/parsers/chat.py +0 -0
  216. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/parsers/embedding.py +0 -0
  217. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/parsers/grok.py +0 -0
  218. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/parsers/helpers.py +0 -0
  219. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/parsers/historian.py +0 -0
  220. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/parsers/image.py +0 -0
  221. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/parsers/naga.py +0 -0
  222. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/parsers/pool.py +0 -0
  223. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/parsers/security.py +0 -0
  224. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/parsers/summary.py +0 -0
  225. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/parsers/vision.py +0 -0
  226. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/resolvers.py +0 -0
  227. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/search.py +0 -0
  228. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/toml_io.py +0 -0
  229. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/config/webui_settings.py +0 -0
  230. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/context.py +0 -0
  231. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/context_resource_registry.py +0 -0
  232. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/__init__.py +0 -0
  233. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/__main__.py +0 -0
  234. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/commands.py +0 -0
  235. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/docker_cli.py +0 -0
  236. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/images.py +0 -0
  237. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/nagaagent.py +0 -0
  238. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/state.py +0 -0
  239. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/templates/.dockerignore +0 -0
  240. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/templates/Dockerfile.bot +0 -0
  241. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/templates/compose.base.yaml +0 -0
  242. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/templates/compose.firecrawl.yaml +0 -0
  243. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/templates/compose.lxmusic2api.yaml +0 -0
  244. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/templates/compose.napcat.yaml +0 -0
  245. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/templates/compose.searxng.yaml +0 -0
  246. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/templates/lxmusic2api.config.toml +0 -0
  247. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/templates/napcat.ws.json +0 -0
  248. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/deploy/templates/searxng.settings.yml +0 -0
  249. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/douyin/__init__.py +0 -0
  250. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/douyin/client.py +0 -0
  251. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/douyin/downloader.py +0 -0
  252. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/douyin/models.py +0 -0
  253. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/douyin/sender.py +0 -0
  254. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/end_summary_storage.py +0 -0
  255. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/faq.py +0 -0
  256. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/github/__init__.py +0 -0
  257. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/github/client.py +0 -0
  258. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/github/models.py +0 -0
  259. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/github/parser.py +0 -0
  260. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/github/sender.py +0 -0
  261. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/handlers/__init__.py +0 -0
  262. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/handlers/auto_extract.py +0 -0
  263. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/handlers/message_flow.py +0 -0
  264. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/handlers/poke.py +0 -0
  265. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/handlers/repeat.py +0 -0
  266. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/injection_response_agent.py +0 -0
  267. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/knowledge/__init__.py +0 -0
  268. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/knowledge/chunker.py +0 -0
  269. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/knowledge/embedder.py +0 -0
  270. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/knowledge/manager.py +0 -0
  271. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/knowledge/reranker.py +0 -0
  272. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/knowledge/runtime.py +0 -0
  273. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/knowledge/store.py +0 -0
  274. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/main.py +0 -0
  275. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/mcp/__init__.py +0 -0
  276. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/mcp/registry.py +0 -0
  277. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/memes/__init__.py +0 -0
  278. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/memes/_image_utils.py +0 -0
  279. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/memes/ingest.py +0 -0
  280. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/memes/models.py +0 -0
  281. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/memes/search.py +0 -0
  282. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/memes/service.py +0 -0
  283. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/memes/store.py +0 -0
  284. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/memes/vector_store.py +0 -0
  285. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/memes/worker.py +0 -0
  286. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/memory.py +0 -0
  287. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/onebot/__init__.py +0 -0
  288. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/onebot/client.py +0 -0
  289. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/onebot/file_errors.py +0 -0
  290. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/onebot/file_references.py +0 -0
  291. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/onebot/file_store.py +0 -0
  292. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/onebot/file_transport.py +0 -0
  293. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/onebot/message.py +0 -0
  294. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/py.typed +0 -0
  295. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/rate_limit.py +0 -0
  296. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/__init__.py +0 -0
  297. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/bugfix_command.py +0 -0
  298. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/command.py +0 -0
  299. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/commands/__init__.py +0 -0
  300. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/commands/catalog.py +0 -0
  301. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/commands/context.py +0 -0
  302. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/commands/registry.py +0 -0
  303. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/coordinator/__init__.py +0 -0
  304. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/coordinator/background.py +0 -0
  305. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/coordinator/batching.py +0 -0
  306. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/coordinator/group.py +0 -0
  307. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/coordinator/message_ids.py +0 -0
  308. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/coordinator/private.py +0 -0
  309. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/message_batcher/__init__.py +0 -0
  310. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/message_batcher/scheduler.py +0 -0
  311. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/message_batcher/state.py +0 -0
  312. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/message_summary_fetch.py +0 -0
  313. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/model_pool.py +0 -0
  314. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/queue_manager.py +0 -0
  315. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/security.py +0 -0
  316. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/services/stats_command.py +0 -0
  317. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/__init__.py +0 -0
  318. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/README.md +0 -0
  319. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/__init__.py +0 -0
  320. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/agent_tool_registry.py +0 -0
  321. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/config.json +0 -0
  322. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/docker_utils.py +0 -0
  323. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/handler.py +0 -0
  324. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/intro.md +0 -0
  325. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/mcp.json +0 -0
  326. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/prompt.md +0 -0
  327. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/config.json +0 -0
  328. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/handler.py +0 -0
  329. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/config.json +0 -0
  330. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/handler.py +0 -0
  331. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/config.json +0 -0
  332. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/handler.py +0 -0
  333. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/end/config.json +0 -0
  334. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/end/handler.py +0 -0
  335. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/config.json +0 -0
  336. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/handler.py +0 -0
  337. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/config.json +0 -0
  338. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/handler.py +0 -0
  339. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/config.json +0 -0
  340. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/handler.py +0 -0
  341. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/read/config.json +0 -0
  342. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/read/handler.py +0 -0
  343. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/config.json +0 -0
  344. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/handler.py +0 -0
  345. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/config.json +0 -0
  346. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/handler.py +0 -0
  347. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/config.json +0 -0
  348. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/handler.py +0 -0
  349. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/write/config.json +0 -0
  350. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/code_delivery_agent/tools/write/handler.py +0 -0
  351. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/entertainment_agent/README.md +0 -0
  352. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/entertainment_agent/config.json +0 -0
  353. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/entertainment_agent/handler.py +0 -0
  354. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/entertainment_agent/intro.md +0 -0
  355. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/entertainment_agent/prompt.md +0 -0
  356. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/entertainment_agent/tools/__init__.py +0 -0
  357. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/config.json +0 -0
  358. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/handler.py +0 -0
  359. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/config.json +0 -0
  360. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/handler.py +0 -0
  361. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/config.json +0 -0
  362. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/handler.py +0 -0
  363. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/config.json +0 -0
  364. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/handler.py +0 -0
  365. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/config.json +0 -0
  366. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/handler.py +0 -0
  367. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/__init__.py +0 -0
  368. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/config.json +0 -0
  369. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/handler.py +0 -0
  370. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/intro.md +0 -0
  371. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/prompt.md +0 -0
  372. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/__init__.py +0 -0
  373. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/config.json +0 -0
  374. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/handler.py +0 -0
  375. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/config.json +0 -0
  376. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/handler.py +0 -0
  377. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/config.json +0 -0
  378. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/handler.py +0 -0
  379. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/describe_pdf_page/config.json +0 -0
  380. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/describe_pdf_page/handler.py +0 -0
  381. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/config.json +0 -0
  382. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/handler.py +0 -0
  383. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/config.json +0 -0
  384. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/config.json +0 -0
  385. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/handler.py +0 -0
  386. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/config.json +0 -0
  387. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/handler.py +0 -0
  388. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/config.json +0 -0
  389. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/handler.py +0 -0
  390. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/config.json +0 -0
  391. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/handler.py +0 -0
  392. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/config.json +0 -0
  393. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/handler.py +0 -0
  394. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/config.json +0 -0
  395. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/handler.py +0 -0
  396. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/README.md +0 -0
  397. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/config.json +0 -0
  398. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/handler.py +0 -0
  399. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/intro.md +0 -0
  400. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/prompt.md +0 -0
  401. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/__init__.py +0 -0
  402. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/config.json +0 -0
  403. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/handler.py +0 -0
  404. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/baiduhot/config.json +0 -0
  405. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/baiduhot/handler.py +0 -0
  406. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/base64/config.json +0 -0
  407. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/base64/handler.py +0 -0
  408. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/config.json +0 -0
  409. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/handler.py +0 -0
  410. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/config.json +0 -0
  411. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/handler.py +0 -0
  412. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/douyinhot/config.json +0 -0
  413. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/douyinhot/handler.py +0 -0
  414. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/gold_price/config.json +0 -0
  415. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/gold_price/handler.py +0 -0
  416. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/hash/config.json +0 -0
  417. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/hash/handler.py +0 -0
  418. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/history/config.json +0 -0
  419. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/history/handler.py +0 -0
  420. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/net_check/config.json +0 -0
  421. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/net_check/handler.py +0 -0
  422. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/config.json +0 -0
  423. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/handler.py +0 -0
  424. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/speed/config.json +0 -0
  425. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/speed/handler.py +0 -0
  426. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/tcping/config.json +0 -0
  427. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/tcping/handler.py +0 -0
  428. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/weather_query/config.json +0 -0
  429. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/weather_query/handler.py +0 -0
  430. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/weibohot/config.json +0 -0
  431. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/weibohot/handler.py +0 -0
  432. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/whois/config.json +0 -0
  433. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/info_agent/tools/whois/handler.py +0 -0
  434. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/intro_generator.py +0 -0
  435. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/intro_utils.py +0 -0
  436. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/naga_code_analysis_agent/README.md +0 -0
  437. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/naga_code_analysis_agent/config.json +0 -0
  438. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/naga_code_analysis_agent/handler.py +0 -0
  439. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/naga_code_analysis_agent/intro.md +0 -0
  440. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/naga_code_analysis_agent/mcp.json +0 -0
  441. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/naga_code_analysis_agent/prompt.md +0 -0
  442. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/__init__.py +0 -0
  443. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/config.json +0 -0
  444. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/handler.py +0 -0
  445. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/config.json +0 -0
  446. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/handler.py +0 -0
  447. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/config.json +0 -0
  448. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/handler.py +0 -0
  449. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/config.json +0 -0
  450. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/handler.py +0 -0
  451. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/config.json +0 -0
  452. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/handler.py +0 -0
  453. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/runner/__init__.py +0 -0
  454. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/runner/context.py +0 -0
  455. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/runner/loop.py +0 -0
  456. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/runner/tools.py +0 -0
  457. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/runner/webchat_utils.py +0 -0
  458. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/summary_agent/__init__.py +0 -0
  459. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/summary_agent/config.json +0 -0
  460. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/summary_agent/handler.py +0 -0
  461. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/summary_agent/intro.md +0 -0
  462. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/summary_agent/prompt.md +0 -0
  463. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/summary_agent/tools/__init__.py +0 -0
  464. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/config.json +0 -0
  465. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/handler.py +0 -0
  466. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/undefined_self_code_agent/README.md +0 -0
  467. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/undefined_self_code_agent/__init__.py +0 -0
  468. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/undefined_self_code_agent/config.json +0 -0
  469. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/undefined_self_code_agent/handler.py +0 -0
  470. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/undefined_self_code_agent/intro.md +0 -0
  471. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/undefined_self_code_agent/prompt.md +0 -0
  472. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/__init__.py +0 -0
  473. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/_shared.py +0 -0
  474. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/glob/config.json +0 -0
  475. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/glob/handler.py +0 -0
  476. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/list_directory/config.json +0 -0
  477. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/list_directory/handler.py +0 -0
  478. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/read_file/config.json +0 -0
  479. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/read_file/handler.py +0 -0
  480. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/search_file_content/config.json +0 -0
  481. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/search_file_content/handler.py +0 -0
  482. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/web_agent/README.md +0 -0
  483. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/web_agent/callable.json +0 -0
  484. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/web_agent/config.json +0 -0
  485. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/web_agent/handler.py +0 -0
  486. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/web_agent/intro.md +0 -0
  487. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/web_agent/mcp.json +0 -0
  488. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/web_agent/prompt.md +0 -0
  489. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/web_agent/tools/__init__.py +0 -0
  490. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/config.json +0 -0
  491. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/handler.py +0 -0
  492. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/web_agent/tools/firecrawl_search/config.json +0 -0
  493. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/web_agent/tools/firecrawl_search/handler.py +0 -0
  494. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/web_agent/tools/grok_search/config.json +0 -0
  495. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/web_agent/tools/grok_search/handler.py +0 -0
  496. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/web_agent/tools/web_search/config.json +0 -0
  497. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/agents/web_agent/tools/web_search/handler.py +0 -0
  498. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/anthropic_skills/__init__.py +0 -0
  499. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/anthropic_skills/loader.py +0 -0
  500. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/README.md +0 -0
  501. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/admin/README.md +0 -0
  502. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/admin/config.json +0 -0
  503. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/admin/handler.py +0 -0
  504. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/bugfix/README.md +0 -0
  505. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/bugfix/config.json +0 -0
  506. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/bugfix/handler.py +0 -0
  507. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/changelog/README.md +0 -0
  508. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/changelog/config.json +0 -0
  509. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/changelog/handler.py +0 -0
  510. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/copyright/README.md +0 -0
  511. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/copyright/config.json +0 -0
  512. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/copyright/handler.py +0 -0
  513. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/faq/README.md +0 -0
  514. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/faq/config.json +0 -0
  515. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/faq/handler.py +0 -0
  516. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/feedback/README.md +0 -0
  517. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/feedback/config.json +0 -0
  518. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/feedback/handler.py +0 -0
  519. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/help/README.md +0 -0
  520. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/help/config.json +0 -0
  521. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/help/handler.py +0 -0
  522. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/naga/README.md +0 -0
  523. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/naga/config.json +0 -0
  524. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/naga/handler.py +0 -0
  525. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/naga/policy.py +0 -0
  526. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/profile/README.md +0 -0
  527. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/profile/config.json +0 -0
  528. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/profile/handler.py +0 -0
  529. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/stats/README.md +0 -0
  530. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/stats/config.json +0 -0
  531. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/stats/handler.py +0 -0
  532. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/summary/README.md +0 -0
  533. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/summary/config.json +0 -0
  534. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/summary/handler.py +0 -0
  535. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/version/README.md +0 -0
  536. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/version/config.json +0 -0
  537. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/commands/version/handler.py +0 -0
  538. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/http_client.py +0 -0
  539. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/http_config.py +0 -0
  540. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/pipelines/__init__.py +0 -0
  541. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/pipelines/arxiv/config.json +0 -0
  542. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/pipelines/arxiv/handler.py +0 -0
  543. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/pipelines/bilibili/config.json +0 -0
  544. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/pipelines/bilibili/handler.py +0 -0
  545. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/pipelines/bilibili_opus/config.json +0 -0
  546. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/pipelines/bilibili_opus/handler.py +0 -0
  547. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/pipelines/context.py +0 -0
  548. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/pipelines/douyin/config.json +0 -0
  549. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/pipelines/douyin/handler.py +0 -0
  550. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/pipelines/github/config.json +0 -0
  551. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/pipelines/github/handler.py +0 -0
  552. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/pipelines/models.py +0 -0
  553. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/pipelines/registry.py +0 -0
  554. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/shared.py +0 -0
  555. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/README.md +0 -0
  556. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/__init__.py +0 -0
  557. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/arxiv_paper/README.md +0 -0
  558. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/arxiv_paper/callable.json +0 -0
  559. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/arxiv_paper/config.json +0 -0
  560. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/arxiv_paper/handler.py +0 -0
  561. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/bilibili_opus/callable.json +0 -0
  562. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/bilibili_opus/config.json +0 -0
  563. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/bilibili_opus/handler.py +0 -0
  564. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/bilibili_video/README.md +0 -0
  565. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/bilibili_video/callable.json +0 -0
  566. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/bilibili_video/config.json +0 -0
  567. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/bilibili_video/handler.py +0 -0
  568. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/calculator/README.md +0 -0
  569. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/calculator/callable.json +0 -0
  570. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/calculator/config.json +0 -0
  571. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/calculator/handler.py +0 -0
  572. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/changelog_query/README.md +0 -0
  573. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/changelog_query/config.json +0 -0
  574. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/changelog_query/handler.py +0 -0
  575. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/douyin_video/README.md +0 -0
  576. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/douyin_video/callable.json +0 -0
  577. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/douyin_video/config.json +0 -0
  578. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/douyin_video/handler.py +0 -0
  579. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/end/README.md +0 -0
  580. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/end/config.json +0 -0
  581. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/end/handler.py +0 -0
  582. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/fetch_image_uid/README.md +0 -0
  583. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/fetch_image_uid/config.json +0 -0
  584. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/fetch_image_uid/handler.py +0 -0
  585. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/get_current_time/README.md +0 -0
  586. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/get_current_time/callable.json +0 -0
  587. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/get_current_time/config.json +0 -0
  588. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/get_current_time/handler.py +0 -0
  589. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/get_picture/README.md +0 -0
  590. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/get_picture/config.json +0 -0
  591. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/get_picture/handler.py +0 -0
  592. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/get_user_info/README.md +0 -0
  593. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/get_user_info/config.json +0 -0
  594. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/get_user_info/handler.py +0 -0
  595. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/knowledge_list/README.md +0 -0
  596. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/knowledge_list/config.json +0 -0
  597. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/knowledge_list/handler.py +0 -0
  598. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/knowledge_semantic_search/README.md +0 -0
  599. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/knowledge_semantic_search/config.json +0 -0
  600. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/knowledge_semantic_search/handler.py +0 -0
  601. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/knowledge_text_search/README.md +0 -0
  602. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/knowledge_text_search/config.json +0 -0
  603. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/knowledge_text_search/handler.py +0 -0
  604. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/python_interpreter/README.md +0 -0
  605. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/python_interpreter/config.json +0 -0
  606. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/python_interpreter/handler.py +0 -0
  607. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/qq_like/README.md +0 -0
  608. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/qq_like/config.json +0 -0
  609. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/qq_like/handler.py +0 -0
  610. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/task_progress/README.md +0 -0
  611. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/task_progress/config.json +0 -0
  612. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/tools/task_progress/handler.py +0 -0
  613. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/README.md +0 -0
  614. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/__init__.py +0 -0
  615. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/attachments/README.md +0 -0
  616. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/config.json +0 -0
  617. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/handler.py +0 -0
  618. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/config.json +0 -0
  619. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/handler.py +0 -0
  620. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/automation/README.md +0 -0
  621. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/automation/_runtime.py +0 -0
  622. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/automation/create/config.json +0 -0
  623. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/automation/create/handler.py +0 -0
  624. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/automation/delete/config.json +0 -0
  625. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/automation/delete/handler.py +0 -0
  626. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/automation/get/config.json +0 -0
  627. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/automation/get/handler.py +0 -0
  628. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/automation/list/config.json +0 -0
  629. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/automation/list/handler.py +0 -0
  630. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/automation/set_enabled/config.json +0 -0
  631. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/automation/set_enabled/handler.py +0 -0
  632. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/automation/update/config.json +0 -0
  633. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/automation/update/handler.py +0 -0
  634. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/cognitive/README.md +0 -0
  635. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/cognitive/get_profile/config.json +0 -0
  636. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/cognitive/get_profile/handler.py +0 -0
  637. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/cognitive/search_events/config.json +0 -0
  638. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/cognitive/search_events/handler.py +0 -0
  639. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/cognitive/search_profiles/config.json +0 -0
  640. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/cognitive/search_profiles/handler.py +0 -0
  641. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/commands/README.md +0 -0
  642. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/commands/get/config.json +0 -0
  643. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/commands/get/handler.py +0 -0
  644. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/commands/search/config.json +0 -0
  645. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/commands/search/handler.py +0 -0
  646. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/contacts/README.md +0 -0
  647. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/contacts/query_friends/config.json +0 -0
  648. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/contacts/query_friends/handler.py +0 -0
  649. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/contacts/query_groups/config.json +0 -0
  650. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/contacts/query_groups/handler.py +0 -0
  651. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group/README.md +0 -0
  652. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group/find_member/config.json +0 -0
  653. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group/find_member/handler.py +0 -0
  654. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group/get_avatar/config.json +0 -0
  655. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group/get_avatar/handler.py +0 -0
  656. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group/get_files/config.json +0 -0
  657. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group/get_files/handler.py +0 -0
  658. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group/get_honor_info/config.json +0 -0
  659. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group/get_honor_info/handler.py +0 -0
  660. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group/get_member_info/config.json +0 -0
  661. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group/get_member_info/handler.py +0 -0
  662. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group/get_member_list/config.json +0 -0
  663. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group/get_member_list/handler.py +0 -0
  664. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group/get_member_title/config.json +0 -0
  665. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group/get_member_title/handler.py +0 -0
  666. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/README.md +0 -0
  667. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/activity_trend/config.json +0 -0
  668. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/activity_trend/handler.py +0 -0
  669. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/filter_members/config.json +0 -0
  670. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/filter_members/handler.py +0 -0
  671. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/config.json +0 -0
  672. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/handler.py +0 -0
  673. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/join_statistics/config.json +0 -0
  674. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/join_statistics/handler.py +0 -0
  675. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/level_distribution/config.json +0 -0
  676. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/level_distribution/handler.py +0 -0
  677. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/member_activity/config.json +0 -0
  678. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/member_activity/handler.py +0 -0
  679. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/member_messages/config.json +0 -0
  680. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/member_messages/handler.py +0 -0
  681. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/member_structure/config.json +0 -0
  682. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/member_structure/handler.py +0 -0
  683. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/message_mix/config.json +0 -0
  684. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/message_mix/handler.py +0 -0
  685. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/config.json +0 -0
  686. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/handler.py +0 -0
  687. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/rank_members/config.json +0 -0
  688. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/group_analysis/rank_members/handler.py +0 -0
  689. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/mcp/README.md +0 -0
  690. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/mcp/__init__.py +0 -0
  691. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/memes/README.md +0 -0
  692. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/memes/search_memes/config.json +0 -0
  693. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/memes/search_memes/handler.py +0 -0
  694. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/config.json +0 -0
  695. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/handler.py +0 -0
  696. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/memory/README.md +0 -0
  697. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/memory/add/config.json +0 -0
  698. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/memory/add/handler.py +0 -0
  699. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/memory/delete/config.json +0 -0
  700. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/memory/delete/handler.py +0 -0
  701. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/memory/list/config.json +0 -0
  702. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/memory/list/handler.py +0 -0
  703. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/memory/update/config.json +0 -0
  704. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/memory/update/handler.py +0 -0
  705. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/README.md +0 -0
  706. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/context_utils.py +0 -0
  707. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/get_forward_msg/config.json +0 -0
  708. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/get_forward_msg/handler.py +0 -0
  709. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/get_messages_by_time/config.json +0 -0
  710. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/get_messages_by_time/handler.py +0 -0
  711. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/get_recent_messages/config.json +0 -0
  712. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/get_recent_messages/handler.py +0 -0
  713. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/list_emojis/config.json +0 -0
  714. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/list_emojis/handler.py +0 -0
  715. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/config.json +0 -0
  716. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/handler.py +0 -0
  717. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/react_message_emoji/config.json +0 -0
  718. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/react_message_emoji/handler.py +0 -0
  719. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/send_group_sign/config.json +0 -0
  720. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/send_group_sign/handler.py +0 -0
  721. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/send_message/config.json +0 -0
  722. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/send_message/handler.py +0 -0
  723. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/send_poke/config.json +0 -0
  724. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/send_poke/handler.py +0 -0
  725. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/send_private_message/config.json +0 -0
  726. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/send_private_message/handler.py +0 -0
  727. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/send_text_file/callable.json +0 -0
  728. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/send_text_file/config.json +0 -0
  729. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/send_text_file/handler.py +0 -0
  730. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/send_url_file/callable.json +0 -0
  731. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/send_url_file/config.json +0 -0
  732. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/send_url_file/handler.py +0 -0
  733. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/send_voice/config.json +0 -0
  734. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/messages/send_voice/handler.py +0 -0
  735. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/README.md +0 -0
  736. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/_client.py +0 -0
  737. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/_constants.py +0 -0
  738. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/_tools.py +0 -0
  739. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/_track_refs.py +0 -0
  740. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/browse_playlists/config.json +0 -0
  741. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/browse_playlists/handler.py +0 -0
  742. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/browse_rankings/config.json +0 -0
  743. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/browse_rankings/handler.py +0 -0
  744. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/find_song_matches/config.json +0 -0
  745. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/find_song_matches/handler.py +0 -0
  746. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/get_audio/config.json +0 -0
  747. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/get_audio/handler.py +0 -0
  748. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/get_comments/config.json +0 -0
  749. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/get_comments/handler.py +0 -0
  750. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/get_cover/config.json +0 -0
  751. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/get_cover/handler.py +0 -0
  752. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/get_hot_search/config.json +0 -0
  753. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/get_hot_search/handler.py +0 -0
  754. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/get_lyrics/config.json +0 -0
  755. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/get_lyrics/handler.py +0 -0
  756. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/search_playlists/config.json +0 -0
  757. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/search_playlists/handler.py +0 -0
  758. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/search_songs/config.json +0 -0
  759. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/music/search_songs/handler.py +0 -0
  760. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/notices/README.md +0 -0
  761. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/notices/get/config.json +0 -0
  762. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/notices/get/handler.py +0 -0
  763. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/notices/list/config.json +0 -0
  764. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/notices/list/handler.py +0 -0
  765. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/notices/stats/config.json +0 -0
  766. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/notices/stats/handler.py +0 -0
  767. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/render/render_html/handler.py +0 -0
  768. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/render/render_latex/config.json +0 -0
  769. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/render/render_latex/handler.py +0 -0
  770. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/skills/toolsets/render/render_markdown/handler.py +0 -0
  771. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/token_usage_storage.py +0 -0
  772. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/__init__.py +0 -0
  773. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/cache.py +0 -0
  774. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/coerce.py +0 -0
  775. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/common.py +0 -0
  776. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/cors.py +0 -0
  777. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/easter_egg_calls.py +0 -0
  778. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/fake_at.py +0 -0
  779. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/file_lock.py +0 -0
  780. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/group_metrics.py +0 -0
  781. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/history.py +0 -0
  782. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/http_download.py +0 -0
  783. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/logging.py +0 -0
  784. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/member_utils.py +0 -0
  785. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/message_reply.py +0 -0
  786. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/message_targets.py +0 -0
  787. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/message_turn.py +0 -0
  788. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/message_utils.py +0 -0
  789. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/paths.py +0 -0
  790. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/qq_emoji.py +0 -0
  791. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/queue_intervals.py +0 -0
  792. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/recent_messages.py +0 -0
  793. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/request_params.py +0 -0
  794. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/resources.py +0 -0
  795. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/scheduler.py +0 -0
  796. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/self_update.py +0 -0
  797. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/sender_helpers.py +0 -0
  798. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/time_utils.py +0 -0
  799. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/tool_calls.py +0 -0
  800. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/utils/xml.py +0 -0
  801. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/__init__.py +0 -0
  802. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/__main__.py +0 -0
  803. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/app.py +0 -0
  804. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/core.py +0 -0
  805. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/routes/__init__.py +0 -0
  806. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/routes/_auth.py +0 -0
  807. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/routes/_bot.py +0 -0
  808. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/routes/_config.py +0 -0
  809. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/routes/_index.py +0 -0
  810. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/routes/_logs.py +0 -0
  811. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/routes/_memes.py +0 -0
  812. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/routes/_runtime.py +0 -0
  813. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/routes/_shared.py +0 -0
  814. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/routes/_system.py +0 -0
  815. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/routes/_weixin.py +0 -0
  816. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/css/.stylelintrc.json +0 -0
  817. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/css/app.css +0 -0
  818. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/css/base.css +0 -0
  819. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/css/components.css +0 -0
  820. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/css/highlight-github.min.css +0 -0
  821. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/css/landing.css +0 -0
  822. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/css/responsive.css +0 -0
  823. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/css/style.css +0 -0
  824. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/css/variables.css +0 -0
  825. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/css/workflow.css +0 -0
  826. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/favicon.svg +0 -0
  827. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/api.js +0 -0
  828. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/auth.js +0 -0
  829. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/bot.js +0 -0
  830. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/config-form.js +0 -0
  831. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/i18n.js +0 -0
  832. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/log-view.js +0 -0
  833. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/logs.js +0 -0
  834. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/main.js +0 -0
  835. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/memes.js +0 -0
  836. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/runtime.js +0 -0
  837. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/schedules.js +0 -0
  838. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/state.js +0 -0
  839. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/ui.js +0 -0
  840. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/vendor/highlight.min.js +0 -0
  841. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/vendor/highlightjs.LICENSE +0 -0
  842. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/vendor/marked.min.js +0 -0
  843. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/weixin.js +0 -0
  844. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/workflow-canvas.js +0 -0
  845. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/workflow-graph.js +0 -0
  846. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/static/js/workflow-inspector.js +0 -0
  847. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/templates/index.html +0 -0
  848. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/utils/__init__.py +0 -0
  849. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/utils/comment.py +0 -0
  850. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/utils/config_io.py +0 -0
  851. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/utils/config_sync.py +0 -0
  852. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/webui/utils/toml_render.py +0 -0
  853. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/weixin/__init__.py +0 -0
  854. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/weixin/audio.py +0 -0
  855. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/weixin/models.py +0 -0
  856. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/weixin/service.py +0 -0
  857. {undefined_bot-3.17.0 → undefined_bot-3.17.2}/src/Undefined/weixin/store.py +0 -0
@@ -158,8 +158,8 @@ graph TB
158
158
  MemoryStorage["MemoryStorage<br/>置顶备忘录<br/>[memory.py]<br/>• 500条上限<br/>• 自动去重"]
159
159
  EndSummaryStorage["EndSummaryStorage<br/>短期总结存储<br/>[end_summary_storage.py]"]
160
160
  CognitiveService["CognitiveService<br/>认知记忆服务<br/>[cognitive/service/]<br/>• 事件检索 • 侧写读取<br/>• 入队 memory job"]
161
- CognitiveJobQueue["JobQueue<br/>认知任务队列<br/>[cognitive/job_queue.py]<br/>• pending/processing/failed"]
162
- CognitiveHistorian["HistorianWorker<br/>后台史官<br/>[cognitive/historian/]<br/>• 独立事实改写 • 闸门重试<br/>• 侧写合并(最新优先/去冗)"]
161
+ CognitiveJobQueue["JobQueue<br/>认知任务队列<br/>[cognitive/job_queue.py]<br/>• 持久化入队顺序与阶段进度<br/>• pending/processing/failed"]
162
+ CognitiveHistorian["HistorianWorker<br/>后台史官<br/>[cognitive/historian/]<br/>• 并发事件改写与入库<br/>• 按实体 FIFO 合并,读取前序已提交侧写<br/>• 不同实体并发,等待不占执行名额"]
163
163
  CognitiveVectorStore["CognitiveVectorStore<br/>向量存储<br/>[cognitive/vector_store.py]<br/>• events/profiles<br/>• 时间衰减加权排序<br/>• MMR 去重"]
164
164
  CognitiveProfileStorage["ProfileStorage<br/>侧写存储<br/>[cognitive/profile_storage.py]<br/>• users/groups Markdown<br/>• 历史快照"]
165
165
  MemeSystem["MemeSystem<br/>表情包存储<br/>[memes/]<br/>• worker.py (两阶段识别)<br/>• sqlite+chromadb<br/>• blob 持久化"]
@@ -1,3 +1,31 @@
1
+ ## v3.17.2 侧写有序合并
2
+
3
+ 本版本修复群聊与用户侧写并发更新时的乱序覆盖:同一实体按史官任务入队顺序逐次合并,每次都基于前一次提交后的完整侧写;不同实体继续并发处理,QQ 与绑定的 iLink 私聊也遵循同一用户顺序。
4
+
5
+ - 侧写按实体有序更新:同一群或同一用户的后续任务,必须等前序完成侧写文件、向量与完成进度的提交后,才读取当前侧写并构造合并上下文。史官直接收到完整侧写快照及更新时间,`read_profile` 读取当前目标时也返回本轮快照,避免模型基于旧正文覆盖刚合并的信息。顺序以史官入队为准,不取决于原始消息到达或模型响应的先后。
6
+ - 不同实体保持并发:事件改写与入库继续并行,等待同实体前序的任务不占用 `max_concurrency` 名额,其他群和用户可继续合并。群侧写与用户侧写分别调度,一条任务的用户目标尚未轮到时,已经就绪的群目标可以先执行;群号与 QQ 号即使相同也互不阻塞。
7
+ - QQ 与 iLink 共用用户顺序:QQ 私聊、群聊中的用户观察和绑定的 iLink 私聊,统一按任务入队时保存的逻辑 QQ 号合并侧写。微信帐号别名、原生 ID、投递地址及之后的改绑,不会改变已入队任务的归属与顺序。
8
+ - 失败恢复保留进度:修复侧写异常被吞掉后任务仍被标记完成的问题,读取失败不再当作“暂无侧写”,模型既未有效更新、也未明确跳过时进入重试。自动重试保留原顺位并跳过已完成阶段和目标,重试耗尽后才放行未完成实体的后续任务;停止与重启可继续未完成部分。外层取消可及时中断模型调用,已经开始的写入与进度提交仍须完成后才释放占用。文件已写入但后续提交失败时,重新读取实际存储继续合并,不假定此前写入已回滚。
9
+ - 收紧侧写写入范围:合并工具只允许更新本轮调度的实体,拒绝模型越目标写入;昵称同步的读取、修改及文件与向量写入使用同一实体锁,防止昵称刷新拿旧副本覆盖最新侧写正文。
10
+ - 兼容现有队列与数据:旧的未完成任务可继续处理,已有任务 ID、事件引用、侧写文件格式及查询接口保持兼容,表情包队列继续沿用原有处理流程。恢复入队顺序时容忍损坏文件,避免一条坏任务阻断所有新观察入队;调度仍保留对未完成任务的严格检查。已受历史乱序影响的侧写不会自动重建。
11
+
12
+ ---
13
+
14
+ ## v3.17.1 交付体积边界收敛
15
+
16
+ 本版本收敛「内容一变大就发不出去」的两处交付边界:合并转发不再因为顶层节点塞满全文而被 QQ 拒收,长图不再因为页面自身更窄而右侧留白;同时补上图片消息段与 Agent 私有工具的静默丢失点。
17
+
18
+ - 长图宽度自适应:`layout=long` 时 `width` 改为**上限**,渲染前探测页面自身布局宽度(`html` / `body` 盒宽与后代最大右边界),比设定宽度窄时把视口收缩到「内容宽度 + 2 × `padding`」(下限 320),两侧不再留白。只在页面自己更窄时收敛,铺满视口的响应式页面(含 Markdown 模板)宽度与旧版完全一致;探测失败只记日志并保持原视口,不影响渲染本身。`[render].long_image_default_width` 语义随之变为上限,缓存键补上收敛参数。
19
+ - 合并转发预览收敛:NapCat packet 模式的转发卡片把**顶层节点**文本全部写进 `news` 预览,顶层文本量因此约等于卡片体积,约 14KB 会被 QQ 以 retcode=1200(`发送转发消息(res_id:… 失败`)拒收。`MessageSender` 在群聊与私聊发送前统一下沉:顶层直接文本合计超过 2000 字时,按文本量从大到小把节点内容改为 ≤1200 字的嵌套节点,嵌套节点段原样保留、不递归;发送被拒时以 error 级别记录节点数、顶层文本量、段数与图片数,便于定位。
20
+ - Bilibili 图文正文改为按单节点 1200 字(`format.NODE_TEXT_BUDGET`)与单节点 9 张图切分,节点名形如 `正文 1/12`;正文超过一个节点时整体收进顶层 `正文` 节点的嵌套内容,让卡片体积与正文长度解耦,不再出现「图文越长越容易被拒收」。未超预算时仍是单个顶层 `正文` 节点,结构与旧版一致。
21
+ - 图片消息段不再静默丢失:OneBot 图片段同时带 NapCat 的 `file` id 与可下载 `url`,先用 `get_image` 解析 `file`;解析失败或返回的既不是 HTTP URL 也不是本地路径时(典型是 NapCat 富媒体下载超时只给裸文件名),回落到段内 `url` 登记远程附件。
22
+ - 修复 Agent 私有工具全部无法加载:随包技能的 handler 模块名一律以真实包根 `Undefined/skills` 计算,`agents/<agent>/tools/<tool>/handler.py` 不再被算成不存在的 `Undefined.skills.tools.<tool>`;此前这些工具会在注册阶段被记入 `load_error` 并从 schema 中排除。不随包的目录(测试或外部注入)保持原有上溯规则。
23
+ - 裸数字不再误判为 Douyin aweme_id:只有不落在任何链接内的 16–25 位数字才算裸 ID,`bilibili.com/opus/933099353259638816` 这类链接里的数字不再让同一张图文链接同时触发抖音管线。
24
+ - 部署后的首次启动改为手动:`uv run deploy up` 在 `container` 与 `host` 模式统一写入 `[webui].autostart_bot = false`,并在输出里给出「填配置 → NapCat 扫码 → WebUI 点启动机器人」的顺序,避免容器一起来就连不上未登录的协议端;文件发送同时从 `url` 改为 `stream`(`[onebot].file_send_mode = "stream"`),不再依赖共享发送目录或 Runtime 下载地址。
25
+ - 文档重排:新增面向使用者的 [Docker 一键部署指南](docs/docker-deploy.md)(环境准备、向导选项、首次配置与 QQ 登录、远程访问、可选服务、日常管理与排查),README 与部署指南统一为「源码部署 → Docker 一键部署 → pip / uv tool」的推荐顺序,并补上镜像构建与维护说明。
26
+
27
+ ---
28
+
1
29
  ## v3.17.0 容器化一键部署
2
30
 
3
31
  本版本新增 `uv run deploy`:一条命令把本体、NapCat 与可选自托管服务编排成 Docker Compose,按部署模式自动对齐 `config.toml`、生成并复用凭据,最后输出全部管理入口与凭据;同时补上镜像的 CI 构建与多架构发布。
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: Undefined-bot
3
- Version: 3.17.0
3
+ Version: 3.17.2
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
@@ -81,18 +81,7 @@ Description-Content-Type: text/markdown
81
81
 
82
82
  ---
83
83
 
84
- ## Release 下载速查
85
-
86
- **部署 QQ Bot 本身不需要下载 Release**:Release 里都是可选组件。源码部署见下方[快速开始](#-快速开始-源码模式),安装包用途与平台对应如下:
87
-
88
- | 目标 | 文件 | 平台 |
89
- | --- | --- | --- |
90
- | 部署 / 运行 Bot | 不需要下载 Release;源码部署并启动 `uv run Undefined-webui` | 任意 |
91
- | 离线安装 / 镜像缓存 | `undefined_bot-*.whl` 或 `undefined_bot-*.tar.gz` | 任意 |
92
- | 远程管理已有实例 | `Undefined-Console-*`(连接 Management API 打开远程 WebUI) | Windows x64 `*-windows-x64-setup.exe`(批量部署可选 `.msi`)/macOS `*-macos-arm64.dmg`、`*-macos-x64.dmg`/Debian、Ubuntu `*.deb`/其他 Linux `*.AppImage` |
93
- | 原生聊天客户端 | `Undefined-Chat-*`(连接 Runtime API 聊天) | 同上;Android 为 `*-android-arm64-v8a-release.apk`(旧 32 位设备用 `armeabi-v7a`,模拟器按需 `x86_64` / `x86`) |
94
-
95
- Console 和 Chat 都需要连接已运行的 Undefined 服务:首次部署请先启动 `Undefined-webui`,完成配置和 Bot 启动后再连接。
84
+ > 🚀 **开始使用 Undefined**:从[快速开始](#-快速开始)了解部署步骤、首次配置和可选客户端的下载方式。
96
85
 
97
86
  ## ⚡ 核心特性
98
87
 
@@ -148,8 +137,8 @@ Console 和 Chat 都需要连接已运行的 Undefined 服务:首次部署请
148
137
 
149
138
  Undefined 的功能极为丰富,为了让本页面不过于臃肿,我们将各个模块的深入解析与高阶玩法整理成了专题游览图。这里是开启探索的钥匙:
150
139
 
151
- - ⚙️ **[安装与部署指南](docs/deployment.md)**:不管你是需要 `pip` 无脑一键安装,还是源码二次开发,这里的排坑指南应有尽有。
152
- - 🐳 **[容器化一键部署](docs/docker-deploy.md)**:`uv run deploy` 一条命令拉起本体 + NapCat 与按需自托管服务(SearXNG / Firecrawl / lxmusic2api),含端口、凭据、模式选择与排查。
140
+ - ⚙️ **[安装与部署指南](docs/deployment.md)**:首选源码部署;按源码、Docker、pip / uv tool 的推荐顺序介绍各安装方式。
141
+ - 🐳 **[Docker 一键部署指南(Linux)](docs/docker-deploy.md)**:源码部署之外的推荐选择,自动部署 Undefined + NapCat,并按需添加搜索、音乐服务。
153
142
  - 📦 **[Python 库 API 参考](docs/python-api.md)**:根包 lazy re-export、`Config.from_mapping` / `set_config`、公共 API 符号表与嵌入示例。
154
143
  - 🖥️ **[WebUI 使用指南](docs/webui-guide.md)**:管理控制台功能一览——配置编辑、日志查看、认知记忆管理、表情包库、AI 对话与系统监控。
155
144
  - 🧭 **[Management API 与远程管理](docs/management-api.md)**:WebUI / App 共用的管理接口、认证、配置/日志/Bot 控制与引导探针说明。
@@ -176,11 +165,15 @@ Undefined 的功能极为丰富,为了让本页面不过于臃肿,我们将
176
165
 
177
166
  ---
178
167
 
179
- ## ⚡ 快速开始 (源码模式)
168
+ ## ⚡ 快速开始
169
+
170
+ 推荐优先采用源码部署;希望在 Linux 上自动搭建 Undefined、NapCat 和可选服务时,也可以选择 Docker 一键部署。两种方式任选其一,部署完成后可直接使用 WebUI,也可按本节末尾的说明下载独立客户端。
180
171
 
181
- > 👶 **新手必看**:如果您是首次部署此类项目或不熟悉 Git/环境配置,**强烈建议直接前往 [《详细安装与部署指南》](docs/deployment.md)** 阅读手把手教程,避免遇到常见报错。
172
+ <a id="-快速开始-源码模式"></a>
182
173
 
183
- 以下步骤适合有一定开发经验、想快速跑起项目源码的用户。我们推荐使用现代 Python 构建工具 `uv`。
174
+ ### 源码部署(推荐)
175
+
176
+ 使用 `uv` 安装依赖并启动管理控制台。首次部署还需要准备 QQ 协议端、模型 API 和帐号配置,完整步骤见 [源码部署指南](docs/deployment.md#源码部署推荐)。
184
177
 
185
178
  ```bash
186
179
  # 1. 完整克隆源码库(注意附带 NagaAgent 模块)
@@ -194,35 +187,48 @@ uv run playwright install # 安装浏览器内核(用于页面截图等能力
194
187
 
195
188
  # 3. 启动管理控制台(推荐入口)
196
189
  uv run Undefined-webui
197
-
198
- # 4. 在 WebUI 中补齐/校验配置,然后直接点击启动 Bot
199
- # 如需先手动准备配置,也可以再执行:
200
- # cp config.toml.example config.toml
201
190
  ```
202
191
 
203
- > 浏览器是默认入口;如果你按上方 [Release 下载速查](#release-下载速查)下载了桌面端或 Android 安装包,也可以在完成首轮密码设置后,连接到同一个 Management API 地址进行远程管理。
192
+ 启动后,按终端显示的地址打开 WebUI,设置管理密码并填写模型与 QQ 配置;校验通过后,在页面中启动 Bot。后续配置、日志查看和 Bot 启停都可以在 WebUI 中完成。
204
193
 
205
- ---
194
+ <a id="-docker-一键部署linux"></a>
195
+ <a id="docker-一键部署linux"></a>
206
196
 
207
- ## 🐳 快速开始 (容器模式,Linux)
197
+ ### Docker 一键部署(Linux) · [完整部署指南](docs/docker-deploy.md)
208
198
 
209
- 不想手工装 Python 依赖、也不想自己起 NapCat / SearXNG 等服务?一条命令搞定(需要 Docker Engine,含 `docker compose` v2 插件):
199
+ 已安装 Docker Engine、`docker compose` 插件、Git 和 uv 后,在 Linux 上执行以下命令;未安装时先看 [开始前的准备](docs/docker-deploy.md#1-开始前的准备)。默认部署 Undefined + NapCat,其他服务按需选择:
210
200
 
211
201
  ```bash
212
- git clone --recursive https://github.com/69gg/Undefined.git
202
+ git clone https://github.com/69gg/Undefined.git
213
203
  cd Undefined
214
-
215
- # 交互式向导:选“本体是否进容器”,以及要额外部署哪些自托管服务(默认全不选)
216
204
  uv run deploy up
217
-
218
- # 非交互式:只跑本体 + NapCat
219
- uv run deploy up --yes
220
205
  ```
221
206
 
222
- 脚本会自动生成 compose 与各服务配置、按最小差异改好 `config.toml`(改前备份)、启动容器,最后把 **Undefined WebUI 密码、带 token 的 NapCat WebUI 链接、各服务入口**一次性打印出来。
207
+ 部署结束后,终端会显示 **Undefined WebUI 地址和密码、NapCat 登录链接**。打开 WebUI 填写模型 API、机器人 QQ 号和管理员 QQ 号,到 NapCat 扫码登录后,再返回 WebUI 点击“启动机器人”。部署配置默认关闭 Bot 自动启动,并使用 Stream 发送文件。完整步骤见 [部署后的首次配置](docs/docker-deploy.md#3-完成配置并登录-qq)。
208
+
209
+ 后续可用 `uv run deploy status` 查看入口与状态、`uv run deploy logs` 查看日志、`uv run deploy down` 停止服务并保留数据。
210
+
211
+ ### Release 下载速查
212
+
213
+ 完成上述部署后,可直接通过浏览器使用 WebUI。需要独立的管理或聊天客户端时,再前往 [GitHub Releases](https://github.com/69gg/Undefined/releases),按用途选择组件:
214
+
215
+ | 你需要的功能 | 下载组件 |
216
+ | --- | --- |
217
+ | 远程管理已有实例,编辑配置、查看日志、启停 Bot | **Undefined Console**:选择 `Undefined-Console-*` |
218
+ | 使用独立的原生聊天界面 | **Undefined Chat**:选择 `Undefined-Chat-*` |
219
+
220
+ 选好 Console 或 Chat 后,在该组件的文件中选择适合设备的安装包:
221
+
222
+ | 平台 | 安装包 |
223
+ | --- | --- |
224
+ | Windows x64 | `*-windows-x64-setup.exe`;批量部署可选 `*-windows-x64.msi` |
225
+ | macOS | Apple Silicon 选 `*-macos-arm64.dmg`,Intel 选 `*-macos-x64.dmg` |
226
+ | Linux | Debian / Ubuntu 选 `*.deb`,其他发行版可选 `*.AppImage` |
227
+ | Android | 通常选 `*-android-arm64-v8a-release.apk`;旧 32 位设备选 `armeabi-v7a`,模拟器按架构选择 `x86_64` 或 `x86` |
223
228
 
224
- 后续:`uv run deploy status` 看状态与凭据、`uv run deploy logs` 看日志、`uv run deploy down` 停止(数据保留)。完整说明见 [容器化一键部署](docs/docker-deploy.md)。
229
+ 安装后,Console 连接已部署实例的 Management API,Chat 连接 Bot 的 Runtime API;请使用该实例对应的地址和凭据。**两个客户端都需要已有的 Undefined 服务,部署 Bot 本身无需下载客户端安装包。**
225
230
 
231
+ 如需离线安装 Python 包或缓存安装文件,可下载 `undefined_bot-*.whl` 或 `undefined_bot-*.tar.gz`;安装方式见 [pip / uv tool 部署说明](docs/deployment.md#pipuv-tool-部署快速体验)。
226
232
 
227
233
  ---
228
234
 
@@ -30,18 +30,7 @@
30
30
 
31
31
  ---
32
32
 
33
- ## Release 下载速查
34
-
35
- **部署 QQ Bot 本身不需要下载 Release**:Release 里都是可选组件。源码部署见下方[快速开始](#-快速开始-源码模式),安装包用途与平台对应如下:
36
-
37
- | 目标 | 文件 | 平台 |
38
- | --- | --- | --- |
39
- | 部署 / 运行 Bot | 不需要下载 Release;源码部署并启动 `uv run Undefined-webui` | 任意 |
40
- | 离线安装 / 镜像缓存 | `undefined_bot-*.whl` 或 `undefined_bot-*.tar.gz` | 任意 |
41
- | 远程管理已有实例 | `Undefined-Console-*`(连接 Management API 打开远程 WebUI) | Windows x64 `*-windows-x64-setup.exe`(批量部署可选 `.msi`)/macOS `*-macos-arm64.dmg`、`*-macos-x64.dmg`/Debian、Ubuntu `*.deb`/其他 Linux `*.AppImage` |
42
- | 原生聊天客户端 | `Undefined-Chat-*`(连接 Runtime API 聊天) | 同上;Android 为 `*-android-arm64-v8a-release.apk`(旧 32 位设备用 `armeabi-v7a`,模拟器按需 `x86_64` / `x86`) |
43
-
44
- Console 和 Chat 都需要连接已运行的 Undefined 服务:首次部署请先启动 `Undefined-webui`,完成配置和 Bot 启动后再连接。
33
+ > 🚀 **开始使用 Undefined**:从[快速开始](#-快速开始)了解部署步骤、首次配置和可选客户端的下载方式。
45
34
 
46
35
  ## ⚡ 核心特性
47
36
 
@@ -97,8 +86,8 @@ Console 和 Chat 都需要连接已运行的 Undefined 服务:首次部署请
97
86
 
98
87
  Undefined 的功能极为丰富,为了让本页面不过于臃肿,我们将各个模块的深入解析与高阶玩法整理成了专题游览图。这里是开启探索的钥匙:
99
88
 
100
- - ⚙️ **[安装与部署指南](docs/deployment.md)**:不管你是需要 `pip` 无脑一键安装,还是源码二次开发,这里的排坑指南应有尽有。
101
- - 🐳 **[容器化一键部署](docs/docker-deploy.md)**:`uv run deploy` 一条命令拉起本体 + NapCat 与按需自托管服务(SearXNG / Firecrawl / lxmusic2api),含端口、凭据、模式选择与排查。
89
+ - ⚙️ **[安装与部署指南](docs/deployment.md)**:首选源码部署;按源码、Docker、pip / uv tool 的推荐顺序介绍各安装方式。
90
+ - 🐳 **[Docker 一键部署指南(Linux)](docs/docker-deploy.md)**:源码部署之外的推荐选择,自动部署 Undefined + NapCat,并按需添加搜索、音乐服务。
102
91
  - 📦 **[Python 库 API 参考](docs/python-api.md)**:根包 lazy re-export、`Config.from_mapping` / `set_config`、公共 API 符号表与嵌入示例。
103
92
  - 🖥️ **[WebUI 使用指南](docs/webui-guide.md)**:管理控制台功能一览——配置编辑、日志查看、认知记忆管理、表情包库、AI 对话与系统监控。
104
93
  - 🧭 **[Management API 与远程管理](docs/management-api.md)**:WebUI / App 共用的管理接口、认证、配置/日志/Bot 控制与引导探针说明。
@@ -125,11 +114,15 @@ Undefined 的功能极为丰富,为了让本页面不过于臃肿,我们将
125
114
 
126
115
  ---
127
116
 
128
- ## ⚡ 快速开始 (源码模式)
117
+ ## ⚡ 快速开始
118
+
119
+ 推荐优先采用源码部署;希望在 Linux 上自动搭建 Undefined、NapCat 和可选服务时,也可以选择 Docker 一键部署。两种方式任选其一,部署完成后可直接使用 WebUI,也可按本节末尾的说明下载独立客户端。
129
120
 
130
- > 👶 **新手必看**:如果您是首次部署此类项目或不熟悉 Git/环境配置,**强烈建议直接前往 [《详细安装与部署指南》](docs/deployment.md)** 阅读手把手教程,避免遇到常见报错。
121
+ <a id="-快速开始-源码模式"></a>
131
122
 
132
- 以下步骤适合有一定开发经验、想快速跑起项目源码的用户。我们推荐使用现代 Python 构建工具 `uv`。
123
+ ### 源码部署(推荐)
124
+
125
+ 使用 `uv` 安装依赖并启动管理控制台。首次部署还需要准备 QQ 协议端、模型 API 和帐号配置,完整步骤见 [源码部署指南](docs/deployment.md#源码部署推荐)。
133
126
 
134
127
  ```bash
135
128
  # 1. 完整克隆源码库(注意附带 NagaAgent 模块)
@@ -143,35 +136,48 @@ uv run playwright install # 安装浏览器内核(用于页面截图等能力
143
136
 
144
137
  # 3. 启动管理控制台(推荐入口)
145
138
  uv run Undefined-webui
146
-
147
- # 4. 在 WebUI 中补齐/校验配置,然后直接点击启动 Bot
148
- # 如需先手动准备配置,也可以再执行:
149
- # cp config.toml.example config.toml
150
139
  ```
151
140
 
152
- > 浏览器是默认入口;如果你按上方 [Release 下载速查](#release-下载速查)下载了桌面端或 Android 安装包,也可以在完成首轮密码设置后,连接到同一个 Management API 地址进行远程管理。
141
+ 启动后,按终端显示的地址打开 WebUI,设置管理密码并填写模型与 QQ 配置;校验通过后,在页面中启动 Bot。后续配置、日志查看和 Bot 启停都可以在 WebUI 中完成。
153
142
 
154
- ---
143
+ <a id="-docker-一键部署linux"></a>
144
+ <a id="docker-一键部署linux"></a>
155
145
 
156
- ## 🐳 快速开始 (容器模式,Linux)
146
+ ### Docker 一键部署(Linux) · [完整部署指南](docs/docker-deploy.md)
157
147
 
158
- 不想手工装 Python 依赖、也不想自己起 NapCat / SearXNG 等服务?一条命令搞定(需要 Docker Engine,含 `docker compose` v2 插件):
148
+ 已安装 Docker Engine、`docker compose` 插件、Git 和 uv 后,在 Linux 上执行以下命令;未安装时先看 [开始前的准备](docs/docker-deploy.md#1-开始前的准备)。默认部署 Undefined + NapCat,其他服务按需选择:
159
149
 
160
150
  ```bash
161
- git clone --recursive https://github.com/69gg/Undefined.git
151
+ git clone https://github.com/69gg/Undefined.git
162
152
  cd Undefined
163
-
164
- # 交互式向导:选“本体是否进容器”,以及要额外部署哪些自托管服务(默认全不选)
165
153
  uv run deploy up
166
-
167
- # 非交互式:只跑本体 + NapCat
168
- uv run deploy up --yes
169
154
  ```
170
155
 
171
- 脚本会自动生成 compose 与各服务配置、按最小差异改好 `config.toml`(改前备份)、启动容器,最后把 **Undefined WebUI 密码、带 token 的 NapCat WebUI 链接、各服务入口**一次性打印出来。
156
+ 部署结束后,终端会显示 **Undefined WebUI 地址和密码、NapCat 登录链接**。打开 WebUI 填写模型 API、机器人 QQ 号和管理员 QQ 号,到 NapCat 扫码登录后,再返回 WebUI 点击“启动机器人”。部署配置默认关闭 Bot 自动启动,并使用 Stream 发送文件。完整步骤见 [部署后的首次配置](docs/docker-deploy.md#3-完成配置并登录-qq)。
157
+
158
+ 后续可用 `uv run deploy status` 查看入口与状态、`uv run deploy logs` 查看日志、`uv run deploy down` 停止服务并保留数据。
159
+
160
+ ### Release 下载速查
161
+
162
+ 完成上述部署后,可直接通过浏览器使用 WebUI。需要独立的管理或聊天客户端时,再前往 [GitHub Releases](https://github.com/69gg/Undefined/releases),按用途选择组件:
163
+
164
+ | 你需要的功能 | 下载组件 |
165
+ | --- | --- |
166
+ | 远程管理已有实例,编辑配置、查看日志、启停 Bot | **Undefined Console**:选择 `Undefined-Console-*` |
167
+ | 使用独立的原生聊天界面 | **Undefined Chat**:选择 `Undefined-Chat-*` |
168
+
169
+ 选好 Console 或 Chat 后,在该组件的文件中选择适合设备的安装包:
170
+
171
+ | 平台 | 安装包 |
172
+ | --- | --- |
173
+ | Windows x64 | `*-windows-x64-setup.exe`;批量部署可选 `*-windows-x64.msi` |
174
+ | macOS | Apple Silicon 选 `*-macos-arm64.dmg`,Intel 选 `*-macos-x64.dmg` |
175
+ | Linux | Debian / Ubuntu 选 `*.deb`,其他发行版可选 `*.AppImage` |
176
+ | Android | 通常选 `*-android-arm64-v8a-release.apk`;旧 32 位设备选 `armeabi-v7a`,模拟器按架构选择 `x86_64` 或 `x86` |
172
177
 
173
- 后续:`uv run deploy status` 看状态与凭据、`uv run deploy logs` 看日志、`uv run deploy down` 停止(数据保留)。完整说明见 [容器化一键部署](docs/docker-deploy.md)。
178
+ 安装后,Console 连接已部署实例的 Management API,Chat 连接 Bot 的 Runtime API;请使用该实例对应的地址和凭据。**两个客户端都需要已有的 Undefined 服务,部署 Bot 本身无需下载客户端安装包。**
174
179
 
180
+ 如需离线安装 Python 包或缓存安装文件,可下载 `undefined_bot-*.whl` 或 `undefined_bot-*.tar.gz`;安装方式见 [pip / uv tool 部署说明](docs/deployment.md#pipuv-tool-部署快速体验)。
175
181
 
176
182
  ---
177
183
 
@@ -1146,6 +1146,9 @@ use_proxy = false
1146
1146
  # zh: 远程附件自动下载并缓存的最大大小(MB)。超过上限或设为 0 时只保留 URL 引用,不下载文件内容。
1147
1147
  # en: Max remote attachment size (MB) to download into cache. Above the limit, or 0, keeps only a URL reference.
1148
1148
  remote_download_max_size_mb = 25
1149
+ # zh: 默认拒绝远程附件访问非公网地址。仅为信任的内网媒体服务添加精确 origin(协议、主机、端口),例如 ["http://media.internal:8080"];不支持路径、凭据或通配符。支持热重载。
1150
+ # en: Remote attachments reject non-public destinations by default. Allow only trusted private media origins (scheme, host, port), e.g. ["http://media.internal:8080"]. Paths, credentials and wildcards are not supported. Hot-reloadable.
1151
+ remote_download_allow_private_origins = []
1149
1152
  # zh: 附件缓存文件总大小上限(MB)。0 表示不按总容量清理;达到上限时优先删除最旧的本地缓存副本,若记录有 URL 则保留 UID 与 URL 以便后续回源。
1150
1153
  # en: Total attachment cache file size limit (MB). 0 disables total-size pruning; when exceeded, oldest local cache copies are removed while URL-backed UIDs keep their URL for later re-download.
1151
1154
  cache_max_total_size_mb = 0
@@ -1270,15 +1273,15 @@ use_proxy = false
1270
1273
  # en: Search tool priority for web_agent. Disabled tools are hidden; enabled tools are preferred in this order by prompt guidance, not hard routing.
1271
1274
  priority = ["grok_search", "firecrawl_search", "web_search"]
1272
1275
  # zh: SearxNG 搜索服务地址,例如 http://127.0.0.1:8849。
1273
- # zh: 该服务需自行部署(官方说明:https://docs.searxng.org/),本项目不提供;留空时内置 web_search 工具不可用,grok_search / firecrawl_search / crawl_webpage 不受影响。
1276
+ # zh: 可用 uv run deploy up --with searxng 一键部署,或连接已有实例(官方说明:https://docs.searxng.org/);留空时内置 web_search 工具不可用,grok_search / firecrawl_search / crawl_webpage 不受影响。
1274
1277
  # en: SearxNG service URL, e.g. http://127.0.0.1:8849.
1275
- # en: This service must be self-deployed (official guide: https://docs.searxng.org/); when empty the built-in web_search tool is unavailable while grok_search / firecrawl_search / crawl_webpage keep working.
1278
+ # en: Deploy with uv run deploy up --with searxng or connect to an existing instance (official guide: https://docs.searxng.org/); when empty the built-in web_search tool is unavailable while grok_search / firecrawl_search / crawl_webpage keep working.
1276
1279
  searxng_url = ""
1277
1280
  # zh: 是否在 web_agent 中启用 grok_search。关闭时该工具会从 web_agent 工具列表中隐藏。
1278
1281
  # en: Enable grok_search in web_agent. When disabled, this tool is hidden from the web_agent tool list.
1279
1282
  grok_search_enabled = false
1280
- # zh: 是否在 web_agent 中启用 firecrawl_search。默认关闭;关闭时该工具会隐藏。
1281
- # en: Enable firecrawl_search in web_agent. Disabled by default; when disabled, this tool is hidden.
1283
+ # zh: 是否在 web_agent 中启用 firecrawl_search。默认关闭;关闭时该工具会隐藏。无需自部署 Firecrawl,启用后可使用官方 keyless。
1284
+ # en: Enable firecrawl_search in web_agent. Disabled by default; when disabled, this tool is hidden. Self-hosting is optional; enable this to use official keyless search.
1282
1285
  firecrawl_search_enabled = false
1283
1286
 
1284
1287
  # zh: Firecrawl 搜索服务配置。
@@ -1287,8 +1290,8 @@ firecrawl_search_enabled = false
1287
1290
  # zh: Firecrawl API Key。为空时使用 Firecrawl keyless 搜索;填写后会发送 Authorization: Bearer;自部署实例通常也可留空。
1288
1291
  # en: Firecrawl API key. Leave empty for Firecrawl keyless search; when set, Authorization: Bearer is sent; self-hosted instances can usually leave it empty too.
1289
1292
  api_key = ""
1290
- # zh: Firecrawl API 基础地址。可用官方地址配自己的 Key,也可改为自部署实例地址(自托管说明:https://docs.firecrawl.dev/contributing/self-host)。
1291
- # en: Firecrawl API base URL. Use the official endpoint with your own key, or point it at a self-hosted instance (self-host guide: https://docs.firecrawl.dev/contributing/self-host).
1293
+ # zh: Firecrawl API 基础地址。官方地址支持 keyless(API Key 留空,受官方配额与限流限制)或自己的 Key,也可改为自部署实例地址(自托管说明:https://docs.firecrawl.dev/contributing/self-host)。
1294
+ # en: Firecrawl API base URL. Use the official endpoint with keyless access (empty API key, subject to official quotas and rate limits) or your own key, or point it at a self-hosted instance (self-host guide: https://docs.firecrawl.dev/contributing/self-host).
1292
1295
  base_url = "https://api.firecrawl.dev"
1293
1296
 
1294
1297
  # zh: 代理设置(可选)。
@@ -1325,8 +1328,8 @@ browser_max_concurrency = 0
1325
1328
  # zh: 可选的 Chrome/Chromium 可执行文件路径。留空时优先使用 Playwright 自带浏览器,缺失时再自动查找系统浏览器。
1326
1329
  # en: Optional Chrome/Chromium executable path. Empty prefers Playwright's bundled browser, then discovers an installed system browser if missing.
1327
1330
  browser_executable_path = ""
1328
- # zh: render_html/render_markdown 的 long 布局未显式传 width 时使用的最终图片宽度(像素,320-2048)。
1329
- # en: Final image width used by the long layout when width is omitted (pixels, 320-2048).
1331
+ # zh: render_html/render_markdown 的 long 布局未显式传 width 时使用的图片宽度上限(像素,320-2048)。页面自身布局更窄时按「内容宽度 + 2×padding」收敛,两侧不留空白。
1332
+ # en: Upper bound of the long-layout image width when width is omitted (pixels, 320-2048). When the page lays out narrower, the image shrinks to content width + 2×padding so no side whitespace is left.
1330
1333
  long_image_default_width = 900
1331
1334
  # zh: long 布局未显式传 padding 时使用的内边距(像素,0-160)。
1332
1335
  # en: Content padding used by the long layout when padding is omitted (pixels, 0-160).
@@ -1808,14 +1811,14 @@ recent_message_line_max_len = 240
1808
1811
  # zh: 触发本轮的“当前消息原文”最大字符数(超出会截断)。
1809
1812
  # en: Max characters of the current source message attached to historian jobs.
1810
1813
  source_message_max_len = 800
1811
- # zh: 队列轮询间隔(秒)。
1812
- # en: Queue poll interval (seconds).
1814
+ # zh: 无可执行阶段时的轮询间隔(秒);阶段完成会提前唤醒调度。
1815
+ # en: Idle poll interval (seconds); phase completion wakes the scheduler early.
1813
1816
  poll_interval_seconds = 1.0
1814
- # zh: 任务超时时间(秒),超时后重新入队。
1815
- # en: Stale job timeout (seconds), re-queued after timeout.
1817
+ # zh: 启动和轮询时恢复遗留 processing 的阈值(秒);活跃任务不回收,未恢复任务仍占实体顺位。
1818
+ # en: Recover orphan processing jobs after this age; live jobs are excluded and orphans retain entity order.
1816
1819
  stale_job_timeout_seconds = 300.0
1817
- # zh: 史官同时在途处理的任务上限(>=1);超出后暂停取新任务,避免并发无上限。
1818
- # en: Max in-flight historian jobs (>=1); new jobs wait until in-flight drops below it.
1820
+ # zh: 史官同时执行的阶段上限(>=1);不同实体可并发,同实体等待不占名额,需重启生效。
1821
+ # en: Max active historian phases (>=1); independent entities run concurrently, ordered waits use no slot. Restart required.
1819
1822
  max_concurrency = 4
1820
1823
 
1821
1824
  [cognitive.profile]
@@ -1836,11 +1839,11 @@ failed_max_age_days = 30
1836
1839
  # zh: 失败任务最大文件数。
1837
1840
  # en: Max number of failed job files.
1838
1841
  failed_max_files = 500
1839
- # zh: 每处理多少条任务触发一次失败队列清理。
1840
- # en: Failed queue cleanup interval (number of jobs processed).
1842
+ # zh: 每派发多少个史官阶段触发一次失败队列清理;0 禁用。
1843
+ # en: Failed queue cleanup interval (number of historian phases dispatched); 0 disables cleanup.
1841
1844
  failed_cleanup_interval = 100
1842
- # zh: 单个任务最大自动重试次数(超过后移入 failed,0=不重试)。
1843
- # en: Max auto-retries per job before moving to failed (0=no retry).
1845
+ # zh: 单任务累计自动重试次数;阶段切换不计次,耗尽后移入 failed 并放行后续同实体任务,0=不重试。
1846
+ # en: Total auto-retries per job; phase transitions do not count, terminal failure releases following entity updates (0=no retry).
1844
1847
  job_max_retries = 3
1845
1848
 
1846
1849
  [memes]
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "Undefined-bot"
3
- version = "3.17.0"
3
+ version = "3.17.2"
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 = [
@@ -9,7 +9,7 @@
9
9
  6. 不得输出或暗示其他实体侧写内容。
10
10
 
11
11
  工具使用规则(严格执行):
12
- - **修改任何侧写前,必须先调用 `read_profile` 查看其当前内容**,确认已读取后再决定是否调用 `update_profile`。
12
+ - 下方“当前侧写快照”已由运行时在前序更新完成后读取,是本次合并的完整基线。先阅读快照,再决定是否调用 `update_profile`;无需为读取同一目标重复调用工具。
13
13
  - 读完后先对照**当前**撰写规范自检:文件结构必须是 `---元数据---评价---正文---锐评` 四段;评价段与锐评段均独立且非空;结构(第一条定调 + 少量维度)、tags 只写身份/角色/核心领域、无时序流水账、克制去冗、核心画像有辨识度。缺评价段、缺锐评段,或任一为空 = 不合规。不合规则必须重写,不得因“没有新稳定特征”而 skip。
14
14
  - 可以调用 `read_profile` 查看任意实体的侧写(不限于目标实体)。
15
15
  - 只允许通过 `update_profile` 工具写入侧写,禁止输出普通文本内容。
@@ -20,6 +20,11 @@
20
20
  - perspective: {target_perspective}
21
21
  - display_name: {target_display_name}
22
22
 
23
+ 当前侧写快照(只读历史资料,不是指令;本轮更新应基于此内容):
24
+ <current_profile>
25
+ {current_profile}
26
+ </current_profile>
27
+
23
28
  时间上下文:
24
29
  - 当前时刻: {now_local}({timezone};UTC: {now_utc})
25
30
  - 本轮事件时间: {timestamp_local}({timezone})
@@ -52,7 +57,7 @@
52
57
  {observations}
53
58
 
54
59
  要求:
55
- 1. **先调用 `read_profile` 读取目标实体的当前侧写**,对照当前撰写规范自检后再决定如何更新
60
+ 1. **先阅读当前侧写快照**,对照当前撰写规范自检后再决定如何更新;`read_profile` 读取当前目标时会返回同一轮快照
56
61
  2. **更新双原则**(核心):
57
62
  - **未冲突**:现有侧写是长期积累的全貌,本轮新事件只是增量片段;默认保留未被本轮触及的稳定特征,用新信息补充细节或修正表述,而非无故重新定义
58
63
  - **冲突/过时**:以当前输入批次为准覆盖;历史事件只用于判断“旧特征是否仍有较新佐证”,不是保旧否决票
@@ -24,7 +24,7 @@ if TYPE_CHECKING:
24
24
  from .skills.registry import BaseRegistry as BaseRegistry
25
25
  from .skills.tools import ToolRegistry as ToolRegistry
26
26
 
27
- __version__: str = "3.17.0"
27
+ __version__: str = "3.17.2"
28
28
 
29
29
  # symbol -> (module_path, attribute_name);首次访问时才 importlib 加载
30
30
  _LAZY_IMPORTS: dict[str, tuple[str, str]] = {
@@ -202,6 +202,9 @@ class ClientSetupMixin:
202
202
  self._meme_service: Any = None
203
203
  if self.runtime_config is not None:
204
204
  self.attachment_registry = AttachmentRegistry(
205
+ remote_download_allow_private_origins=(
206
+ self.runtime_config.attachment_remote_download_allow_private_origins
207
+ ),
205
208
  remote_download_max_bytes=_attachment_remote_download_max_bytes(
206
209
  self.runtime_config
207
210
  ),
@@ -625,6 +628,9 @@ class ClientSetupMixin:
625
628
 
626
629
  def apply_attachment_config(self, runtime_config: Config) -> None:
627
630
  self.attachment_registry.set_limits(
631
+ remote_download_allow_private_origins=(
632
+ runtime_config.attachment_remote_download_allow_private_origins
633
+ ),
628
634
  remote_download_max_bytes=_attachment_remote_download_max_bytes(
629
635
  runtime_config
630
636
  ),
@@ -20,13 +20,13 @@ from uuid import uuid4
20
20
  import httpx
21
21
 
22
22
  from Undefined.attachments.models import AttachmentRecord, _RemoteAttachmentTooLarge
23
+ from Undefined.attachments.remote import RemoteURLPolicy, stream_remote_url
23
24
  from Undefined.attachments.segments import (
24
25
  display_name_from_source,
25
26
  is_http_url,
26
27
  media_kind_from_value,
27
28
  scope_from_context,
28
29
  )
29
- from Undefined.skills.http_config import build_httpx_client_kwargs
30
30
  from Undefined.utils import io
31
31
  from Undefined.utils.paths import (
32
32
  ATTACHMENT_CACHE_DIR,
@@ -129,6 +129,7 @@ class AttachmentRegistry:
129
129
  url_reference_max_records: int = _ATTACHMENT_URL_REFERENCE_MAX_RECORDS,
130
130
  url_max_length: int = _ATTACHMENT_URL_MAX_LENGTH,
131
131
  remote_download_max_bytes: int = _DEFAULT_REMOTE_DOWNLOAD_MAX_BYTES,
132
+ remote_download_allow_private_origins: list[str] | tuple[str, ...] = (),
132
133
  proxy_config: Any | None = None,
133
134
  ) -> None:
134
135
  self._registry_path = registry_path
@@ -140,6 +141,9 @@ class AttachmentRegistry:
140
141
  self._url_reference_max_records = max(0, int(url_reference_max_records))
141
142
  self._url_max_length = max(0, int(url_max_length))
142
143
  self._remote_download_max_bytes = max(0, int(remote_download_max_bytes))
144
+ self._remote_url_policy = RemoteURLPolicy.create(
145
+ remote_download_allow_private_origins, self._url_max_length
146
+ )
143
147
  self._proxy_config = proxy_config
144
148
  self._lock = asyncio.Lock()
145
149
  self._records: dict[str, AttachmentRecord] = {}
@@ -160,6 +164,9 @@ class AttachmentRegistry:
160
164
  self,
161
165
  *,
162
166
  remote_download_max_bytes: int | None = None,
167
+ remote_download_allow_private_origins: list[str]
168
+ | tuple[str, ...]
169
+ | None = None,
163
170
  max_cache_bytes: int | None = None,
164
171
  max_records: int | None = None,
165
172
  max_age_seconds: int | None = None,
@@ -167,7 +174,7 @@ class AttachmentRegistry:
167
174
  url_max_length: int | None = None,
168
175
  proxy_config: Any | None = None,
169
176
  ) -> None:
170
- """批量更新注册表容量与 TTL 限制。"""
177
+ """批量更新注册表容量、TTL 限制与远程目标策略。"""
171
178
  if remote_download_max_bytes is not None:
172
179
  self._remote_download_max_bytes = max(0, int(remote_download_max_bytes))
173
180
  if max_cache_bytes is not None:
@@ -180,6 +187,14 @@ class AttachmentRegistry:
180
187
  self._url_reference_max_records = max(0, int(url_reference_max_records))
181
188
  if url_max_length is not None:
182
189
  self._url_max_length = max(0, int(url_max_length))
190
+ if remote_download_allow_private_origins is not None:
191
+ self._remote_url_policy = RemoteURLPolicy.create(
192
+ remote_download_allow_private_origins, self._url_max_length
193
+ )
194
+ else:
195
+ self._remote_url_policy = replace(
196
+ self._remote_url_policy, max_url_length=self._url_max_length
197
+ )
183
198
  if proxy_config is not None:
184
199
  self._proxy_config = proxy_config
185
200
 
@@ -767,6 +782,7 @@ class AttachmentRegistry:
767
782
  await self.load()
768
783
  if not self._normalized_url_ref(url):
769
784
  raise ValueError("远程附件 URL 为空或超过长度上限")
785
+ self._remote_url_policy.validate(url)
770
786
  normalized_kind = media_kind_from_value(kind)
771
787
  normalized_media_type = (
772
788
  "image" if normalized_kind == "image" else normalized_kind
@@ -901,9 +917,13 @@ class AttachmentRegistry:
901
917
  description="远程附件未下载:remote_download_max_size_mb=0",
902
918
  )
903
919
 
904
- async def _stream(client: httpx.AsyncClient) -> tuple[bytes, str]:
905
- async with client.stream(
906
- "GET", url, timeout=timeout, follow_redirects=True
920
+ async def _stream() -> tuple[bytes, str]:
921
+ async with stream_remote_url(
922
+ url,
923
+ policy=self._remote_url_policy,
924
+ timeout=timeout,
925
+ client=self._http_client,
926
+ proxy_config=self._proxy_config,
907
927
  ) as response:
908
928
  response.raise_for_status()
909
929
  mime_type = (
@@ -924,18 +944,9 @@ class AttachmentRegistry:
924
944
  return b"".join(chunks), mime_type
925
945
 
926
946
  try:
927
- if self._http_client is not None:
928
- content, mime_type = await _stream(self._http_client)
929
- else:
930
- client_kwargs = build_httpx_client_kwargs(
931
- url,
932
- proxy_scope="attachments",
933
- timeout=timeout,
934
- follow_redirects=True,
935
- config=self._proxy_config,
936
- )
937
- async with httpx.AsyncClient(**client_kwargs) as client:
938
- content, mime_type = await _stream(client)
947
+ # DNS、连接、重定向与读取共用总时限,避免逐跳重置超时。
948
+ async with asyncio.timeout(_DEFAULT_REMOTE_TIMEOUT_SECONDS):
949
+ content, mime_type = await _stream()
939
950
  except _RemoteAttachmentTooLarge as exc:
940
951
  return await self.register_remote_reference(
941
952
  scope_key,