Undefined-bot 3.16.1__tar.gz → 3.17.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (855) hide show
  1. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/.gitignore +5 -0
  2. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/ARCHITECTURE.md +1 -0
  3. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/CHANGELOG.md +33 -0
  4. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/PKG-INFO +50 -21
  5. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/README.md +49 -20
  6. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/config.toml.example +11 -8
  7. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/pyproject.toml +2 -1
  8. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/__init__.py +1 -1
  9. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/client/setup.py +6 -0
  10. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/attachments/registry.py +28 -17
  11. undefined_bot-3.17.1/src/Undefined/attachments/remote.py +242 -0
  12. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/attachments/segments.py +19 -0
  13. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/bilibili/format.py +8 -0
  14. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/bilibili/opus_sender.py +50 -12
  15. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/config_class.py +1 -0
  16. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/env_registry.py +4 -0
  17. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/hot_reload.py +1 -0
  18. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/load_sections/history_skills.py +8 -0
  19. undefined_bot-3.17.1/src/Undefined/deploy/__init__.py +12 -0
  20. undefined_bot-3.17.1/src/Undefined/deploy/__main__.py +8 -0
  21. undefined_bot-3.17.1/src/Undefined/deploy/catalog.py +294 -0
  22. undefined_bot-3.17.1/src/Undefined/deploy/cli.py +296 -0
  23. undefined_bot-3.17.1/src/Undefined/deploy/commands.py +26 -0
  24. undefined_bot-3.17.1/src/Undefined/deploy/config_patch.py +258 -0
  25. undefined_bot-3.17.1/src/Undefined/deploy/docker_cli.py +331 -0
  26. undefined_bot-3.17.1/src/Undefined/deploy/generate.py +693 -0
  27. undefined_bot-3.17.1/src/Undefined/deploy/images.py +189 -0
  28. undefined_bot-3.17.1/src/Undefined/deploy/nagaagent.py +211 -0
  29. undefined_bot-3.17.1/src/Undefined/deploy/runner.py +906 -0
  30. undefined_bot-3.17.1/src/Undefined/deploy/state.py +284 -0
  31. undefined_bot-3.17.1/src/Undefined/deploy/templates/.dockerignore +54 -0
  32. undefined_bot-3.17.1/src/Undefined/deploy/templates/Dockerfile.bot +91 -0
  33. undefined_bot-3.17.1/src/Undefined/deploy/templates/compose.base.yaml +14 -0
  34. undefined_bot-3.17.1/src/Undefined/deploy/templates/compose.bot.yaml +52 -0
  35. undefined_bot-3.17.1/src/Undefined/deploy/templates/compose.firecrawl.yaml +131 -0
  36. undefined_bot-3.17.1/src/Undefined/deploy/templates/compose.lxmusic2api.yaml +35 -0
  37. undefined_bot-3.17.1/src/Undefined/deploy/templates/compose.napcat.yaml +35 -0
  38. undefined_bot-3.17.1/src/Undefined/deploy/templates/compose.searxng.yaml +33 -0
  39. undefined_bot-3.17.1/src/Undefined/deploy/templates/lxmusic2api.config.toml +29 -0
  40. undefined_bot-3.17.1/src/Undefined/deploy/templates/napcat.ws.json +26 -0
  41. undefined_bot-3.17.1/src/Undefined/deploy/templates/searxng.settings.yml +27 -0
  42. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/douyin/parser.py +11 -4
  43. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/render.py +80 -1
  44. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/README.md +1 -1
  45. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/README.md +1 -0
  46. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/handler.py +3 -0
  47. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/registry.py +19 -8
  48. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/bilibili_opus/README.md +1 -1
  49. undefined_bot-3.17.1/src/Undefined/skills/toolsets/render/README.md +24 -0
  50. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/render/layout.py +3 -0
  51. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/render/render_html/config.json +1 -1
  52. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/render/render_markdown/config.json +1 -1
  53. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/render_cache.py +2 -0
  54. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/sender.py +187 -5
  55. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/core.py +10 -1
  56. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/runtime.js +44 -1
  57. undefined_bot-3.16.1/src/Undefined/skills/toolsets/render/README.md +0 -20
  58. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/LICENSE +0 -0
  59. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/config/README.md +0 -0
  60. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/config/mcp.json.example +0 -0
  61. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/img/undefined-9527.png +0 -0
  62. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/img/xlwy.jpg +0 -0
  63. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/IMPORTANT/each.md +0 -0
  64. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/README.md +0 -0
  65. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/agent_self_intro.txt +0 -0
  66. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/analyze_multimodal.txt +0 -0
  67. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/describe_image.txt +0 -0
  68. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/describe_meme_image.txt +0 -0
  69. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/generate_title.txt +0 -0
  70. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/historian_profile_merge.md +0 -0
  71. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/historian_rewrite.md +0 -0
  72. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/image_gen_moderation.txt +0 -0
  73. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/injection_detector.txt +0 -0
  74. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/injection_response_agent.txt +0 -0
  75. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/judge_meme_image.txt +0 -0
  76. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/merge_message_summaries.txt +0 -0
  77. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/merge_summaries.txt +0 -0
  78. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/message_summary.txt +0 -0
  79. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/naga_message_moderation.txt +0 -0
  80. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/stats_analysis.txt +0 -0
  81. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/summarize.txt +0 -0
  82. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/undefined.xml +0 -0
  83. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/res/prompts/undefined_nagaagent.xml +0 -0
  84. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/README.md +0 -0
  85. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/README.md +0 -0
  86. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/__main__.py +0 -0
  87. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/__init__.py +0 -0
  88. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/client/__init__.py +0 -0
  89. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/client/ask_loop.py +0 -0
  90. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/client/queue.py +0 -0
  91. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/crawl4ai_support.py +0 -0
  92. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/http.py +0 -0
  93. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/llm/__init__.py +0 -0
  94. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/llm/requester.py +0 -0
  95. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/llm/retry.py +0 -0
  96. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/llm/sanitize.py +0 -0
  97. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/llm/streaming.py +0 -0
  98. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/llm/thinking.py +0 -0
  99. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/llm/types.py +0 -0
  100. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/model_selector.py +0 -0
  101. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/multimodal/__init__.py +0 -0
  102. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/multimodal/analyzer.py +0 -0
  103. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/multimodal/constants.py +0 -0
  104. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/multimodal/detection.py +0 -0
  105. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/multimodal/parsing.py +0 -0
  106. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/parsing.py +0 -0
  107. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/prompts/__init__.py +0 -0
  108. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/prompts/builder.py +0 -0
  109. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/prompts/cognitive.py +0 -0
  110. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/prompts/constants.py +0 -0
  111. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/prompts/current_input.py +0 -0
  112. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/prompts/file_includes.py +0 -0
  113. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/prompts/system_context.py +0 -0
  114. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/prompts/system_info.py +0 -0
  115. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/queue_budget.py +0 -0
  116. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/retrieval.py +0 -0
  117. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/summaries.py +0 -0
  118. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/tokens.py +0 -0
  119. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/tool_search.py +0 -0
  120. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/tooling.py +0 -0
  121. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/transports/__init__.py +0 -0
  122. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/transports/anthropic_transport.py +0 -0
  123. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/transports/openai_transport.py +0 -0
  124. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/ai/transports/replay.py +0 -0
  125. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/__init__.py +0 -0
  126. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/_context.py +0 -0
  127. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/_helpers.py +0 -0
  128. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/_naga_state.py +0 -0
  129. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/_openapi.py +0 -0
  130. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/_probes.py +0 -0
  131. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/app.py +0 -0
  132. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/naga_store.py +0 -0
  133. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/routes/__init__.py +0 -0
  134. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/routes/automations.py +0 -0
  135. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/routes/chat.py +0 -0
  136. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/routes/cognitive.py +0 -0
  137. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/routes/commands.py +0 -0
  138. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/routes/health.py +0 -0
  139. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/routes/memes.py +0 -0
  140. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/routes/memory.py +0 -0
  141. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/routes/naga/__init__.py +0 -0
  142. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/routes/naga/auth.py +0 -0
  143. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/routes/naga/bind.py +0 -0
  144. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/routes/naga/send.py +0 -0
  145. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/routes/naga/unbind.py +0 -0
  146. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/routes/onebot_files.py +0 -0
  147. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/routes/schedules.py +0 -0
  148. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/routes/system.py +0 -0
  149. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/routes/tools.py +0 -0
  150. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/routes/weixin.py +0 -0
  151. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/api/webchat_store.py +0 -0
  152. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/arxiv/__init__.py +0 -0
  153. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/arxiv/client.py +0 -0
  154. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/arxiv/downloader.py +0 -0
  155. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/arxiv/models.py +0 -0
  156. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/arxiv/parser.py +0 -0
  157. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/arxiv/sender.py +0 -0
  158. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/attachments/__init__.py +0 -0
  159. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/attachments/forward_snapshot.py +0 -0
  160. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/attachments/models.py +0 -0
  161. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/attachments/render.py +0 -0
  162. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/automations/__init__.py +0 -0
  163. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/automations/address.py +0 -0
  164. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/automations/catalog.py +0 -0
  165. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/automations/clock.py +0 -0
  166. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/automations/constants.py +0 -0
  167. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/automations/engine.py +0 -0
  168. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/automations/extract.py +0 -0
  169. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/automations/logutil.py +0 -0
  170. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/automations/match.py +0 -0
  171. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/automations/mentions.py +0 -0
  172. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/automations/migrate.py +0 -0
  173. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/automations/runner.py +0 -0
  174. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/automations/service.py +0 -0
  175. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/automations/short.py +0 -0
  176. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/automations/storage.py +0 -0
  177. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/automations/template.py +0 -0
  178. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/automations/triggers.py +0 -0
  179. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/automations/validate.py +0 -0
  180. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/bilibili/__init__.py +0 -0
  181. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/bilibili/api_client.py +0 -0
  182. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/bilibili/danmaku.py +0 -0
  183. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/bilibili/download_core.py +0 -0
  184. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/bilibili/downloader.py +0 -0
  185. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/bilibili/errors.py +0 -0
  186. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/bilibili/models.py +0 -0
  187. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/bilibili/opus_parser.py +0 -0
  188. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/bilibili/opus_render.py +0 -0
  189. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/bilibili/parser.py +0 -0
  190. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/bilibili/sender.py +0 -0
  191. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/bilibili/wbi.py +0 -0
  192. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/bilibili/wbi_request.py +0 -0
  193. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/changelog.py +0 -0
  194. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/cognitive/__init__.py +0 -0
  195. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/cognitive/chroma_scheduler.py +0 -0
  196. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/cognitive/historian/__init__.py +0 -0
  197. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/cognitive/historian/helpers.py +0 -0
  198. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/cognitive/historian/tools.py +0 -0
  199. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/cognitive/historian/worker.py +0 -0
  200. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/cognitive/job_queue.py +0 -0
  201. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/cognitive/profile_storage.py +0 -0
  202. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/cognitive/service/__init__.py +0 -0
  203. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/cognitive/service/helpers.py +0 -0
  204. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/cognitive/service/service.py +0 -0
  205. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/cognitive/vector_store.py +0 -0
  206. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/cognitive/vector_store_compat.py +0 -0
  207. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/__init__.py +0 -0
  208. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/admin.py +0 -0
  209. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/api_modes.py +0 -0
  210. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/build_config.py +0 -0
  211. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/coercers.py +0 -0
  212. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/domain_parsers.py +0 -0
  213. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/load_sections/__init__.py +0 -0
  214. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/load_sections/access.py +0 -0
  215. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/load_sections/core.py +0 -0
  216. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/load_sections/domains.py +0 -0
  217. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/load_sections/finalize.py +0 -0
  218. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/load_sections/integrations.py +0 -0
  219. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/load_sections/knowledge.py +0 -0
  220. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/load_sections/logging_tools.py +0 -0
  221. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/load_sections/models.py +0 -0
  222. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/load_sections/network.py +0 -0
  223. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/loader.py +0 -0
  224. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/manager.py +0 -0
  225. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/model_parsers.py +0 -0
  226. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/models.py +0 -0
  227. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/naga_policy.py +0 -0
  228. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/onebot.py +0 -0
  229. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/parsers/__init__.py +0 -0
  230. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/parsers/agent.py +0 -0
  231. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/parsers/chat.py +0 -0
  232. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/parsers/embedding.py +0 -0
  233. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/parsers/grok.py +0 -0
  234. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/parsers/helpers.py +0 -0
  235. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/parsers/historian.py +0 -0
  236. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/parsers/image.py +0 -0
  237. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/parsers/naga.py +0 -0
  238. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/parsers/pool.py +0 -0
  239. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/parsers/security.py +0 -0
  240. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/parsers/summary.py +0 -0
  241. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/parsers/vision.py +0 -0
  242. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/resolvers.py +0 -0
  243. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/search.py +0 -0
  244. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/toml_io.py +0 -0
  245. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/config/webui_settings.py +0 -0
  246. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/context.py +0 -0
  247. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/context_resource_registry.py +0 -0
  248. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/douyin/__init__.py +0 -0
  249. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/douyin/client.py +0 -0
  250. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/douyin/downloader.py +0 -0
  251. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/douyin/models.py +0 -0
  252. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/douyin/sender.py +0 -0
  253. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/end_summary_storage.py +0 -0
  254. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/faq.py +0 -0
  255. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/github/__init__.py +0 -0
  256. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/github/client.py +0 -0
  257. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/github/models.py +0 -0
  258. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/github/parser.py +0 -0
  259. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/github/sender.py +0 -0
  260. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/handlers/__init__.py +0 -0
  261. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/handlers/auto_extract.py +0 -0
  262. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/handlers/message_flow.py +0 -0
  263. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/handlers/poke.py +0 -0
  264. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/handlers/repeat.py +0 -0
  265. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/injection_response_agent.py +0 -0
  266. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/knowledge/__init__.py +0 -0
  267. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/knowledge/chunker.py +0 -0
  268. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/knowledge/embedder.py +0 -0
  269. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/knowledge/manager.py +0 -0
  270. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/knowledge/reranker.py +0 -0
  271. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/knowledge/runtime.py +0 -0
  272. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/knowledge/store.py +0 -0
  273. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/main.py +0 -0
  274. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/mcp/__init__.py +0 -0
  275. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/mcp/registry.py +0 -0
  276. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/memes/__init__.py +0 -0
  277. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/memes/_image_utils.py +0 -0
  278. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/memes/ingest.py +0 -0
  279. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/memes/models.py +0 -0
  280. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/memes/search.py +0 -0
  281. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/memes/service.py +0 -0
  282. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/memes/store.py +0 -0
  283. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/memes/vector_store.py +0 -0
  284. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/memes/worker.py +0 -0
  285. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/memory.py +0 -0
  286. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/onebot/__init__.py +0 -0
  287. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/onebot/client.py +0 -0
  288. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/onebot/file_errors.py +0 -0
  289. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/onebot/file_references.py +0 -0
  290. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/onebot/file_store.py +0 -0
  291. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/onebot/file_transport.py +0 -0
  292. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/onebot/message.py +0 -0
  293. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/py.typed +0 -0
  294. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/rate_limit.py +0 -0
  295. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/__init__.py +0 -0
  296. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/bugfix_command.py +0 -0
  297. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/command.py +0 -0
  298. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/commands/__init__.py +0 -0
  299. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/commands/catalog.py +0 -0
  300. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/commands/context.py +0 -0
  301. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/commands/registry.py +0 -0
  302. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/coordinator/__init__.py +0 -0
  303. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/coordinator/background.py +0 -0
  304. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/coordinator/batching.py +0 -0
  305. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/coordinator/group.py +0 -0
  306. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/coordinator/message_ids.py +0 -0
  307. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/coordinator/private.py +0 -0
  308. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/message_batcher/__init__.py +0 -0
  309. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/message_batcher/scheduler.py +0 -0
  310. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/message_batcher/state.py +0 -0
  311. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/message_summary_fetch.py +0 -0
  312. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/model_pool.py +0 -0
  313. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/queue_manager.py +0 -0
  314. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/security.py +0 -0
  315. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/services/stats_command.py +0 -0
  316. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/__init__.py +0 -0
  317. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/README.md +0 -0
  318. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/__init__.py +0 -0
  319. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/agent_tool_registry.py +0 -0
  320. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/config.json +0 -0
  321. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/docker_utils.py +0 -0
  322. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/handler.py +0 -0
  323. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/intro.md +0 -0
  324. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/mcp.json +0 -0
  325. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/prompt.md +0 -0
  326. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/config.json +0 -0
  327. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/handler.py +0 -0
  328. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/config.json +0 -0
  329. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/handler.py +0 -0
  330. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/config.json +0 -0
  331. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/handler.py +0 -0
  332. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/end/config.json +0 -0
  333. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/end/handler.py +0 -0
  334. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/config.json +0 -0
  335. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/handler.py +0 -0
  336. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/config.json +0 -0
  337. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/handler.py +0 -0
  338. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/config.json +0 -0
  339. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/handler.py +0 -0
  340. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/read/config.json +0 -0
  341. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/read/handler.py +0 -0
  342. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/config.json +0 -0
  343. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/handler.py +0 -0
  344. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/config.json +0 -0
  345. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/handler.py +0 -0
  346. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/config.json +0 -0
  347. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/handler.py +0 -0
  348. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/write/config.json +0 -0
  349. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/code_delivery_agent/tools/write/handler.py +0 -0
  350. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/entertainment_agent/README.md +0 -0
  351. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/entertainment_agent/config.json +0 -0
  352. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/entertainment_agent/handler.py +0 -0
  353. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/entertainment_agent/intro.md +0 -0
  354. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/entertainment_agent/prompt.md +0 -0
  355. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/entertainment_agent/tools/__init__.py +0 -0
  356. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/config.json +0 -0
  357. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/handler.py +0 -0
  358. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/config.json +0 -0
  359. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/handler.py +0 -0
  360. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/config.json +0 -0
  361. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/handler.py +0 -0
  362. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/config.json +0 -0
  363. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/handler.py +0 -0
  364. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/config.json +0 -0
  365. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/handler.py +0 -0
  366. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/__init__.py +0 -0
  367. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/config.json +0 -0
  368. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/handler.py +0 -0
  369. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/intro.md +0 -0
  370. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/prompt.md +0 -0
  371. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/__init__.py +0 -0
  372. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/config.json +0 -0
  373. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/handler.py +0 -0
  374. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/config.json +0 -0
  375. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/handler.py +0 -0
  376. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/config.json +0 -0
  377. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/handler.py +0 -0
  378. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/describe_pdf_page/config.json +0 -0
  379. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/describe_pdf_page/handler.py +0 -0
  380. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/config.json +0 -0
  381. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/handler.py +0 -0
  382. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/config.json +0 -0
  383. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/config.json +0 -0
  384. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/handler.py +0 -0
  385. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/config.json +0 -0
  386. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/handler.py +0 -0
  387. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/config.json +0 -0
  388. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/handler.py +0 -0
  389. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/config.json +0 -0
  390. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/handler.py +0 -0
  391. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/config.json +0 -0
  392. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/handler.py +0 -0
  393. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/config.json +0 -0
  394. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/handler.py +0 -0
  395. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/README.md +0 -0
  396. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/config.json +0 -0
  397. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/handler.py +0 -0
  398. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/intro.md +0 -0
  399. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/prompt.md +0 -0
  400. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/__init__.py +0 -0
  401. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/config.json +0 -0
  402. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/handler.py +0 -0
  403. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/baiduhot/config.json +0 -0
  404. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/baiduhot/handler.py +0 -0
  405. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/base64/config.json +0 -0
  406. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/base64/handler.py +0 -0
  407. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/config.json +0 -0
  408. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/handler.py +0 -0
  409. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/config.json +0 -0
  410. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/handler.py +0 -0
  411. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/douyinhot/config.json +0 -0
  412. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/douyinhot/handler.py +0 -0
  413. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/gold_price/config.json +0 -0
  414. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/gold_price/handler.py +0 -0
  415. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/hash/config.json +0 -0
  416. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/hash/handler.py +0 -0
  417. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/history/config.json +0 -0
  418. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/history/handler.py +0 -0
  419. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/net_check/config.json +0 -0
  420. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/net_check/handler.py +0 -0
  421. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/config.json +0 -0
  422. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/handler.py +0 -0
  423. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/speed/config.json +0 -0
  424. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/speed/handler.py +0 -0
  425. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/tcping/config.json +0 -0
  426. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/tcping/handler.py +0 -0
  427. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/weather_query/config.json +0 -0
  428. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/weather_query/handler.py +0 -0
  429. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/weibohot/config.json +0 -0
  430. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/weibohot/handler.py +0 -0
  431. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/whois/config.json +0 -0
  432. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/info_agent/tools/whois/handler.py +0 -0
  433. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/intro_generator.py +0 -0
  434. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/intro_utils.py +0 -0
  435. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/naga_code_analysis_agent/README.md +0 -0
  436. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/naga_code_analysis_agent/config.json +0 -0
  437. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/naga_code_analysis_agent/handler.py +0 -0
  438. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/naga_code_analysis_agent/intro.md +0 -0
  439. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/naga_code_analysis_agent/mcp.json +0 -0
  440. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/naga_code_analysis_agent/prompt.md +0 -0
  441. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/__init__.py +0 -0
  442. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/config.json +0 -0
  443. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/handler.py +0 -0
  444. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/config.json +0 -0
  445. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/handler.py +0 -0
  446. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/config.json +0 -0
  447. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/handler.py +0 -0
  448. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/config.json +0 -0
  449. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/handler.py +0 -0
  450. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/config.json +0 -0
  451. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/handler.py +0 -0
  452. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/runner/__init__.py +0 -0
  453. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/runner/context.py +0 -0
  454. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/runner/loop.py +0 -0
  455. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/runner/tools.py +0 -0
  456. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/runner/webchat_utils.py +0 -0
  457. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/summary_agent/__init__.py +0 -0
  458. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/summary_agent/config.json +0 -0
  459. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/summary_agent/handler.py +0 -0
  460. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/summary_agent/intro.md +0 -0
  461. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/summary_agent/prompt.md +0 -0
  462. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/summary_agent/tools/__init__.py +0 -0
  463. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/config.json +0 -0
  464. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/handler.py +0 -0
  465. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/undefined_self_code_agent/README.md +0 -0
  466. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/undefined_self_code_agent/__init__.py +0 -0
  467. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/undefined_self_code_agent/config.json +0 -0
  468. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/undefined_self_code_agent/handler.py +0 -0
  469. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/undefined_self_code_agent/intro.md +0 -0
  470. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/undefined_self_code_agent/prompt.md +0 -0
  471. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/__init__.py +0 -0
  472. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/_shared.py +0 -0
  473. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/glob/config.json +0 -0
  474. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/glob/handler.py +0 -0
  475. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/list_directory/config.json +0 -0
  476. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/list_directory/handler.py +0 -0
  477. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/read_file/config.json +0 -0
  478. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/read_file/handler.py +0 -0
  479. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/search_file_content/config.json +0 -0
  480. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/search_file_content/handler.py +0 -0
  481. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/web_agent/README.md +0 -0
  482. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/web_agent/callable.json +0 -0
  483. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/web_agent/config.json +0 -0
  484. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/web_agent/handler.py +0 -0
  485. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/web_agent/intro.md +0 -0
  486. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/web_agent/mcp.json +0 -0
  487. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/web_agent/prompt.md +0 -0
  488. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/web_agent/tools/__init__.py +0 -0
  489. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/config.json +0 -0
  490. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/handler.py +0 -0
  491. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/web_agent/tools/firecrawl_search/config.json +0 -0
  492. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/web_agent/tools/firecrawl_search/handler.py +0 -0
  493. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/web_agent/tools/grok_search/config.json +0 -0
  494. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/web_agent/tools/grok_search/handler.py +0 -0
  495. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/web_agent/tools/web_search/config.json +0 -0
  496. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/agents/web_agent/tools/web_search/handler.py +0 -0
  497. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/anthropic_skills/__init__.py +0 -0
  498. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/anthropic_skills/loader.py +0 -0
  499. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/README.md +0 -0
  500. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/admin/README.md +0 -0
  501. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/admin/config.json +0 -0
  502. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/admin/handler.py +0 -0
  503. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/bugfix/README.md +0 -0
  504. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/bugfix/config.json +0 -0
  505. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/bugfix/handler.py +0 -0
  506. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/changelog/README.md +0 -0
  507. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/changelog/config.json +0 -0
  508. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/changelog/handler.py +0 -0
  509. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/copyright/README.md +0 -0
  510. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/copyright/config.json +0 -0
  511. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/copyright/handler.py +0 -0
  512. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/faq/README.md +0 -0
  513. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/faq/config.json +0 -0
  514. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/faq/handler.py +0 -0
  515. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/feedback/README.md +0 -0
  516. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/feedback/config.json +0 -0
  517. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/feedback/handler.py +0 -0
  518. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/help/README.md +0 -0
  519. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/help/config.json +0 -0
  520. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/help/handler.py +0 -0
  521. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/naga/README.md +0 -0
  522. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/naga/config.json +0 -0
  523. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/naga/handler.py +0 -0
  524. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/naga/policy.py +0 -0
  525. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/profile/README.md +0 -0
  526. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/profile/config.json +0 -0
  527. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/profile/handler.py +0 -0
  528. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/stats/README.md +0 -0
  529. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/stats/config.json +0 -0
  530. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/stats/handler.py +0 -0
  531. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/summary/README.md +0 -0
  532. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/summary/config.json +0 -0
  533. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/summary/handler.py +0 -0
  534. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/version/README.md +0 -0
  535. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/version/config.json +0 -0
  536. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/commands/version/handler.py +0 -0
  537. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/http_client.py +0 -0
  538. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/http_config.py +0 -0
  539. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/pipelines/__init__.py +0 -0
  540. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/pipelines/arxiv/config.json +0 -0
  541. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/pipelines/arxiv/handler.py +0 -0
  542. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/pipelines/bilibili/config.json +0 -0
  543. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/pipelines/bilibili/handler.py +0 -0
  544. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/pipelines/bilibili_opus/config.json +0 -0
  545. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/pipelines/bilibili_opus/handler.py +0 -0
  546. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/pipelines/context.py +0 -0
  547. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/pipelines/douyin/config.json +0 -0
  548. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/pipelines/douyin/handler.py +0 -0
  549. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/pipelines/github/config.json +0 -0
  550. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/pipelines/github/handler.py +0 -0
  551. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/pipelines/models.py +0 -0
  552. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/pipelines/registry.py +0 -0
  553. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/shared.py +0 -0
  554. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/README.md +0 -0
  555. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/__init__.py +0 -0
  556. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/arxiv_paper/README.md +0 -0
  557. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/arxiv_paper/callable.json +0 -0
  558. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/arxiv_paper/config.json +0 -0
  559. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/arxiv_paper/handler.py +0 -0
  560. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/bilibili_opus/callable.json +0 -0
  561. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/bilibili_opus/config.json +0 -0
  562. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/bilibili_opus/handler.py +0 -0
  563. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/bilibili_video/README.md +0 -0
  564. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/bilibili_video/callable.json +0 -0
  565. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/bilibili_video/config.json +0 -0
  566. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/bilibili_video/handler.py +0 -0
  567. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/calculator/README.md +0 -0
  568. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/calculator/callable.json +0 -0
  569. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/calculator/config.json +0 -0
  570. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/calculator/handler.py +0 -0
  571. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/changelog_query/README.md +0 -0
  572. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/changelog_query/config.json +0 -0
  573. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/changelog_query/handler.py +0 -0
  574. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/douyin_video/README.md +0 -0
  575. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/douyin_video/callable.json +0 -0
  576. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/douyin_video/config.json +0 -0
  577. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/douyin_video/handler.py +0 -0
  578. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/end/README.md +0 -0
  579. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/end/config.json +0 -0
  580. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/end/handler.py +0 -0
  581. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/fetch_image_uid/README.md +0 -0
  582. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/fetch_image_uid/config.json +0 -0
  583. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/fetch_image_uid/handler.py +0 -0
  584. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/get_current_time/README.md +0 -0
  585. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/get_current_time/callable.json +0 -0
  586. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/get_current_time/config.json +0 -0
  587. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/get_current_time/handler.py +0 -0
  588. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/get_picture/README.md +0 -0
  589. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/get_picture/config.json +0 -0
  590. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/get_picture/handler.py +0 -0
  591. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/get_user_info/README.md +0 -0
  592. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/get_user_info/config.json +0 -0
  593. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/get_user_info/handler.py +0 -0
  594. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/knowledge_list/README.md +0 -0
  595. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/knowledge_list/config.json +0 -0
  596. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/knowledge_list/handler.py +0 -0
  597. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/knowledge_semantic_search/README.md +0 -0
  598. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/knowledge_semantic_search/config.json +0 -0
  599. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/knowledge_semantic_search/handler.py +0 -0
  600. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/knowledge_text_search/README.md +0 -0
  601. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/knowledge_text_search/config.json +0 -0
  602. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/knowledge_text_search/handler.py +0 -0
  603. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/python_interpreter/README.md +0 -0
  604. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/python_interpreter/config.json +0 -0
  605. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/python_interpreter/handler.py +0 -0
  606. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/qq_like/README.md +0 -0
  607. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/qq_like/config.json +0 -0
  608. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/qq_like/handler.py +0 -0
  609. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/task_progress/README.md +0 -0
  610. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/task_progress/config.json +0 -0
  611. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/tools/task_progress/handler.py +0 -0
  612. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/README.md +0 -0
  613. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/__init__.py +0 -0
  614. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/attachments/README.md +0 -0
  615. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/config.json +0 -0
  616. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/handler.py +0 -0
  617. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/config.json +0 -0
  618. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/handler.py +0 -0
  619. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/automation/README.md +0 -0
  620. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/automation/_runtime.py +0 -0
  621. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/automation/create/config.json +0 -0
  622. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/automation/create/handler.py +0 -0
  623. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/automation/delete/config.json +0 -0
  624. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/automation/delete/handler.py +0 -0
  625. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/automation/get/config.json +0 -0
  626. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/automation/get/handler.py +0 -0
  627. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/automation/list/config.json +0 -0
  628. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/automation/list/handler.py +0 -0
  629. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/automation/set_enabled/config.json +0 -0
  630. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/automation/set_enabled/handler.py +0 -0
  631. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/automation/update/config.json +0 -0
  632. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/automation/update/handler.py +0 -0
  633. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/cognitive/README.md +0 -0
  634. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/cognitive/get_profile/config.json +0 -0
  635. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/cognitive/get_profile/handler.py +0 -0
  636. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/cognitive/search_events/config.json +0 -0
  637. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/cognitive/search_events/handler.py +0 -0
  638. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/cognitive/search_profiles/config.json +0 -0
  639. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/cognitive/search_profiles/handler.py +0 -0
  640. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/commands/README.md +0 -0
  641. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/commands/get/config.json +0 -0
  642. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/commands/get/handler.py +0 -0
  643. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/commands/search/config.json +0 -0
  644. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/commands/search/handler.py +0 -0
  645. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/contacts/README.md +0 -0
  646. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/contacts/query_friends/config.json +0 -0
  647. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/contacts/query_friends/handler.py +0 -0
  648. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/contacts/query_groups/config.json +0 -0
  649. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/contacts/query_groups/handler.py +0 -0
  650. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group/README.md +0 -0
  651. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group/find_member/config.json +0 -0
  652. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group/find_member/handler.py +0 -0
  653. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group/get_avatar/config.json +0 -0
  654. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group/get_avatar/handler.py +0 -0
  655. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group/get_files/config.json +0 -0
  656. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group/get_files/handler.py +0 -0
  657. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group/get_honor_info/config.json +0 -0
  658. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group/get_honor_info/handler.py +0 -0
  659. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group/get_member_info/config.json +0 -0
  660. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group/get_member_info/handler.py +0 -0
  661. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group/get_member_list/config.json +0 -0
  662. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group/get_member_list/handler.py +0 -0
  663. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group/get_member_title/config.json +0 -0
  664. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group/get_member_title/handler.py +0 -0
  665. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/README.md +0 -0
  666. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/activity_trend/config.json +0 -0
  667. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/activity_trend/handler.py +0 -0
  668. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/filter_members/config.json +0 -0
  669. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/filter_members/handler.py +0 -0
  670. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/config.json +0 -0
  671. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/handler.py +0 -0
  672. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/join_statistics/config.json +0 -0
  673. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/join_statistics/handler.py +0 -0
  674. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/level_distribution/config.json +0 -0
  675. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/level_distribution/handler.py +0 -0
  676. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/member_activity/config.json +0 -0
  677. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/member_activity/handler.py +0 -0
  678. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/member_messages/config.json +0 -0
  679. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/member_messages/handler.py +0 -0
  680. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/member_structure/config.json +0 -0
  681. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/member_structure/handler.py +0 -0
  682. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/message_mix/config.json +0 -0
  683. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/message_mix/handler.py +0 -0
  684. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/config.json +0 -0
  685. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/handler.py +0 -0
  686. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/rank_members/config.json +0 -0
  687. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/group_analysis/rank_members/handler.py +0 -0
  688. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/mcp/README.md +0 -0
  689. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/mcp/__init__.py +0 -0
  690. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/memes/README.md +0 -0
  691. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/memes/search_memes/config.json +0 -0
  692. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/memes/search_memes/handler.py +0 -0
  693. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/config.json +0 -0
  694. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/handler.py +0 -0
  695. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/memory/README.md +0 -0
  696. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/memory/add/config.json +0 -0
  697. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/memory/add/handler.py +0 -0
  698. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/memory/delete/config.json +0 -0
  699. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/memory/delete/handler.py +0 -0
  700. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/memory/list/config.json +0 -0
  701. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/memory/list/handler.py +0 -0
  702. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/memory/update/config.json +0 -0
  703. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/memory/update/handler.py +0 -0
  704. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/README.md +0 -0
  705. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/context_utils.py +0 -0
  706. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/get_forward_msg/config.json +0 -0
  707. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/get_forward_msg/handler.py +0 -0
  708. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/get_messages_by_time/config.json +0 -0
  709. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/get_messages_by_time/handler.py +0 -0
  710. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/get_recent_messages/config.json +0 -0
  711. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/get_recent_messages/handler.py +0 -0
  712. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/list_emojis/config.json +0 -0
  713. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/list_emojis/handler.py +0 -0
  714. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/config.json +0 -0
  715. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/handler.py +0 -0
  716. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/react_message_emoji/config.json +0 -0
  717. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/react_message_emoji/handler.py +0 -0
  718. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/send_group_sign/config.json +0 -0
  719. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/send_group_sign/handler.py +0 -0
  720. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/send_message/config.json +0 -0
  721. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/send_message/handler.py +0 -0
  722. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/send_poke/config.json +0 -0
  723. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/send_poke/handler.py +0 -0
  724. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/send_private_message/config.json +0 -0
  725. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/send_private_message/handler.py +0 -0
  726. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/send_text_file/callable.json +0 -0
  727. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/send_text_file/config.json +0 -0
  728. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/send_text_file/handler.py +0 -0
  729. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/send_url_file/callable.json +0 -0
  730. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/send_url_file/config.json +0 -0
  731. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/send_url_file/handler.py +0 -0
  732. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/send_voice/config.json +0 -0
  733. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/messages/send_voice/handler.py +0 -0
  734. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/README.md +0 -0
  735. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/_client.py +0 -0
  736. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/_constants.py +0 -0
  737. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/_tools.py +0 -0
  738. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/_track_refs.py +0 -0
  739. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/browse_playlists/config.json +0 -0
  740. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/browse_playlists/handler.py +0 -0
  741. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/browse_rankings/config.json +0 -0
  742. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/browse_rankings/handler.py +0 -0
  743. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/find_song_matches/config.json +0 -0
  744. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/find_song_matches/handler.py +0 -0
  745. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/get_audio/config.json +0 -0
  746. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/get_audio/handler.py +0 -0
  747. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/get_comments/config.json +0 -0
  748. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/get_comments/handler.py +0 -0
  749. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/get_cover/config.json +0 -0
  750. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/get_cover/handler.py +0 -0
  751. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/get_hot_search/config.json +0 -0
  752. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/get_hot_search/handler.py +0 -0
  753. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/get_lyrics/config.json +0 -0
  754. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/get_lyrics/handler.py +0 -0
  755. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/search_playlists/config.json +0 -0
  756. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/search_playlists/handler.py +0 -0
  757. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/search_songs/config.json +0 -0
  758. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/music/search_songs/handler.py +0 -0
  759. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/notices/README.md +0 -0
  760. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/notices/get/config.json +0 -0
  761. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/notices/get/handler.py +0 -0
  762. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/notices/list/config.json +0 -0
  763. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/notices/list/handler.py +0 -0
  764. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/notices/stats/config.json +0 -0
  765. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/notices/stats/handler.py +0 -0
  766. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/render/render_html/handler.py +0 -0
  767. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/render/render_latex/config.json +0 -0
  768. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/render/render_latex/handler.py +0 -0
  769. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/skills/toolsets/render/render_markdown/handler.py +0 -0
  770. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/token_usage_storage.py +0 -0
  771. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/__init__.py +0 -0
  772. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/cache.py +0 -0
  773. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/coerce.py +0 -0
  774. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/common.py +0 -0
  775. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/cors.py +0 -0
  776. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/easter_egg_calls.py +0 -0
  777. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/fake_at.py +0 -0
  778. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/file_lock.py +0 -0
  779. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/group_metrics.py +0 -0
  780. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/history.py +0 -0
  781. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/http_download.py +0 -0
  782. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/io.py +0 -0
  783. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/logging.py +0 -0
  784. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/member_utils.py +0 -0
  785. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/message_reply.py +0 -0
  786. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/message_targets.py +0 -0
  787. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/message_turn.py +0 -0
  788. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/message_utils.py +0 -0
  789. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/paths.py +0 -0
  790. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/qq_emoji.py +0 -0
  791. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/queue_intervals.py +0 -0
  792. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/recent_messages.py +0 -0
  793. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/request_params.py +0 -0
  794. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/resources.py +0 -0
  795. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/scheduler.py +0 -0
  796. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/self_update.py +0 -0
  797. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/sender_helpers.py +0 -0
  798. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/time_utils.py +0 -0
  799. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/tool_calls.py +0 -0
  800. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/utils/xml.py +0 -0
  801. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/__init__.py +0 -0
  802. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/__main__.py +0 -0
  803. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/app.py +0 -0
  804. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/routes/__init__.py +0 -0
  805. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/routes/_auth.py +0 -0
  806. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/routes/_bot.py +0 -0
  807. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/routes/_config.py +0 -0
  808. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/routes/_index.py +0 -0
  809. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/routes/_logs.py +0 -0
  810. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/routes/_memes.py +0 -0
  811. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/routes/_runtime.py +0 -0
  812. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/routes/_shared.py +0 -0
  813. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/routes/_system.py +0 -0
  814. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/routes/_weixin.py +0 -0
  815. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/css/.stylelintrc.json +0 -0
  816. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/css/app.css +0 -0
  817. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/css/base.css +0 -0
  818. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/css/components.css +0 -0
  819. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/css/highlight-github.min.css +0 -0
  820. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/css/landing.css +0 -0
  821. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/css/responsive.css +0 -0
  822. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/css/style.css +0 -0
  823. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/css/variables.css +0 -0
  824. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/css/workflow.css +0 -0
  825. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/favicon.svg +0 -0
  826. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/api.js +0 -0
  827. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/auth.js +0 -0
  828. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/bot.js +0 -0
  829. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/config-form.js +0 -0
  830. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/i18n.js +0 -0
  831. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/log-view.js +0 -0
  832. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/logs.js +0 -0
  833. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/main.js +0 -0
  834. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/memes.js +0 -0
  835. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/schedules.js +0 -0
  836. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/state.js +0 -0
  837. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/ui.js +0 -0
  838. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/vendor/highlight.min.js +0 -0
  839. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/vendor/highlightjs.LICENSE +0 -0
  840. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/vendor/marked.min.js +0 -0
  841. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/weixin.js +0 -0
  842. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/workflow-canvas.js +0 -0
  843. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/workflow-graph.js +0 -0
  844. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/static/js/workflow-inspector.js +0 -0
  845. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/templates/index.html +0 -0
  846. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/utils/__init__.py +0 -0
  847. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/utils/comment.py +0 -0
  848. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/utils/config_io.py +0 -0
  849. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/utils/config_sync.py +0 -0
  850. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/webui/utils/toml_render.py +0 -0
  851. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/weixin/__init__.py +0 -0
  852. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/weixin/audio.py +0 -0
  853. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/weixin/models.py +0 -0
  854. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/weixin/service.py +0 -0
  855. {undefined_bot-3.16.1 → undefined_bot-3.17.1}/src/Undefined/weixin/store.py +0 -0
@@ -42,6 +42,11 @@ __pycache__/
42
42
  logs/*
43
43
  data/
44
44
 
45
+ # 容器化部署的运行态:.env / STATE.json / compose.yaml / 各服务配置与数据
46
+ # 均含凭据或运行时数据,全部不入库(模板在 src/Undefined/deploy/templates/)
47
+ # 必须用前导 / 锚定到仓库根,否则会连 src/Undefined/deploy 一起忽略
48
+ /deploy/
49
+
45
50
  #AGENTS.md
46
51
  .DS_Store
47
52
  .claude/
@@ -868,6 +868,7 @@ description: 从 PDF 文件中提取文本和表格,填写表单。当用户
868
868
  6. **技能系统层**:ToolRegistry (registry.py)、AgentRegistry、7个 Agents、13类 Toolsets
869
869
  7. **异步 IO 层**:统一 IO 工具 (utils/io.py),包含 write_json、read_json、append_line、跨平台文件锁 (flock/msvcrt)
870
870
  8. **数据持久化层**:历史数据目录、FAQ 目录、Token 归档目录、记忆文件、总结文件、自动化文件、微信绑定/游标/隔离/审计状态
871
+ 9. **部署编排层**(`deploy/`,不参与运行时):`uv run deploy` 把本体与 NapCat、可选自托管服务(SearXNG / Firecrawl / lxmusic2api)编排成一份 Docker Compose。`catalog.py` 是服务、端口与默认值的唯一事实来源(容器内端口固定、宿主端口可覆盖),`generate.py` 由包内 compose 片段与配置模板渲染出 `deploy/` 下的运行态,`config_patch.py` 只对 `config.toml` 做最小差异写入并把原文件备份到 `deploy/backup/`(**注意它是整份重排后原子替换,不是原地编辑**:注释会尽量保留,但不要指望行号与手工排版不变),`state.py` 定义 `deploy/` 运行态布局与 `STATE.json`(端口、绑定地址、服务选择跨次复用的来源),`images.py` 集中管理上游镜像 pin,`nagaagent.py` 负责子模块就绪与「只开问答能力、绝不改写 `[naga]`」的开关写入,`docker_cli.py` 是唯一的进程外调用边界,`runner.py` 实现 up/down/status/logs,`cli.py` 负责参数解析与交互向导。注意 `deploy/` 运行态目录不入库,模板随 wheel 分发;详见 [容器化一键部署](docs/docker-deploy.md)。
871
872
 
872
873
  ### 微信 iLink 路由边界
873
874
 
@@ -1,3 +1,36 @@
1
+ ## v3.17.1 交付体积边界收敛
2
+
3
+ 本版本收敛「内容一变大就发不出去」的两处交付边界:合并转发不再因为顶层节点塞满全文而被 QQ 拒收,长图不再因为页面自身更窄而右侧留白;同时补上图片消息段与 Agent 私有工具的静默丢失点。
4
+
5
+ - 长图宽度自适应:`layout=long` 时 `width` 改为**上限**,渲染前探测页面自身布局宽度(`html` / `body` 盒宽与后代最大右边界),比设定宽度窄时把视口收缩到「内容宽度 + 2 × `padding`」(下限 320),两侧不再留白。只在页面自己更窄时收敛,铺满视口的响应式页面(含 Markdown 模板)宽度与旧版完全一致;探测失败只记日志并保持原视口,不影响渲染本身。`[render].long_image_default_width` 语义随之变为上限,缓存键补上收敛参数。
6
+ - 合并转发预览收敛:NapCat packet 模式的转发卡片把**顶层节点**文本全部写进 `news` 预览,顶层文本量因此约等于卡片体积,约 14KB 会被 QQ 以 retcode=1200(`发送转发消息(res_id:… 失败`)拒收。`MessageSender` 在群聊与私聊发送前统一下沉:顶层直接文本合计超过 2000 字时,按文本量从大到小把节点内容改为 ≤1200 字的嵌套节点,嵌套节点段原样保留、不递归;发送被拒时以 error 级别记录节点数、顶层文本量、段数与图片数,便于定位。
7
+ - Bilibili 图文正文改为按单节点 1200 字(`format.NODE_TEXT_BUDGET`)与单节点 9 张图切分,节点名形如 `正文 1/12`;正文超过一个节点时整体收进顶层 `正文` 节点的嵌套内容,让卡片体积与正文长度解耦,不再出现「图文越长越容易被拒收」。未超预算时仍是单个顶层 `正文` 节点,结构与旧版一致。
8
+ - 图片消息段不再静默丢失:OneBot 图片段同时带 NapCat 的 `file` id 与可下载 `url`,先用 `get_image` 解析 `file`;解析失败或返回的既不是 HTTP URL 也不是本地路径时(典型是 NapCat 富媒体下载超时只给裸文件名),回落到段内 `url` 登记远程附件。
9
+ - 修复 Agent 私有工具全部无法加载:随包技能的 handler 模块名一律以真实包根 `Undefined/skills` 计算,`agents/<agent>/tools/<tool>/handler.py` 不再被算成不存在的 `Undefined.skills.tools.<tool>`;此前这些工具会在注册阶段被记入 `load_error` 并从 schema 中排除。不随包的目录(测试或外部注入)保持原有上溯规则。
10
+ - 裸数字不再误判为 Douyin aweme_id:只有不落在任何链接内的 16–25 位数字才算裸 ID,`bilibili.com/opus/933099353259638816` 这类链接里的数字不再让同一张图文链接同时触发抖音管线。
11
+ - 部署后的首次启动改为手动:`uv run deploy up` 在 `container` 与 `host` 模式统一写入 `[webui].autostart_bot = false`,并在输出里给出「填配置 → NapCat 扫码 → WebUI 点启动机器人」的顺序,避免容器一起来就连不上未登录的协议端;文件发送同时从 `url` 改为 `stream`(`[onebot].file_send_mode = "stream"`),不再依赖共享发送目录或 Runtime 下载地址。
12
+ - 文档重排:新增面向使用者的 [Docker 一键部署指南](docs/docker-deploy.md)(环境准备、向导选项、首次配置与 QQ 登录、远程访问、可选服务、日常管理与排查),README 与部署指南统一为「源码部署 → Docker 一键部署 → pip / uv tool」的推荐顺序,并补上镜像构建与维护说明。
13
+
14
+ ---
15
+
16
+ ## v3.17.0 容器化一键部署
17
+
18
+ 本版本新增 `uv run deploy`:一条命令把本体、NapCat 与可选自托管服务编排成 Docker Compose,按部署模式自动对齐 `config.toml`、生成并复用凭据,最后输出全部管理入口与凭据;同时补上镜像的 CI 构建与多架构发布。
19
+
20
+ - 新增部署入口 `uv run deploy`(`up` / `down` / `status` / `logs`)。向导只问四件事:本体部署方式、额外部署哪些自托管服务、发布端口的绑定地址、是否拉取 NagaAgent 子模块;**默认不部署任何可选服务**,回车即「全不部署」(重跑时表示沿用上次选择)。`--yes` 走非交互默认值;`--dry-run` 只打印将写入的 `config.toml` 差异、生成的 compose/.env 与**将执行的命令**,不落盘、不建目录、不写备份。
21
+ - 两种部署模式:`container`(默认)把本体也放进 compose,镜像入口是 WebUI 并由它托管 Bot 进程(写入 `[webui].autostart_bot = true`);`host` 只用 Docker 跑依赖服务,本体仍在宿主机启动。
22
+ - `container` 模式把**整个仓库目录**以可写方式挂到容器内的 `/data/Undefined`(`res/`、`img/` 只读覆盖同名目录,`deploy/data`、`deploy/logs` 嵌套为 `data/`、`logs/`)。`up` 写 `config.toml` 走「临时文件 + `os.replace`」原子替换,单文件 bind mount 绑的是替换前的 inode,容器会一直读旧配置而 compose 也不会因此重建容器;挂目录同时保证 WebUI 在线改配置(原地写)仍然可用。
23
+ - 地址与端口按模式对齐:容器内走 compose 服务名与固定的容器内端口,`--port` 覆盖的是宿主机发布端口——`[webui].port` / `[api].port` 与映射目标始终一致,`[onebot].ws_url` 不会被宿主端口污染;`host` 模式下本体自己就是监听方,端口跟随 `--port`。`up` / `status` 输出的入口地址取同一份解析后的端口(`host` 模式不发布本体端口,只看 `.env` 会把覆盖过的端口印成默认值)。`--port-bind` 默认只绑 `127.0.0.1`,`0.0.0.0` 只作监听语义、不会被写成连接地址。
24
+ - 凭据自动生成并复用已有值,重跑不会把已生效的 WebUI 密码、Runtime `auth_key`、NapCat token、SearXNG `secret_key`、Firecrawl 与 lxmusic2api 凭据换掉(`changeme` 与空值视为占位符,且占位值不会挡住下一个来源)。`[webui].password` 与 `[api].auth_key` 以 `config.toml` 里已生效的值为准(`.env` 只是留档,否则一份过期的 `.env` 会把用户手改过的密码改回去),其余凭据只认 `deploy/.env`;凭据文件权限 0600,`deploy/` 整体不入库。
25
+ - 写入面严格限定在服务拓扑:模型端、访问控制与提示词一律不碰。NagaAgent 相关**只写** `[features].nagaagent_mode_enabled`,`[naga]` 整节(`enabled` / `api_url` / `api_key` / `mode`)原样保留——既不清空已填的凭据,也不会关掉你自己开着的网关。
26
+ - NapCat 以 `MODE=ws` 作正向 WebSocket 服务端,端口与令牌由生成的 `deploy/napcat/ws.json` 只读覆盖镜像模板,容器每次启动重新写出;登录之后 NapCat 优先读账号级 `onebot11_<QQ>.json` 且没有 fs.watch,`up` 的输出会点名该文件并给出处置办法,不再一律报「已就绪」。
27
+ - 自托管服务:SearXNG 自带 `search.formats: [html, json]`(缺 `json` 时 `web_search` 会收到 403)并关闭入口对挂载目录的 chown;Firecrawl 拉起 api / playwright / redis / rabbitmq / postgres 五个容器,`USE_DB_AUTHENTICATION=false` 时不校验 key,管理界面只有 `/admin/<BULL_AUTH_KEY>/queues`;lxmusic2api 上游没有镜像,由本项目在 CI 里 clone 固定 commit 构建,pin 必须是完整 sha。
28
+ - `container` 模式下 `python_interpreter` / `code_delivery_agent` 通过挂载宿主 `/var/run/docker.sock` 走 DooD(不启 DinD),本体容器额外禁止提权;`down --purge` 会连同 `deploy/` 下的数据与凭据一并删除,不可恢复。
29
+ - 发布流程新增镜像构建:amd64 与 arm64 分别在原生 runner 上构建并按 digest 推送,再由合并任务生成 manifest list,产出 `ghcr.io/<owner>/undefined-bot:<tag>` 与 `undefined-lxmusic2api:<短sha>`,顺序在版本发布之前。GHCR 包首次推送默认为 private,拉取前需要 `docker login ghcr.io` 或把包改为 public。
30
+ - 部署过程本身按「失败可收拾」设计:`STATE.json` 在 `compose up` 之前落盘,任何失败之后 `down` / `status` / `logs` 仍然可用;镜像拉取超时按策略选择(首次部署用长超时);NapCat WebUI 的容器内端口固定,覆盖宿主端口不会让它失联。
31
+
32
+ ---
33
+
1
34
  ## v3.16.1 自托管服务部署依赖说明
2
35
 
3
36
  本版本补齐部署文档中长期缺失的一块:除 Python 运行环境外,Undefined 还需要连接若干由部署方自行搭建的服务,此前这些依赖只散落在配置字段注释里,没有一处说明哪些是必需的、不部署会失去什么。
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: Undefined-bot
3
- Version: 3.16.1
3
+ Version: 3.17.1
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,7 +137,8 @@ Console 和 Chat 都需要连接已运行的 Undefined 服务:首次部署请
148
137
 
149
138
  Undefined 的功能极为丰富,为了让本页面不过于臃肿,我们将各个模块的深入解析与高阶玩法整理成了专题游览图。这里是开启探索的钥匙:
150
139
 
151
- - ⚙️ **[安装与部署指南](docs/deployment.md)**:不管你是需要 `pip` 无脑一键安装,还是源码二次开发,这里的排坑指南应有尽有。
140
+ - ⚙️ **[安装与部署指南](docs/deployment.md)**:首选源码部署;按源码、Docker、pip / uv tool 的推荐顺序介绍各安装方式。
141
+ - 🐳 **[Docker 一键部署指南(Linux)](docs/docker-deploy.md)**:源码部署之外的推荐选择,自动部署 Undefined + NapCat,并按需添加搜索、音乐服务。
152
142
  - 📦 **[Python 库 API 参考](docs/python-api.md)**:根包 lazy re-export、`Config.from_mapping` / `set_config`、公共 API 符号表与嵌入示例。
153
143
  - 🖥️ **[WebUI 使用指南](docs/webui-guide.md)**:管理控制台功能一览——配置编辑、日志查看、认知记忆管理、表情包库、AI 对话与系统监控。
154
144
  - 🧭 **[Management API 与远程管理](docs/management-api.md)**:WebUI / App 共用的管理接口、认证、配置/日志/Bot 控制与引导探针说明。
@@ -175,11 +165,15 @@ Undefined 的功能极为丰富,为了让本页面不过于臃肿,我们将
175
165
 
176
166
  ---
177
167
 
178
- ## ⚡ 快速开始 (源码模式)
168
+ ## ⚡ 快速开始
169
+
170
+ 推荐优先采用源码部署;希望在 Linux 上自动搭建 Undefined、NapCat 和可选服务时,也可以选择 Docker 一键部署。两种方式任选其一,部署完成后可直接使用 WebUI,也可按本节末尾的说明下载独立客户端。
171
+
172
+ <a id="-快速开始-源码模式"></a>
179
173
 
180
- > 👶 **新手必看**:如果您是首次部署此类项目或不熟悉 Git/环境配置,**强烈建议直接前往 [《详细安装与部署指南》](docs/deployment.md)** 阅读手把手教程,避免遇到常见报错。
174
+ ### 源码部署(推荐)
181
175
 
182
- 以下步骤适合有一定开发经验、想快速跑起项目源码的用户。我们推荐使用现代 Python 构建工具 `uv`。
176
+ 使用 `uv` 安装依赖并启动管理控制台。首次部署还需要准备 QQ 协议端、模型 API 和帐号配置,完整步骤见 [源码部署指南](docs/deployment.md#源码部署推荐)。
183
177
 
184
178
  ```bash
185
179
  # 1. 完整克隆源码库(注意附带 NagaAgent 模块)
@@ -193,13 +187,48 @@ uv run playwright install # 安装浏览器内核(用于页面截图等能力
193
187
 
194
188
  # 3. 启动管理控制台(推荐入口)
195
189
  uv run Undefined-webui
190
+ ```
191
+
192
+ 启动后,按终端显示的地址打开 WebUI,设置管理密码并填写模型与 QQ 配置;校验通过后,在页面中启动 Bot。后续配置、日志查看和 Bot 启停都可以在 WebUI 中完成。
193
+
194
+ <a id="-docker-一键部署linux"></a>
195
+ <a id="docker-一键部署linux"></a>
196
+
197
+ ### Docker 一键部署(Linux) · [完整部署指南](docs/docker-deploy.md)
198
+
199
+ 已安装 Docker Engine、`docker compose` 插件、Git 和 uv 后,在 Linux 上执行以下命令;未安装时先看 [开始前的准备](docs/docker-deploy.md#1-开始前的准备)。默认部署 Undefined + NapCat,其他服务按需选择:
196
200
 
197
- # 4. 在 WebUI 中补齐/校验配置,然后直接点击启动 Bot
198
- # 如需先手动准备配置,也可以再执行:
199
- # cp config.toml.example config.toml
201
+ ```bash
202
+ git clone https://github.com/69gg/Undefined.git
203
+ cd Undefined
204
+ uv run deploy up
200
205
  ```
201
206
 
202
- > 浏览器是默认入口;如果你按上方 [Release 下载速查](#release-下载速查)下载了桌面端或 Android 安装包,也可以在完成首轮密码设置后,连接到同一个 Management API 地址进行远程管理。
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` |
228
+
229
+ 安装后,Console 连接已部署实例的 Management API,Chat 连接 Bot 的 Runtime API;请使用该实例对应的地址和凭据。**两个客户端都需要已有的 Undefined 服务,部署 Bot 本身无需下载客户端安装包。**
230
+
231
+ 如需离线安装 Python 包或缓存安装文件,可下载 `undefined_bot-*.whl` 或 `undefined_bot-*.tar.gz`;安装方式见 [pip / uv tool 部署说明](docs/deployment.md#pipuv-tool-部署快速体验)。
203
232
 
204
233
  ---
205
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,7 +86,8 @@ Console 和 Chat 都需要连接已运行的 Undefined 服务:首次部署请
97
86
 
98
87
  Undefined 的功能极为丰富,为了让本页面不过于臃肿,我们将各个模块的深入解析与高阶玩法整理成了专题游览图。这里是开启探索的钥匙:
99
88
 
100
- - ⚙️ **[安装与部署指南](docs/deployment.md)**:不管你是需要 `pip` 无脑一键安装,还是源码二次开发,这里的排坑指南应有尽有。
89
+ - ⚙️ **[安装与部署指南](docs/deployment.md)**:首选源码部署;按源码、Docker、pip / uv tool 的推荐顺序介绍各安装方式。
90
+ - 🐳 **[Docker 一键部署指南(Linux)](docs/docker-deploy.md)**:源码部署之外的推荐选择,自动部署 Undefined + NapCat,并按需添加搜索、音乐服务。
101
91
  - 📦 **[Python 库 API 参考](docs/python-api.md)**:根包 lazy re-export、`Config.from_mapping` / `set_config`、公共 API 符号表与嵌入示例。
102
92
  - 🖥️ **[WebUI 使用指南](docs/webui-guide.md)**:管理控制台功能一览——配置编辑、日志查看、认知记忆管理、表情包库、AI 对话与系统监控。
103
93
  - 🧭 **[Management API 与远程管理](docs/management-api.md)**:WebUI / App 共用的管理接口、认证、配置/日志/Bot 控制与引导探针说明。
@@ -124,11 +114,15 @@ Undefined 的功能极为丰富,为了让本页面不过于臃肿,我们将
124
114
 
125
115
  ---
126
116
 
127
- ## ⚡ 快速开始 (源码模式)
117
+ ## ⚡ 快速开始
118
+
119
+ 推荐优先采用源码部署;希望在 Linux 上自动搭建 Undefined、NapCat 和可选服务时,也可以选择 Docker 一键部署。两种方式任选其一,部署完成后可直接使用 WebUI,也可按本节末尾的说明下载独立客户端。
120
+
121
+ <a id="-快速开始-源码模式"></a>
128
122
 
129
- > 👶 **新手必看**:如果您是首次部署此类项目或不熟悉 Git/环境配置,**强烈建议直接前往 [《详细安装与部署指南》](docs/deployment.md)** 阅读手把手教程,避免遇到常见报错。
123
+ ### 源码部署(推荐)
130
124
 
131
- 以下步骤适合有一定开发经验、想快速跑起项目源码的用户。我们推荐使用现代 Python 构建工具 `uv`。
125
+ 使用 `uv` 安装依赖并启动管理控制台。首次部署还需要准备 QQ 协议端、模型 API 和帐号配置,完整步骤见 [源码部署指南](docs/deployment.md#源码部署推荐)。
132
126
 
133
127
  ```bash
134
128
  # 1. 完整克隆源码库(注意附带 NagaAgent 模块)
@@ -142,13 +136,48 @@ uv run playwright install # 安装浏览器内核(用于页面截图等能力
142
136
 
143
137
  # 3. 启动管理控制台(推荐入口)
144
138
  uv run Undefined-webui
139
+ ```
140
+
141
+ 启动后,按终端显示的地址打开 WebUI,设置管理密码并填写模型与 QQ 配置;校验通过后,在页面中启动 Bot。后续配置、日志查看和 Bot 启停都可以在 WebUI 中完成。
142
+
143
+ <a id="-docker-一键部署linux"></a>
144
+ <a id="docker-一键部署linux"></a>
145
+
146
+ ### Docker 一键部署(Linux) · [完整部署指南](docs/docker-deploy.md)
147
+
148
+ 已安装 Docker Engine、`docker compose` 插件、Git 和 uv 后,在 Linux 上执行以下命令;未安装时先看 [开始前的准备](docs/docker-deploy.md#1-开始前的准备)。默认部署 Undefined + NapCat,其他服务按需选择:
145
149
 
146
- # 4. 在 WebUI 中补齐/校验配置,然后直接点击启动 Bot
147
- # 如需先手动准备配置,也可以再执行:
148
- # cp config.toml.example config.toml
150
+ ```bash
151
+ git clone https://github.com/69gg/Undefined.git
152
+ cd Undefined
153
+ uv run deploy up
149
154
  ```
150
155
 
151
- > 浏览器是默认入口;如果你按上方 [Release 下载速查](#release-下载速查)下载了桌面端或 Android 安装包,也可以在完成首轮密码设置后,连接到同一个 Management API 地址进行远程管理。
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` |
177
+
178
+ 安装后,Console 连接已部署实例的 Management API,Chat 连接 Bot 的 Runtime API;请使用该实例对应的地址和凭据。**两个客户端都需要已有的 Undefined 服务,部署 Bot 本身无需下载客户端安装包。**
179
+
180
+ 如需离线安装 Python 包或缓存安装文件,可下载 `undefined_bot-*.whl` 或 `undefined_bot-*.tar.gz`;安装方式见 [pip / uv tool 部署说明](docs/deployment.md#pipuv-tool-部署快速体验)。
152
181
 
153
182
  ---
154
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).
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "Undefined-bot"
3
- version = "3.16.1"
3
+ version = "3.17.1"
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 = [
@@ -58,6 +58,7 @@ Issues = "https://github.com/69gg/Undefined/issues"
58
58
  [project.scripts]
59
59
  Undefined = "Undefined.main:run"
60
60
  Undefined-webui = "Undefined.webui:run"
61
+ deploy = "Undefined.deploy:main"
61
62
 
62
63
  [[tool.uv.index]]
63
64
  url = "https://pypi.org/simple"
@@ -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.16.1"
27
+ __version__: str = "3.17.1"
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,