Undefined-bot 3.6.0__tar.gz → 3.6.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.
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/ARCHITECTURE.md +4 -4
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/CHANGELOG.md +12 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/PKG-INFO +5 -5
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/README.md +4 -4
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/pyproject.toml +1 -1
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/__init__.py +1 -1
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/arxiv/sender.py +93 -1
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/bilibili/sender.py +125 -2
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/README.md +37 -19
- undefined_bot-3.6.1/src/Undefined/skills/agents/code_delivery_agent/intro.md +16 -0
- undefined_bot-3.6.1/src/Undefined/skills/agents/code_delivery_agent/prompt.md +20 -0
- undefined_bot-3.6.1/src/Undefined/skills/agents/entertainment_agent/intro.md +16 -0
- undefined_bot-3.6.1/src/Undefined/skills/agents/entertainment_agent/prompt.md +19 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/README.md +3 -1
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/config.json +3 -3
- undefined_bot-3.6.1/src/Undefined/skills/agents/file_analysis_agent/intro.md +17 -0
- undefined_bot-3.6.1/src/Undefined/skills/agents/file_analysis_agent/prompt.md +27 -0
- undefined_bot-3.6.1/src/Undefined/skills/agents/file_analysis_agent/tools/describe_pdf_page/config.json +29 -0
- undefined_bot-3.6.1/src/Undefined/skills/agents/file_analysis_agent/tools/describe_pdf_page/handler.py +154 -0
- undefined_bot-3.6.1/src/Undefined/skills/agents/info_agent/intro.md +16 -0
- undefined_bot-3.6.1/src/Undefined/skills/agents/info_agent/prompt.md +17 -0
- undefined_bot-3.6.1/src/Undefined/skills/agents/naga_code_analysis_agent/intro.md +17 -0
- undefined_bot-3.6.1/src/Undefined/skills/agents/naga_code_analysis_agent/prompt.md +19 -0
- undefined_bot-3.6.1/src/Undefined/skills/agents/summary_agent/intro.md +16 -0
- undefined_bot-3.6.1/src/Undefined/skills/agents/summary_agent/prompt.md +18 -0
- undefined_bot-3.6.1/src/Undefined/skills/agents/undefined_self_code_agent/intro.md +17 -0
- undefined_bot-3.6.1/src/Undefined/skills/agents/undefined_self_code_agent/prompt.md +18 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/web_agent/callable.json +1 -1
- undefined_bot-3.6.1/src/Undefined/skills/agents/web_agent/intro.md +15 -0
- undefined_bot-3.6.1/src/Undefined/skills/agents/web_agent/prompt.md +17 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/arxiv_paper/README.md +8 -2
- undefined_bot-3.6.1/src/Undefined/skills/tools/arxiv_paper/callable.json +4 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/arxiv_paper/config.json +6 -1
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/arxiv_paper/handler.py +29 -9
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/bilibili_video/README.md +8 -2
- undefined_bot-3.6.1/src/Undefined/skills/tools/bilibili_video/callable.json +4 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/bilibili_video/config.json +6 -1
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/bilibili_video/handler.py +33 -9
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/io.py +5 -0
- undefined_bot-3.6.0/src/Undefined/skills/agents/arxiv_analysis_agent/callable.json +0 -4
- undefined_bot-3.6.0/src/Undefined/skills/agents/arxiv_analysis_agent/config.json +0 -21
- undefined_bot-3.6.0/src/Undefined/skills/agents/arxiv_analysis_agent/handler.py +0 -51
- undefined_bot-3.6.0/src/Undefined/skills/agents/arxiv_analysis_agent/intro.md +0 -1
- undefined_bot-3.6.0/src/Undefined/skills/agents/arxiv_analysis_agent/prompt.md +0 -28
- undefined_bot-3.6.0/src/Undefined/skills/agents/arxiv_analysis_agent/tools/__init__.py +0 -0
- undefined_bot-3.6.0/src/Undefined/skills/agents/arxiv_analysis_agent/tools/fetch_paper/config.json +0 -17
- undefined_bot-3.6.0/src/Undefined/skills/agents/arxiv_analysis_agent/tools/fetch_paper/handler.py +0 -75
- undefined_bot-3.6.0/src/Undefined/skills/agents/arxiv_analysis_agent/tools/read_paper_pages/config.json +0 -21
- undefined_bot-3.6.0/src/Undefined/skills/agents/arxiv_analysis_agent/tools/read_paper_pages/handler.py +0 -68
- undefined_bot-3.6.0/src/Undefined/skills/agents/code_delivery_agent/intro.md +0 -1
- undefined_bot-3.6.0/src/Undefined/skills/agents/code_delivery_agent/prompt.md +0 -65
- undefined_bot-3.6.0/src/Undefined/skills/agents/entertainment_agent/intro.md +0 -25
- undefined_bot-3.6.0/src/Undefined/skills/agents/entertainment_agent/prompt.md +0 -22
- undefined_bot-3.6.0/src/Undefined/skills/agents/file_analysis_agent/intro.md +0 -20
- undefined_bot-3.6.0/src/Undefined/skills/agents/file_analysis_agent/prompt.md +0 -34
- undefined_bot-3.6.0/src/Undefined/skills/agents/info_agent/intro.md +0 -21
- undefined_bot-3.6.0/src/Undefined/skills/agents/info_agent/prompt.md +0 -18
- undefined_bot-3.6.0/src/Undefined/skills/agents/naga_code_analysis_agent/intro.md +0 -21
- undefined_bot-3.6.0/src/Undefined/skills/agents/naga_code_analysis_agent/prompt.md +0 -15
- undefined_bot-3.6.0/src/Undefined/skills/agents/summary_agent/intro.md +0 -36
- undefined_bot-3.6.0/src/Undefined/skills/agents/summary_agent/prompt.md +0 -53
- undefined_bot-3.6.0/src/Undefined/skills/agents/undefined_self_code_agent/intro.md +0 -22
- undefined_bot-3.6.0/src/Undefined/skills/agents/undefined_self_code_agent/prompt.md +0 -20
- undefined_bot-3.6.0/src/Undefined/skills/agents/web_agent/intro.md +0 -19
- undefined_bot-3.6.0/src/Undefined/skills/agents/web_agent/prompt.md +0 -18
- undefined_bot-3.6.0/src/Undefined/utils/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/.gitignore +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/LICENSE +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/config/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/config/mcp.json.example +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/config.toml.example +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/img/xlwy.jpg +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/IMPORTANT/each.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/agent_self_intro.txt +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/analyze_multimodal.txt +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/describe_image.txt +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/describe_meme_image.txt +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/generate_title.txt +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/historian_profile_merge.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/historian_rewrite.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/image_gen_moderation.txt +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/injection_detector.txt +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/injection_response_agent.txt +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/judge_meme_image.txt +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/merge_message_summaries.txt +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/merge_summaries.txt +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/message_summary.txt +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/naga_message_moderation.txt +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/stats_analysis.txt +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/summarize.txt +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/undefined.xml +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/res/prompts/undefined_nagaagent.xml +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/__main__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/client/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/client/ask_loop.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/client/queue.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/client/setup.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/crawl4ai_support.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/http.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/llm/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/llm/requester.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/llm/sanitize.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/llm/streaming.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/llm/thinking.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/llm/types.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/model_selector.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/multimodal/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/multimodal/analyzer.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/multimodal/constants.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/multimodal/detection.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/multimodal/parsing.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/parsing.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/prompts/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/prompts/builder.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/prompts/cognitive.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/prompts/constants.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/prompts/current_input.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/prompts/system_context.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/queue_budget.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/retrieval.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/summaries.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/tokens.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/tooling.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/transports/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/ai/transports/openai_transport.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/_context.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/_helpers.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/_naga_state.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/_openapi.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/_probes.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/app.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/naga_store.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/routes/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/routes/chat.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/routes/cognitive.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/routes/commands.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/routes/health.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/routes/memes.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/routes/memory.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/routes/naga/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/routes/naga/auth.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/routes/naga/bind.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/routes/naga/send.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/routes/naga/unbind.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/routes/schedules.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/routes/system.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/routes/tools.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/api/webchat_store.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/arxiv/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/arxiv/client.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/arxiv/downloader.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/arxiv/models.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/arxiv/parser.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/attachments/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/attachments/models.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/attachments/registry.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/attachments/render.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/attachments/segments.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/bilibili/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/bilibili/api_client.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/bilibili/danmaku.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/bilibili/download_core.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/bilibili/downloader.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/bilibili/errors.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/bilibili/models.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/bilibili/parser.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/bilibili/wbi.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/bilibili/wbi_request.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/changelog.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/cognitive/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/cognitive/chroma_scheduler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/cognitive/historian/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/cognitive/historian/helpers.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/cognitive/historian/tools.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/cognitive/historian/worker.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/cognitive/job_queue.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/cognitive/profile_storage.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/cognitive/service/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/cognitive/service/helpers.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/cognitive/service/service.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/cognitive/vector_store.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/cognitive/vector_store_compat.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/admin.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/build_config.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/coercers.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/config_class.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/domain_parsers.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/env_registry.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/hot_reload.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/load_sections/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/load_sections/access.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/load_sections/core.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/load_sections/domains.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/load_sections/finalize.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/load_sections/history_skills.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/load_sections/integrations.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/load_sections/knowledge.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/load_sections/logging_tools.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/load_sections/models.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/load_sections/network.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/loader.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/manager.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/model_parsers.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/models.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/parsers/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/parsers/agent.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/parsers/chat.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/parsers/embedding.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/parsers/grok.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/parsers/helpers.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/parsers/historian.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/parsers/image.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/parsers/naga.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/parsers/pool.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/parsers/security.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/parsers/summary.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/parsers/vision.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/resolvers.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/toml_io.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/config/webui_settings.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/context.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/context_resource_registry.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/end_summary_storage.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/faq.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/github/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/github/client.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/github/models.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/github/parser.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/github/sender.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/handlers/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/handlers/auto_extract.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/handlers/message_flow.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/handlers/poke.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/handlers/repeat.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/injection_response_agent.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/knowledge/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/knowledge/chunker.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/knowledge/embedder.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/knowledge/manager.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/knowledge/reranker.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/knowledge/runtime.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/knowledge/store.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/main.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/mcp/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/mcp/registry.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/memes/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/memes/_image_utils.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/memes/ingest.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/memes/models.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/memes/search.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/memes/service.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/memes/store.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/memes/vector_store.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/memes/worker.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/memory.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/onebot/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/onebot/client.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/onebot/message.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/py.typed +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/rate_limit.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/render.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/scheduled_task_storage.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/ai_coordinator.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/command.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/commands/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/commands/bugfix.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/commands/context.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/commands/registry.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/commands/stats.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/coordinator/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/coordinator/background.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/coordinator/batching.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/coordinator/group.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/coordinator/message_ids.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/coordinator/private.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/message_batcher/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/message_batcher/scheduler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/message_batcher/state.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/message_summary_fetch.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/model_pool.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/queue_manager.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/services/security.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/agent_tool_registry.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/docker_utils.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/mcp.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/end/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/end/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/read/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/read/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/write/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/code_delivery_agent/tools/write/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/entertainment_agent/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/entertainment_agent/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/entertainment_agent/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/entertainment_agent/tools/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/baiduhot/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/baiduhot/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/base64/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/base64/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/douyinhot/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/douyinhot/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/gold_price/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/gold_price/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/hash/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/hash/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/history/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/history/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/net_check/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/net_check/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/speed/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/speed/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/tcping/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/tcping/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/weather_query/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/weather_query/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/weibohot/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/weibohot/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/whois/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/info_agent/tools/whois/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/intro_generator.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/intro_utils.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/naga_code_analysis_agent/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/naga_code_analysis_agent/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/naga_code_analysis_agent/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/naga_code_analysis_agent/mcp.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/runner/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/runner/context.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/runner/loop.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/runner/tools.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/runner/webchat_utils.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/summary_agent/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/summary_agent/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/summary_agent/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/summary_agent/tools/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/undefined_self_code_agent/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/undefined_self_code_agent/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/undefined_self_code_agent/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/undefined_self_code_agent/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/_shared.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/glob/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/list_directory/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/list_directory/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/read_file/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/read_file/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/search_file_content/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/undefined_self_code_agent/tools/search_file_content/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/web_agent/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/web_agent/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/web_agent/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/web_agent/mcp.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/web_agent/tools/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/web_agent/tools/grok_search/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/web_agent/tools/grok_search/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/web_agent/tools/web_search/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/agents/web_agent/tools/web_search/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/anthropic_skills/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/anthropic_skills/loader.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/admin/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/admin/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/admin/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/bugfix/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/bugfix/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/bugfix/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/changelog/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/changelog/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/changelog/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/copyright/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/copyright/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/copyright/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/faq/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/faq/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/faq/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/feedback/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/feedback/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/feedback/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/help/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/help/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/help/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/naga/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/naga/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/naga/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/naga/policy.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/profile/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/profile/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/profile/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/stats/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/stats/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/stats/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/summary/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/summary/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/version/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/commands/version/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/http_client.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/http_config.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/pipelines/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/pipelines/arxiv/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/pipelines/arxiv/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/pipelines/bilibili/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/pipelines/bilibili/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/pipelines/context.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/pipelines/github/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/pipelines/github/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/pipelines/models.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/pipelines/registry.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/registry.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/calculator/callable.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/calculator/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/calculator/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/changelog_query/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/changelog_query/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/changelog_query/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/end/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/end/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/end/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/fetch_image_uid/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/fetch_image_uid/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/get_current_time/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/get_current_time/callable.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/get_current_time/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/get_current_time/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/get_picture/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/get_picture/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/get_picture/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/get_user_info/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/get_user_info/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/get_user_info/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/knowledge_list/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/knowledge_list/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/knowledge_semantic_search/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/knowledge_semantic_search/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/knowledge_text_search/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/knowledge_text_search/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/python_interpreter/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/python_interpreter/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/python_interpreter/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/qq_like/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/qq_like/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/qq_like/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/task_progress/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/tools/task_progress/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/cognitive/get_profile/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/cognitive/get_profile/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/cognitive/search_events/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/cognitive/search_events/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/cognitive/search_profiles/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/cognitive/search_profiles/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/contacts/query_friends/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/contacts/query_friends/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/contacts/query_groups/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/contacts/query_groups/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group/find_member/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group/find_member/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group/get_avatar/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group/get_avatar/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group/get_files/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group/get_files/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group/get_honor_info/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group/get_honor_info/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group/get_member_info/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group/get_member_info/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group/get_member_list/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group/get_member_list/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group/get_member_title/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group/get_member_title/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/activity_trend/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/activity_trend/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/filter_members/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/filter_members/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/join_statistics/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/join_statistics/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/level_distribution/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/level_distribution/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/member_activity/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/member_activity/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/member_messages/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/member_messages/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/member_structure/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/member_structure/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/message_mix/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/message_mix/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/rank_members/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/group_analysis/rank_members/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/mcp/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/mcp/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/memes/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/memes/search_memes/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/memes/search_memes/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/memory/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/memory/add/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/memory/add/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/memory/delete/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/memory/delete/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/memory/list/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/memory/list/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/memory/update/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/memory/update/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/context_utils.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/get_forward_msg/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/get_forward_msg/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/get_messages_by_time/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/get_messages_by_time/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/get_recent_messages/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/get_recent_messages/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/list_emojis/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/list_emojis/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/react_message_emoji/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/react_message_emoji/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/send_group_sign/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/send_group_sign/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/send_message/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/send_message/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/send_poke/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/send_poke/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/send_private_message/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/send_private_message/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/send_text_file/callable.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/send_text_file/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/send_text_file/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/send_url_file/callable.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/send_url_file/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/messages/send_url_file/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/notices/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/notices/get/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/notices/get/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/notices/list/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/notices/list/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/notices/stats/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/notices/stats/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/render/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/render/render_html/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/render/render_html/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/render/render_latex/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/render/render_latex/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/render/render_markdown/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/render/render_markdown/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/scheduler/README.md +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/scheduler/create_schedule_task/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/scheduler/create_schedule_task/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/scheduler/delete_schedule_task/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/scheduler/delete_schedule_task/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/scheduler/list_schedule_tasks/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/scheduler/list_schedule_tasks/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/scheduler/update_schedule_task/config.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/skills/toolsets/scheduler/update_schedule_task/handler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/token_usage_storage.py +0 -0
- {undefined_bot-3.6.0/src/Undefined/skills/agents/arxiv_analysis_agent → undefined_bot-3.6.1/src/Undefined/utils}/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/cache.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/coerce.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/common.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/cors.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/fake_at.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/file_lock.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/group_metrics.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/history.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/http_download.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/logging.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/member_utils.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/message_targets.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/message_turn.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/message_utils.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/paths.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/qq_emoji.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/queue_intervals.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/recent_messages.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/render_cache.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/request_params.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/resources.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/scheduler.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/self_update.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/sender.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/sender_helpers.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/time_utils.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/tool_calls.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/utils/xml.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/__main__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/app.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/core.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/routes/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/routes/_auth.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/routes/_bot.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/routes/_config.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/routes/_index.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/routes/_logs.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/routes/_memes.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/routes/_runtime.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/routes/_shared.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/routes/_system.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/css/.stylelintrc.json +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/css/app.css +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/css/base.css +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/css/components.css +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/css/highlight-github.min.css +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/css/landing.css +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/css/responsive.css +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/css/style.css +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/css/variables.css +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/favicon.svg +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/js/api.js +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/js/auth.js +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/js/bot.js +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/js/config-form.js +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/js/i18n.js +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/js/log-view.js +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/js/logs.js +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/js/main.js +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/js/memes.js +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/js/runtime.js +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/js/schedules.js +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/js/state.js +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/js/ui.js +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/js/vendor/highlight.min.js +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/js/vendor/highlightjs.LICENSE +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/static/js/vendor/marked.min.js +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/templates/index.html +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/utils/__init__.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/utils/comment.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/utils/config_io.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/utils/config_sync.py +0 -0
- {undefined_bot-3.6.0 → undefined_bot-3.6.1}/src/Undefined/webui/utils/toml_render.py +0 -0
|
@@ -94,8 +94,8 @@ graph TB
|
|
|
94
94
|
T_Time["get_current_time<br/>获取当前时间"]
|
|
95
95
|
T_GetPicture["get_picture<br/>获取图片"]
|
|
96
96
|
T_GetUserInfo["get_user_info<br/>获取用户信息"]
|
|
97
|
-
T_ArxivPaper["arxiv_paper<br/>arXiv 论文发送"]
|
|
98
|
-
T_BilibiliVideo["bilibili_video<br/>B站视频下载发送"]
|
|
97
|
+
T_ArxivPaper["arxiv_paper<br/>arXiv 论文发送 / UID 获取"]
|
|
98
|
+
T_BilibiliVideo["bilibili_video<br/>B站视频下载发送 / UID 获取"]
|
|
99
99
|
end
|
|
100
100
|
|
|
101
101
|
subgraph Toolsets["工具集 (skills/toolsets/, 11大类)"]
|
|
@@ -115,7 +115,7 @@ graph TB
|
|
|
115
115
|
subgraph IntelligentAgents["智能体 Agents (skills/agents/, 7个)"]
|
|
116
116
|
A_Info["info_agent<br/>信息查询助手<br/>(18个工具)<br/>• weather_query<br/>• *hot 热搜<br/>• bilibili_*<br/>• arxiv_search<br/>• whois"]
|
|
117
117
|
A_Web["web_agent<br/>网络搜索助手<br/>(3个工具 + MCP)<br/>• web_search<br/>• crawl_webpage<br/>• Playwright MCP"]
|
|
118
|
-
A_File["file_analysis_agent<br/>文件分析助手<br
|
|
118
|
+
A_File["file_analysis_agent<br/>文件分析助手<br/>• extract_* (PDF/Word/Excel/PPT)<br/>• describe_pdf_page<br/>• analyze_code<br/>• analyze_multimodal"]
|
|
119
119
|
A_Naga["naga_code_analysis_agent<br/>NagaAgent 代码分析<br/>(7个工具)<br/>• read_file / glob<br/>• search_file_content"]
|
|
120
120
|
A_Self["undefined_self_code_agent<br/>Undefined 自身代码查阅<br/>(4个工具)<br/>• read_file / list_directory<br/>• glob / search_file_content"]
|
|
121
121
|
A_Entertainment["entertainment_agent<br/>娱乐助手<br/>(9个工具)<br/>• ai_draw_one<br/>• horoscope<br/>• video_random_recommend"]
|
|
@@ -877,7 +877,7 @@ description: 从 PDF 文件中提取文本和表格,填写表单。当用户
|
|
|
877
877
|
|-------|---------|---------|---------|
|
|
878
878
|
| **info_agent** | 信息查询助手 | 18个 | 天气查询、热搜榜单、网络检测、B站信息查询、arXiv 搜索等 |
|
|
879
879
|
| **web_agent** | 网络搜索助手 | 3个 + MCP | 网页搜索、爬虫、Playwright MCP |
|
|
880
|
-
| **file_analysis_agent** | 文件分析助手 |
|
|
880
|
+
| **file_analysis_agent** | 文件分析助手 | 多个 | PDF/Word/Excel/PPT解析、指定 PDF 页视觉分析、代码分析、多模态分析、arXiv/Bilibili UID 获取分析 |
|
|
881
881
|
| **naga_code_analysis_agent** | NagaAgent 代码分析 | 7个 | 代码库浏览、文件搜索、目录遍历 |
|
|
882
882
|
| **undefined_self_code_agent** | Undefined 自身代码查阅 | 4个 | 受限读取源码、测试、文档、资源、脚本与 App |
|
|
883
883
|
| **entertainment_agent** | 娱乐助手 | 9个 | AI 绘图、星座运势、小说搜索、随机视频推荐等 |
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## v3.6.1 Agent 路由收敛、文件分析增强与发版脚本修复
|
|
2
|
+
|
|
3
|
+
本版本围绕 Agent 职责边界和文件分析链路做小版本收敛:把 arXiv 论文分析从独立 Agent 合并到通用文件分析 Agent,让论文、PDF 页面视觉分析和视频附件获取都走统一的附件 UID 语义;同时修复版本迭代脚本重写 Tauri 配置格式导致 pre-commit 失败的问题,保证后续版本号同步、lock 文件刷新和自动提交流程更稳定。
|
|
4
|
+
|
|
5
|
+
- 合并 arXiv 论文分析职责到文件分析链路。移除独立 `arxiv_analysis_agent`,`file_analysis_agent` 现在可通过 `arxiv_paper(output_mode=uid)` 获取论文 PDF 附件 UID,并结合 `extract_pdf` 与 `describe_pdf_page` 完成文本和指定页视觉分析。
|
|
6
|
+
- 扩展媒体工具的附件输出能力。`arxiv_paper` 与 `bilibili_video` 新增 `output_mode=uid` 调用方式,可把下载或提取结果登记为当前会话附件,供后续 Agent 直接引用和复用。
|
|
7
|
+
- 明确 Agent 职责边界。更新代码交付、文件分析、信息查询、娱乐、总结、Naga 代码分析、Undefined 自查与 Web Agent 的 intro / prompt,减少项目问题、通用搜索、文件理解和代码修改任务之间的误路由。
|
|
8
|
+
- 补齐文件分析视觉工具与测试。新增 `describe_pdf_page` 工具及回归测试,覆盖 PDF 指定页截图/视觉描述链路;同步更新 arXiv、B 站发送器和工具注册测试。
|
|
9
|
+
- 修复版本迭代脚本的 JSON 格式漂移。`scripts/bump_version.py` 更新 JSON manifest 时只替换顶层 `version` 字段,保留 Tauri 配置原有格式,避免 `--commit` 触发的 Biome 检查因 `targets` 数组被重排而失败;脚本文档与单元测试同步覆盖该行为。
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
1
13
|
## v3.6.0 原生 Chat、WebChat 多会话与运行时管理增强
|
|
2
14
|
|
|
3
15
|
本版本把 Undefined 的“管理控制台内聊天”扩展为一套更完整的跨端聊天与运行时管理体系:一边新增面向桌面端和 Android 的原生 Chat 客户端,一边把 WebUI WebChat 升级为可长期使用的多会话工作台;底层则补齐 Runtime / Management API、任务续接、附件、命令、定时任务和发布构建能力。围绕这些入口,v3.6.0 也整理了 Agent 路由、认知记忆、附件标签和工程验证,让 WebUI、原生客户端和 QQ 侧共享更一致的运行时语义。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Undefined-bot
|
|
3
|
-
Version: 3.6.
|
|
3
|
+
Version: 3.6.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
|
|
@@ -82,8 +82,6 @@ Description-Content-Type: text/markdown
|
|
|
82
82
|
|
|
83
83
|
### _与 [NagaAgent](https://github.com/Xxiii8322766509/NagaAgent) 进行联动!_
|
|
84
84
|
|
|
85
|
-
> 学业繁忙,暂缓更新至六月下旬,在此期间仅作必要bugfix。
|
|
86
|
-
|
|
87
85
|
---
|
|
88
86
|
|
|
89
87
|
## ⚡ 立即体验
|
|
@@ -104,6 +102,7 @@ Description-Content-Type: text/markdown
|
|
|
104
102
|
- **远程管理 + 多端客户端**:浏览器版 WebUI、跨平台 Console(管理客户端)和原生优先 Undefined Chat(聊天客户端)共享同一套 Management / Runtime 服务,支持远程管理,并覆盖 `Windows / macOS / Linux / Android` 发布链路。
|
|
105
103
|
- **Undefined Console**:基于 Tauri v2 的管理客户端,完整管理功能
|
|
106
104
|
- **Undefined Chat**:基于 Tauri v2 + React 19 的原生优先聊天客户端,采用莫兰迪橙色系设计,移植 WebUI webchat 的核心聊天能力并做原生增强:中英双语运行时切换(i18n)、平台抽象层(按真实平台区分桌面/移动布局)、桌面快捷键、系统凭据存储、HTML 正文 sanitize 内联渲染 + 独立预览窗口隔离运行、Android(非 iOS)横屏/平板适配。iOS 暂不作为发布平台
|
|
105
|
+
- **Undefined Chat 跨平台原生对话 App**:`apps/undefined-chat/` 提供独立 Tauri v2 + React 19 原生聊天工作台,直连 Runtime API,并以 Runtime 作为会话、历史、任务、附件和事件真源;桌面端支持快捷键、独立 HTML 预览窗口和系统凭据存储,Android 端支持移动布局、生命周期恢复、流式附件上传和 Keystore 安全存储。详见 [Undefined Chat](docs/undefined-chat.md)。
|
|
107
106
|
- **Management API + Runtime API 分层**:配置、日志、Bot 启停和管理探针由 Management API 提供;主进程 Runtime API 则专注探针、记忆只读查询、认知侧写检索和 WebUI AI Chat;内部探针的技能统计覆盖可调用工具、工具集、Agent、自动处理管线、斜杠命令与 Anthropic Skills。详见 [docs/management-api.md](docs/management-api.md) 与 [docs/openapi.md](docs/openapi.md)。
|
|
108
107
|
- **多模型池**:支持配置多个 AI 模型,可轮询、随机选择或用户指定;支持多模型并发比较,选择最佳结果继续对话。详见 [多模型功能文档](docs/multi-model.md)。
|
|
109
108
|
- **本地知识库**:将纯文本文件向量化存入 ChromaDB,AI 可通过关键词搜索或语义搜索查询领域知识;支持增量嵌入与自动扫描。详见 [知识库文档](docs/knowledge.md)。
|
|
@@ -112,6 +111,7 @@ Description-Content-Type: text/markdown
|
|
|
112
111
|
- **版本变更可查询**:仓库根目录维护 `CHANGELOG.md`,并提供 `/changelog` 命令在运行时查看最近版本和单版本摘要。
|
|
113
112
|
- **并行工具执行**:无论是主 AI 还是子 Agent,均支持 `asyncio` 并发工具调用,大幅提升多任务处理速度(如同时读取多个文件或搜索多个关键词)。
|
|
114
113
|
- **智能 Agent 矩阵**:内置多个专业 Agent,分工协作处理复杂任务。
|
|
114
|
+
- **Undefined 自身代码查阅 Agent**:内置 `undefined_self_code_agent`,可只读查询当前 Undefined 仓库的源码、测试、文档、资源、脚本、配置示例和 App 实现细节;访问范围受白名单约束,不写代码、不运行命令,并与 NagaAgent 代码分析职责分离。
|
|
115
115
|
- **callable.json 共享机制**:通过简单的配置文件(`callable.json`)即可让 Agent 互相调用、将 `skills/tools/` 或 `skills/toolsets/` 下的工具按白名单暴露给 Agent,支持细粒度访问控制,实现复杂的多 Agent 协作场景。
|
|
116
116
|
- **Agent 自我介绍自动生成**:启动时按 Agent 代码/配置 hash 生成 `intro.generated.md`(第一人称、结构化),与 `intro.md` 合并后作为描述;减少手动维护,保持能力说明与实现同步,有助于精准调度。
|
|
117
117
|
- **请求上下文管理**:基于 Python `contextvars` 的统一请求上下文系统,自动 UUID 追踪,零竞态条件,完全的并发隔离。
|
|
@@ -119,8 +119,8 @@ Description-Content-Type: text/markdown
|
|
|
119
119
|
- **MCP 协议支持**:支持通过 MCP (Model Context Protocol) 连接外部工具和数据源,扩展 AI 能力。
|
|
120
120
|
- **Agent 私有 MCP**:可为单个 agent 提供独立 MCP 配置,按调用即时加载并释放,工具仅对该 agent 可见。
|
|
121
121
|
- **Anthropic Skills**:支持 Anthropic Agent Skills(SKILL.md 格式),遵循 agentskills.io 开放标准,提供领域知识注入能力。
|
|
122
|
-
- **Bilibili
|
|
123
|
-
- **arXiv
|
|
122
|
+
- **Bilibili 视频提取与分析**:自动检测消息中的 B 站视频链接/BV 号/小程序分享,下载视频并通过 QQ 合并转发;`bilibili_video` 也可只返回附件 UID,供 `file_analysis_agent` 做视频内容分析。
|
|
123
|
+
- **arXiv 论文提取、搜索与分析**:自动检测消息中的 arXiv 链接/标识并发送论文信息与 PDF;`arxiv_paper` 也可只返回 PDF 附件 UID,供 `file_analysis_agent` 做文本提取或指定页视觉分析;`arxiv_search` 负责论文检索。
|
|
124
124
|
- **GitHub 仓库卡片**:自动检测 GitHub 仓库链接或 `owner/repo` 仓库 ID,获取 public 仓库信息并发送简洁图片卡片,展示头像、简介、stars、forks、issues、contributors 等概览。
|
|
125
125
|
- **自动处理管线**:Bilibili、arXiv、GitHub 等自动提取统一运行在 `skills/pipelines` 中,斜杠命令优先级更高;命令输入/输出会写入历史,非命令消息会并行检测和处理命中管线,结果通过统一发送层写入历史并登记附件 UID 后再进入 AI 回复。远程大附件超过 `[attachments].remote_download_max_size_mb` 时只登记 URL 引用,避免无界下载和缓存膨胀。
|
|
126
126
|
- **同 sender 短时消息合并**:默认开启。连续发的多条消息会合并到同一轮 AI 调用,AI 一次看到全部意图自行识别"独立请求/修正/打断";告别"画猫→改成狗"的重复触发与回复打架。主提示词按 batcher 的"当前输入批次"语义适配,关闭该功能可能导致连续补充/修正消息与提示词不匹配,需要单独适配。可选投机预发送让用户停顿时 LLM 提前开跑、新消息可在未发出回复前取消,进一步压低响应延迟。详见 [docs/message-batching.md](docs/message-batching.md)。
|
|
@@ -23,8 +23,6 @@
|
|
|
23
23
|
|
|
24
24
|
### _与 [NagaAgent](https://github.com/Xxiii8322766509/NagaAgent) 进行联动!_
|
|
25
25
|
|
|
26
|
-
> 学业繁忙,暂缓更新至六月下旬,在此期间仅作必要bugfix。
|
|
27
|
-
|
|
28
26
|
---
|
|
29
27
|
|
|
30
28
|
## ⚡ 立即体验
|
|
@@ -45,6 +43,7 @@
|
|
|
45
43
|
- **远程管理 + 多端客户端**:浏览器版 WebUI、跨平台 Console(管理客户端)和原生优先 Undefined Chat(聊天客户端)共享同一套 Management / Runtime 服务,支持远程管理,并覆盖 `Windows / macOS / Linux / Android` 发布链路。
|
|
46
44
|
- **Undefined Console**:基于 Tauri v2 的管理客户端,完整管理功能
|
|
47
45
|
- **Undefined Chat**:基于 Tauri v2 + React 19 的原生优先聊天客户端,采用莫兰迪橙色系设计,移植 WebUI webchat 的核心聊天能力并做原生增强:中英双语运行时切换(i18n)、平台抽象层(按真实平台区分桌面/移动布局)、桌面快捷键、系统凭据存储、HTML 正文 sanitize 内联渲染 + 独立预览窗口隔离运行、Android(非 iOS)横屏/平板适配。iOS 暂不作为发布平台
|
|
46
|
+
- **Undefined Chat 跨平台原生对话 App**:`apps/undefined-chat/` 提供独立 Tauri v2 + React 19 原生聊天工作台,直连 Runtime API,并以 Runtime 作为会话、历史、任务、附件和事件真源;桌面端支持快捷键、独立 HTML 预览窗口和系统凭据存储,Android 端支持移动布局、生命周期恢复、流式附件上传和 Keystore 安全存储。详见 [Undefined Chat](docs/undefined-chat.md)。
|
|
48
47
|
- **Management API + Runtime API 分层**:配置、日志、Bot 启停和管理探针由 Management API 提供;主进程 Runtime API 则专注探针、记忆只读查询、认知侧写检索和 WebUI AI Chat;内部探针的技能统计覆盖可调用工具、工具集、Agent、自动处理管线、斜杠命令与 Anthropic Skills。详见 [docs/management-api.md](docs/management-api.md) 与 [docs/openapi.md](docs/openapi.md)。
|
|
49
48
|
- **多模型池**:支持配置多个 AI 模型,可轮询、随机选择或用户指定;支持多模型并发比较,选择最佳结果继续对话。详见 [多模型功能文档](docs/multi-model.md)。
|
|
50
49
|
- **本地知识库**:将纯文本文件向量化存入 ChromaDB,AI 可通过关键词搜索或语义搜索查询领域知识;支持增量嵌入与自动扫描。详见 [知识库文档](docs/knowledge.md)。
|
|
@@ -53,6 +52,7 @@
|
|
|
53
52
|
- **版本变更可查询**:仓库根目录维护 `CHANGELOG.md`,并提供 `/changelog` 命令在运行时查看最近版本和单版本摘要。
|
|
54
53
|
- **并行工具执行**:无论是主 AI 还是子 Agent,均支持 `asyncio` 并发工具调用,大幅提升多任务处理速度(如同时读取多个文件或搜索多个关键词)。
|
|
55
54
|
- **智能 Agent 矩阵**:内置多个专业 Agent,分工协作处理复杂任务。
|
|
55
|
+
- **Undefined 自身代码查阅 Agent**:内置 `undefined_self_code_agent`,可只读查询当前 Undefined 仓库的源码、测试、文档、资源、脚本、配置示例和 App 实现细节;访问范围受白名单约束,不写代码、不运行命令,并与 NagaAgent 代码分析职责分离。
|
|
56
56
|
- **callable.json 共享机制**:通过简单的配置文件(`callable.json`)即可让 Agent 互相调用、将 `skills/tools/` 或 `skills/toolsets/` 下的工具按白名单暴露给 Agent,支持细粒度访问控制,实现复杂的多 Agent 协作场景。
|
|
57
57
|
- **Agent 自我介绍自动生成**:启动时按 Agent 代码/配置 hash 生成 `intro.generated.md`(第一人称、结构化),与 `intro.md` 合并后作为描述;减少手动维护,保持能力说明与实现同步,有助于精准调度。
|
|
58
58
|
- **请求上下文管理**:基于 Python `contextvars` 的统一请求上下文系统,自动 UUID 追踪,零竞态条件,完全的并发隔离。
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
- **MCP 协议支持**:支持通过 MCP (Model Context Protocol) 连接外部工具和数据源,扩展 AI 能力。
|
|
61
61
|
- **Agent 私有 MCP**:可为单个 agent 提供独立 MCP 配置,按调用即时加载并释放,工具仅对该 agent 可见。
|
|
62
62
|
- **Anthropic Skills**:支持 Anthropic Agent Skills(SKILL.md 格式),遵循 agentskills.io 开放标准,提供领域知识注入能力。
|
|
63
|
-
- **Bilibili
|
|
64
|
-
- **arXiv
|
|
63
|
+
- **Bilibili 视频提取与分析**:自动检测消息中的 B 站视频链接/BV 号/小程序分享,下载视频并通过 QQ 合并转发;`bilibili_video` 也可只返回附件 UID,供 `file_analysis_agent` 做视频内容分析。
|
|
64
|
+
- **arXiv 论文提取、搜索与分析**:自动检测消息中的 arXiv 链接/标识并发送论文信息与 PDF;`arxiv_paper` 也可只返回 PDF 附件 UID,供 `file_analysis_agent` 做文本提取或指定页视觉分析;`arxiv_search` 负责论文检索。
|
|
65
65
|
- **GitHub 仓库卡片**:自动检测 GitHub 仓库链接或 `owner/repo` 仓库 ID,获取 public 仓库信息并发送简洁图片卡片,展示头像、简介、stars、forks、issues、contributors 等概览。
|
|
66
66
|
- **自动处理管线**:Bilibili、arXiv、GitHub 等自动提取统一运行在 `skills/pipelines` 中,斜杠命令优先级更高;命令输入/输出会写入历史,非命令消息会并行检测和处理命中管线,结果通过统一发送层写入历史并登记附件 UID 后再进入 AI 回复。远程大附件超过 `[attachments].remote_download_max_size_mb` 时只登记 URL 引用,避免无界下载和缓存膨胀。
|
|
67
67
|
- **同 sender 短时消息合并**:默认开启。连续发的多条消息会合并到同一轮 AI 调用,AI 一次看到全部意图自行识别"独立请求/修正/打断";告别"画猫→改成狗"的重复触发与回复打架。主提示词按 batcher 的"当前输入批次"语义适配,关闭该功能可能导致连续补充/修正消息与提示词不匹配,需要单独适配。可选投机预发送让用户停顿时 LLM 提前开跑、新消息可在未发出回复前取消,进一步压低响应延迟。详见 [docs/message-batching.md](docs/message-batching.md)。
|
|
@@ -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__ = "3.6.
|
|
27
|
+
__version__ = "3.6.1"
|
|
28
28
|
|
|
29
29
|
# symbol -> (module_path, attribute_name);首次访问时才 importlib 加载
|
|
30
30
|
_LAZY_IMPORTS: dict[str, tuple[str, str]] = {
|
|
@@ -4,8 +4,9 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import asyncio
|
|
6
6
|
import logging
|
|
7
|
+
from pathlib import Path
|
|
7
8
|
import time
|
|
8
|
-
from typing import TYPE_CHECKING, Literal
|
|
9
|
+
from typing import TYPE_CHECKING, Any, Literal
|
|
9
10
|
|
|
10
11
|
from Undefined.arxiv.client import get_paper_info
|
|
11
12
|
from Undefined.arxiv.downloader import cleanup_download_path, download_paper_pdf
|
|
@@ -144,6 +145,43 @@ async def _send_file_message(
|
|
|
144
145
|
await sender.send_private_file(target_id, file_path, file_name)
|
|
145
146
|
|
|
146
147
|
|
|
148
|
+
def _build_uid_message(info: PaperInfo, uid: str, file_name: str) -> str:
|
|
149
|
+
title = info.title or f"arXiv:{info.paper_id}"
|
|
150
|
+
lines = [
|
|
151
|
+
f"已获取 arXiv 论文 PDF:{title}",
|
|
152
|
+
f"ID: {info.paper_id}",
|
|
153
|
+
f'PDF: <attachment uid="{uid}"/>',
|
|
154
|
+
]
|
|
155
|
+
if file_name:
|
|
156
|
+
lines.append(f"文件名: {file_name}")
|
|
157
|
+
if info.abs_url:
|
|
158
|
+
lines.append(info.abs_url)
|
|
159
|
+
return "\n".join(lines)
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
async def _register_pdf_attachment(
|
|
163
|
+
*,
|
|
164
|
+
attachment_registry: Any,
|
|
165
|
+
scope_key: str,
|
|
166
|
+
pdf_path: Path,
|
|
167
|
+
info: PaperInfo,
|
|
168
|
+
) -> str:
|
|
169
|
+
record = await attachment_registry.register_local_file(
|
|
170
|
+
scope_key,
|
|
171
|
+
pdf_path,
|
|
172
|
+
kind="file",
|
|
173
|
+
display_name=pdf_path.name,
|
|
174
|
+
source_kind="arxiv_paper",
|
|
175
|
+
source_ref=info.pdf_url or _build_pdf_url(info.paper_id),
|
|
176
|
+
segment_data={
|
|
177
|
+
"paper_id": info.paper_id,
|
|
178
|
+
"abs_url": info.abs_url,
|
|
179
|
+
"pdf_url": info.pdf_url or _build_pdf_url(info.paper_id),
|
|
180
|
+
},
|
|
181
|
+
)
|
|
182
|
+
return _build_uid_message(info, str(record.uid), pdf_path.name)
|
|
183
|
+
|
|
184
|
+
|
|
147
185
|
async def _send_arxiv_paper_once(
|
|
148
186
|
*,
|
|
149
187
|
paper_id: str,
|
|
@@ -205,6 +243,60 @@ async def _send_arxiv_paper_once(
|
|
|
205
243
|
await cleanup_download_path(task_dir)
|
|
206
244
|
|
|
207
245
|
|
|
246
|
+
async def fetch_arxiv_paper_attachment(
|
|
247
|
+
*,
|
|
248
|
+
paper_id: str,
|
|
249
|
+
attachment_registry: Any,
|
|
250
|
+
scope_key: str,
|
|
251
|
+
max_file_size: int,
|
|
252
|
+
author_preview_limit: int,
|
|
253
|
+
summary_preview_chars: int,
|
|
254
|
+
context: dict[str, object] | None = None,
|
|
255
|
+
) -> str:
|
|
256
|
+
"""下载 arXiv PDF 并注册为附件 UID,不发送消息。"""
|
|
257
|
+
normalized = normalize_arxiv_id(paper_id)
|
|
258
|
+
if normalized is None:
|
|
259
|
+
return f"无法解析 arXiv 标识: {paper_id}"
|
|
260
|
+
|
|
261
|
+
if attachment_registry is None:
|
|
262
|
+
return "缺少必要的运行时组件(attachment_registry)"
|
|
263
|
+
if not str(scope_key or "").strip():
|
|
264
|
+
return "无法确定附件作用域,不能注册 arXiv PDF"
|
|
265
|
+
|
|
266
|
+
info: PaperInfo
|
|
267
|
+
metadata_ready = True
|
|
268
|
+
try:
|
|
269
|
+
info = await get_paper_info(normalized, context=context)
|
|
270
|
+
except Exception:
|
|
271
|
+
metadata_ready = False
|
|
272
|
+
info = _minimal_paper_info(normalized)
|
|
273
|
+
logger.exception("[arXiv] 获取论文元信息失败: paper=%s", normalized)
|
|
274
|
+
|
|
275
|
+
download_result, task_dir = await download_paper_pdf(
|
|
276
|
+
info,
|
|
277
|
+
max_file_size_mb=max_file_size,
|
|
278
|
+
context=context,
|
|
279
|
+
)
|
|
280
|
+
try:
|
|
281
|
+
if download_result.path is None:
|
|
282
|
+
info_message = _build_info_message(
|
|
283
|
+
info,
|
|
284
|
+
author_preview_limit=author_preview_limit,
|
|
285
|
+
summary_preview_chars=summary_preview_chars,
|
|
286
|
+
)
|
|
287
|
+
if metadata_ready:
|
|
288
|
+
return f"未能下载 PDF,已获取论文信息:\n{info_message}"
|
|
289
|
+
return f"未能下载 PDF,已获取论文最小信息:\n{info_message}"
|
|
290
|
+
return await _register_pdf_attachment(
|
|
291
|
+
attachment_registry=attachment_registry,
|
|
292
|
+
scope_key=scope_key,
|
|
293
|
+
pdf_path=download_result.path,
|
|
294
|
+
info=info,
|
|
295
|
+
)
|
|
296
|
+
finally:
|
|
297
|
+
await cleanup_download_path(task_dir)
|
|
298
|
+
|
|
299
|
+
|
|
208
300
|
async def send_arxiv_paper(
|
|
209
301
|
*,
|
|
210
302
|
paper_id: str,
|
|
@@ -16,6 +16,7 @@ from Undefined.bilibili.downloader import (
|
|
|
16
16
|
)
|
|
17
17
|
from Undefined.bilibili.models import DanmakuItem
|
|
18
18
|
from Undefined.bilibili.parser import normalize_to_bvid
|
|
19
|
+
from Undefined.utils.io import get_file_size
|
|
19
20
|
|
|
20
21
|
if TYPE_CHECKING:
|
|
21
22
|
from Undefined.bilibili.downloader import VideoInfo
|
|
@@ -142,6 +143,27 @@ def _build_video_history_message(
|
|
|
142
143
|
return "\n".join(lines)
|
|
143
144
|
|
|
144
145
|
|
|
146
|
+
def _build_uid_message(
|
|
147
|
+
info: "VideoInfo",
|
|
148
|
+
*,
|
|
149
|
+
uid: str,
|
|
150
|
+
quality_name: str | None,
|
|
151
|
+
file_size_mb: float | None,
|
|
152
|
+
file_name: str,
|
|
153
|
+
) -> str:
|
|
154
|
+
lines = [
|
|
155
|
+
f"已获取 Bilibili 视频:{info.title}",
|
|
156
|
+
f"BV: {info.bvid}",
|
|
157
|
+
f'视频: <attachment uid="{uid}"/>',
|
|
158
|
+
]
|
|
159
|
+
if quality_name and file_size_mb is not None:
|
|
160
|
+
lines.append(f"清晰度: {quality_name} | 大小: {file_size_mb:.1f}MB")
|
|
161
|
+
if file_name:
|
|
162
|
+
lines.append(f"文件名: {file_name}")
|
|
163
|
+
lines.append(info.url)
|
|
164
|
+
return "\n".join(lines)
|
|
165
|
+
|
|
166
|
+
|
|
145
167
|
def _build_danmaku_text(item: DanmakuItem) -> str:
|
|
146
168
|
return f"[{_format_progress(item.progress_ms)}] {item.content}"
|
|
147
169
|
|
|
@@ -289,7 +311,7 @@ async def send_bilibili_video(
|
|
|
289
311
|
)
|
|
290
312
|
info_prefix = f"({video_status})"
|
|
291
313
|
else:
|
|
292
|
-
file_size_mb = video_path
|
|
314
|
+
file_size_mb = await get_file_size(video_path) / 1024 / 1024
|
|
293
315
|
max_size = max_file_size if max_file_size > 0 else float("inf")
|
|
294
316
|
|
|
295
317
|
if file_size_mb > max_size:
|
|
@@ -310,7 +332,7 @@ async def send_bilibili_video(
|
|
|
310
332
|
max_duration=max_duration,
|
|
311
333
|
)
|
|
312
334
|
if video_path is not None:
|
|
313
|
-
file_size_mb = video_path
|
|
335
|
+
file_size_mb = await get_file_size(video_path) / 1024 / 1024
|
|
314
336
|
|
|
315
337
|
if video_path is not None and file_size_mb is not None:
|
|
316
338
|
if file_size_mb > max_size:
|
|
@@ -403,6 +425,107 @@ async def send_bilibili_video(
|
|
|
403
425
|
cleanup_file(video_path)
|
|
404
426
|
|
|
405
427
|
|
|
428
|
+
async def fetch_bilibili_video_attachment(
|
|
429
|
+
video_id: str,
|
|
430
|
+
*,
|
|
431
|
+
attachment_registry: Any,
|
|
432
|
+
scope_key: str,
|
|
433
|
+
cookie: str = "",
|
|
434
|
+
prefer_quality: int = 80,
|
|
435
|
+
max_duration: int = 0,
|
|
436
|
+
max_file_size: int = 0,
|
|
437
|
+
oversize_strategy: str = "downgrade",
|
|
438
|
+
sessdata: str = "",
|
|
439
|
+
) -> str:
|
|
440
|
+
"""下载 Bilibili 视频并注册为附件 UID,不发送消息。"""
|
|
441
|
+
bvid = await normalize_to_bvid(video_id)
|
|
442
|
+
if not bvid:
|
|
443
|
+
return f"无法解析视频标识: {video_id}"
|
|
444
|
+
if attachment_registry is None:
|
|
445
|
+
return "缺少必要的运行时组件(attachment_registry)"
|
|
446
|
+
if not str(scope_key or "").strip():
|
|
447
|
+
return "无法确定附件作用域,不能注册 Bilibili 视频"
|
|
448
|
+
|
|
449
|
+
if not cookie and sessdata:
|
|
450
|
+
cookie = sessdata
|
|
451
|
+
|
|
452
|
+
video_path: Path | None = None
|
|
453
|
+
video_info: VideoInfo | None = None
|
|
454
|
+
actual_qn = 0
|
|
455
|
+
file_size_mb: float | None = None
|
|
456
|
+
|
|
457
|
+
try:
|
|
458
|
+
video_path, video_info, actual_qn = await download_video(
|
|
459
|
+
bvid=bvid,
|
|
460
|
+
cookie=cookie,
|
|
461
|
+
prefer_quality=prefer_quality,
|
|
462
|
+
max_duration=max_duration,
|
|
463
|
+
)
|
|
464
|
+
if video_path is None:
|
|
465
|
+
return f"视频时长 {_format_duration(video_info.duration)} 超过限制,未下载视频文件"
|
|
466
|
+
|
|
467
|
+
file_size_mb = await get_file_size(video_path) / 1024 / 1024
|
|
468
|
+
max_size = max_file_size if max_file_size > 0 else float("inf")
|
|
469
|
+
|
|
470
|
+
if file_size_mb > max_size:
|
|
471
|
+
if oversize_strategy == "downgrade" and actual_qn > 32:
|
|
472
|
+
cleanup_file(video_path)
|
|
473
|
+
video_path = None
|
|
474
|
+
lower_qn = _get_lower_quality(actual_qn)
|
|
475
|
+
logger.info(
|
|
476
|
+
"[Bilibili] 文件 %.1fMB 超限 %dMB,UID 模式降级到 qn=%d 重试",
|
|
477
|
+
file_size_mb,
|
|
478
|
+
max_file_size,
|
|
479
|
+
lower_qn,
|
|
480
|
+
)
|
|
481
|
+
video_path, video_info, actual_qn = await download_video(
|
|
482
|
+
bvid=bvid,
|
|
483
|
+
cookie=cookie,
|
|
484
|
+
prefer_quality=lower_qn,
|
|
485
|
+
max_duration=max_duration,
|
|
486
|
+
)
|
|
487
|
+
if video_path is None:
|
|
488
|
+
return "降级后仍未下载到视频文件"
|
|
489
|
+
file_size_mb = await get_file_size(video_path) / 1024 / 1024
|
|
490
|
+
|
|
491
|
+
if file_size_mb > max_size:
|
|
492
|
+
return f"视频文件 {file_size_mb:.1f}MB 超过限制,未注册附件"
|
|
493
|
+
|
|
494
|
+
quality_name = QUALITY_MAP.get(actual_qn, str(actual_qn)) if actual_qn else None
|
|
495
|
+
record = await attachment_registry.register_local_file(
|
|
496
|
+
scope_key,
|
|
497
|
+
video_path,
|
|
498
|
+
kind="file",
|
|
499
|
+
display_name=video_path.name,
|
|
500
|
+
source_kind="bilibili_video",
|
|
501
|
+
source_ref=video_info.url,
|
|
502
|
+
segment_data={
|
|
503
|
+
"bvid": video_info.bvid,
|
|
504
|
+
"url": video_info.url,
|
|
505
|
+
"title": video_info.title,
|
|
506
|
+
"quality": quality_name or "",
|
|
507
|
+
},
|
|
508
|
+
)
|
|
509
|
+
return _build_uid_message(
|
|
510
|
+
video_info,
|
|
511
|
+
uid=str(record.uid),
|
|
512
|
+
quality_name=quality_name,
|
|
513
|
+
file_size_mb=file_size_mb,
|
|
514
|
+
file_name=video_path.name,
|
|
515
|
+
)
|
|
516
|
+
except Exception as exc:
|
|
517
|
+
logger.exception("[Bilibili] UID 模式处理视频失败: %s", bvid)
|
|
518
|
+
if video_info is None:
|
|
519
|
+
try:
|
|
520
|
+
video_info = await get_video_info(bvid, cookie=cookie)
|
|
521
|
+
except Exception:
|
|
522
|
+
return f"视频处理失败:无法获取视频信息: {exc}"
|
|
523
|
+
return f"视频处理失败:{exc}"
|
|
524
|
+
finally:
|
|
525
|
+
if video_path is not None:
|
|
526
|
+
cleanup_file(video_path)
|
|
527
|
+
|
|
528
|
+
|
|
406
529
|
def _get_lower_quality(current_qn: int) -> int:
|
|
407
530
|
"""获取比当前清晰度低一级的 qn。"""
|
|
408
531
|
ordered = sorted(QUALITY_MAP.keys(), reverse=True)
|
|
@@ -260,33 +260,51 @@ mv skills/tools/my_tool skills/agents/my_agent/tools/
|
|
|
260
260
|
## 现有 Agents
|
|
261
261
|
|
|
262
262
|
### web_agent(网络搜索助手)
|
|
263
|
-
-
|
|
264
|
-
-
|
|
265
|
-
-
|
|
263
|
+
- **功能**:联网搜索、网页阅读、来源核验和最新信息获取。
|
|
264
|
+
- **适用场景**:新闻/公告/资料搜索、指定 URL 摘要、多来源对比、时效性问题核验。
|
|
265
|
+
- **不适用**:天气、金价、热搜、Whois、B 站、arXiv 检索等结构化查询;用户附件或文件解析。
|
|
266
|
+
- **子工具**:`grok_search`, `web_search`, `crawl_webpage`。
|
|
266
267
|
- **grok_search 参数**:优先使用 `search_request`,用自然语言完整叙述搜索要求,不要只传关键词。
|
|
267
268
|
|
|
268
269
|
### file_analysis_agent(文件分析助手)
|
|
269
|
-
-
|
|
270
|
-
-
|
|
271
|
-
-
|
|
270
|
+
- **功能**:分析用户提供的附件、内部 UID、URL、legacy file_id、arXiv 论文标识或 Bilibili 视频标识,提取文件内容。
|
|
271
|
+
- **适用场景**:PDF/Word/Excel/PPT/文本/代码/压缩包解析,图片、音频、视频等多模态内容识别,arXiv 论文 PDF 分析,Bilibili 视频内容分析。
|
|
272
|
+
- **不适用**:没有文件来源的开放式搜索、需要联网查资料的问题、执行文件或安全鉴定。
|
|
273
|
+
- **子工具**:`download_file`, `detect_file_type`, `read_text_file`, `extract_pdf`, `describe_pdf_page`, `extract_docx`, `extract_xlsx`, `extract_pptx`, `extract_archive`, `analyze_code`, `analyze_multimodal`, `cleanup_temp`;还可调用共享主工具 `arxiv_paper(output_mode=uid)` 与 `bilibili_video(output_mode=uid)` 获取待分析附件 UID。
|
|
272
274
|
|
|
273
275
|
### naga_code_analysis_agent(NagaAgent 代码分析助手)
|
|
274
|
-
-
|
|
275
|
-
-
|
|
276
|
-
-
|
|
276
|
+
- **功能**:只读分析 NagaAgent 项目的结构、源码、配置、构建、部署和实现细节。
|
|
277
|
+
- **适用场景**:追踪 NagaAgent 模块实现、目录结构、配置项、报错线索和项目内文档。
|
|
278
|
+
- **不适用**:Undefined 自身源码、用户上传文件、代码编写修改、执行验证或外部联网搜索。
|
|
279
|
+
- **子工具**:`read_file`, `list_directory`, `glob`, `search_file_content`, `read_naga_intro`。
|
|
277
280
|
|
|
278
281
|
### undefined_self_code_agent(Undefined 自身代码查阅助手)
|
|
279
|
-
- **功能**:只读查阅 Undefined 当前仓库的源码、测试、文档、资源、脚本、配置示例和 App
|
|
280
|
-
- **适用场景**:解释 Undefined
|
|
281
|
-
- **访问范围**:`src/`, `scripts/`, `tests/`, `res/`, `docs/`, `apps/`, `README.md`, `CHANGELOG.md`, `ARCHITECTURE.md`, `config.toml.example
|
|
282
|
-
-
|
|
282
|
+
- **功能**:只读查阅 Undefined 当前仓库的源码、测试、文档、资源、脚本、配置示例和 App 实现。
|
|
283
|
+
- **适用场景**:解释 Undefined 自身实现、定位模块、核对配置示例、查看测试覆盖。
|
|
284
|
+
- **访问范围**:`src/`, `scripts/`, `tests/`, `res/`, `docs/`, `apps/`, `README.md`, `CHANGELOG.md`, `ARCHITECTURE.md`, `config.toml.example`。
|
|
285
|
+
- **不适用**:写代码、改文件、运行命令、验证打包、NagaAgent 子模块、用户上传文件解析。
|
|
286
|
+
- **子工具**:`read_file`, `list_directory`, `glob`, `search_file_content`。
|
|
283
287
|
|
|
284
288
|
### info_agent(信息查询助手)
|
|
285
|
-
-
|
|
286
|
-
-
|
|
287
|
-
-
|
|
289
|
+
- **功能**:调用结构化工具完成参数明确的信息查询。
|
|
290
|
+
- **适用场景**:天气、金价、热搜、历史、Whois、网络诊断、测速、编码/哈希、B 站、QQ 等级、arXiv 检索。
|
|
291
|
+
- **不适用**:开放式网页搜索、网页阅读、来源核验、文件解析或长篇研究。
|
|
292
|
+
- **子工具**:`weather_query`, `gold_price`, `baiduhot`, `weibohot`, `douyinhot`, `history`, `whois`, `net_check`, `speed`, `tcping`, `base64`, `hash`, `bilibili_search`, `bilibili_user_info`, `qq_level_query`, `arxiv_search`。
|
|
288
293
|
|
|
289
294
|
### entertainment_agent(娱乐助手)
|
|
290
|
-
-
|
|
291
|
-
-
|
|
292
|
-
-
|
|
295
|
+
- **功能**:轻松互动、趣味内容和休闲创作。
|
|
296
|
+
- **适用场景**:AI 绘画、参考图生图、星座运势、趣味占卜、随机内容、Minecraft 皮肤/头像渲染、小说搜索、表情包或反应图需求。
|
|
297
|
+
- **不适用**:严肃专业建议、事实核验、新闻资料搜索、文件内容解析。
|
|
298
|
+
- **子工具**:`ai_draw_one`, `horoscope`, `minecraft_skin`, `renjian`, `wenchang_dijun`。
|
|
299
|
+
|
|
300
|
+
### summary_agent(消息总结助手)
|
|
301
|
+
- **功能**:按条数或时间范围拉取聊天记录并生成客观总结。
|
|
302
|
+
- **适用场景**:总结最近 N 条消息、过去一段时间的讨论、指定主题的结论、待办、参与者贡献和链接资源。
|
|
303
|
+
- **不适用**:实时监控、情绪评判、未来预测、脱离聊天记录的推测;`/summary` 与 `/sum` 斜杠命令由命令层直连 summary 模型。
|
|
304
|
+
- **子工具**:`fetch_messages`。
|
|
305
|
+
|
|
306
|
+
### code_delivery_agent(代码交付助手)
|
|
307
|
+
- **功能**:把代码需求实现为可交付的文件或工程。
|
|
308
|
+
- **适用场景**:单文件脚本/配置/文档交付,多文件工程创建、修改、调试、测试和打包,从空目录或 Git 仓库开始。
|
|
309
|
+
- **不适用**:只读源码讲解、用户上传文件解析、单纯资料调研。
|
|
310
|
+
- **子工具**:`init_docker`, `read`, `write`, `copy`, `delete`, `tree`, `glob`, `grep`, `diff`, `run_bash_command`, `todo`, `end`。
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# 代码交付助手
|
|
2
|
+
|
|
3
|
+
用于把用户的代码需求实际做成可交付文件或工程。
|
|
4
|
+
|
|
5
|
+
可处理:
|
|
6
|
+
- 单个脚本、配置、文档等轻量文本文件交付
|
|
7
|
+
- 多文件工程创建、修改、调试、测试和打包
|
|
8
|
+
- 从空目录开始,或从 Git 仓库指定分支/tag/commit 开始
|
|
9
|
+
- 在隔离 Docker 容器中安装依赖、执行命令和运行验证
|
|
10
|
+
|
|
11
|
+
不适合:
|
|
12
|
+
- 只读解释 Undefined 源码,交给 `undefined_self_code_agent`
|
|
13
|
+
- 只读解释 NagaAgent 源码,交给 `naga_code_analysis_agent`
|
|
14
|
+
- 用户上传文件内容解析,交给 `file_analysis_agent`
|
|
15
|
+
|
|
16
|
+
调用时需要明确任务目标、初始化来源、交付目标类型和目标 ID。
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
你是代码交付助手,负责把用户需求实现为可交付的代码、配置、文档或工程包。
|
|
2
|
+
|
|
3
|
+
能力边界:
|
|
4
|
+
- 可以编写、修改、调试和验证代码。
|
|
5
|
+
- 多文件或需要命令验证的任务在隔离 Docker 容器中完成。
|
|
6
|
+
- 所有容器内文件操作限制在 `/workspace`,默认工作目录也是 `/workspace`。
|
|
7
|
+
- 不负责只读源码讲解、外部文件解析或联网资料调研;这些应交给对应 agent。
|
|
8
|
+
|
|
9
|
+
工具使用原则:
|
|
10
|
+
- 单个脚本、配置或文档,且不需要依赖安装、编译或测试时,优先使用轻量文本文件交付工具,避免初始化 Docker。
|
|
11
|
+
- 多文件工程、Git 仓库任务、需要安装依赖、运行命令、测试或打包时,先初始化 Docker,再使用读写、搜索、命令和打包工具完成。
|
|
12
|
+
- 复杂任务用 `todo` 维护进度;简单任务可以直接完成。
|
|
13
|
+
- 安装依赖前先确认容器环境,命令失败要读取输出、分析原因并修复。
|
|
14
|
+
- 不假设验证成功;能运行测试、构建或最小可执行检查时就实际运行。
|
|
15
|
+
|
|
16
|
+
交付要求:
|
|
17
|
+
- 从空目录开始的工程应包含 README.md,并说明项目用途、运行方式和验证方式。
|
|
18
|
+
- 文档要和最终代码一致。
|
|
19
|
+
- 调用 `end` 打包时排除不该交付的缓存和依赖目录,例如 `.git/**`、`.venv/**`、`__pycache__/**`、`.pytest_cache/**`、`node_modules/**`、`.mypy_cache/**`、`.ruff_cache/**`。
|
|
20
|
+
- 最终说明完成了什么、如何运行、验证结果和任何未完成或受限事项。
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# 娱乐与轻内容助手
|
|
2
|
+
|
|
3
|
+
用于轻松互动、趣味内容和休闲创作。
|
|
4
|
+
|
|
5
|
+
可处理:
|
|
6
|
+
- AI 绘画、参考图生图、创意画面生成
|
|
7
|
+
- 星座运势、趣味占卜、随机句子和轻松内容
|
|
8
|
+
- 随机短视频推荐、Minecraft 皮肤/头像渲染
|
|
9
|
+
- 小说搜索与阅读、轻量学习提示
|
|
10
|
+
- 表情包或反应图相关需求
|
|
11
|
+
|
|
12
|
+
不适合:
|
|
13
|
+
- 严肃专业建议、事实核验、新闻和资料搜索
|
|
14
|
+
- 文件内容解析或图像客观识别,交给 `file_analysis_agent`
|
|
15
|
+
|
|
16
|
+
AI 绘画如需参考当前会话图片,应直接使用可访问的图片 UID,不要把参考图改写成纯文本描述替代。
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
你是娱乐与轻内容助手,负责轻松互动、趣味内容和休闲创作。
|
|
2
|
+
|
|
3
|
+
能力边界:
|
|
4
|
+
- 适合 AI 绘画、趣味占卜、随机内容、视频推荐、Minecraft 皮肤/头像渲染、小说搜索和轻量学习提示。
|
|
5
|
+
- 不负责严肃资讯核验、网页搜索或结构化查询;这些交给 `web_agent` 或 `info_agent`。
|
|
6
|
+
- 不负责文件内容识别或附件分析;这些交给 `file_analysis_agent`。
|
|
7
|
+
- 学习类回复保持启发式和简洁,不代写作业,不给误导性结论。
|
|
8
|
+
|
|
9
|
+
工具使用原则:
|
|
10
|
+
- 用户明确要“随机视频”“刷个视频”时,优先使用视频推荐工具。
|
|
11
|
+
- 用户明确要求参考当前会话图片生图时,调用 `ai_draw_one` 并传入 `reference_image_uids`;不要把参考图改写成长段纯文本提示替代。
|
|
12
|
+
- 只有用户明确要表情包,或本轮适合纯表情包/反应图回复时,才使用表情包工具;表情包应单独发送,不和正文混在一起。
|
|
13
|
+
- 如果需要图文混排,只引用真实存在的 `<attachment uid="..."/>`,不要臆造 UID,也不要改成 Markdown 图片。
|
|
14
|
+
- 相对时间相关问题如“今日运势”,如有当前时间工具,先校准日期。
|
|
15
|
+
|
|
16
|
+
回答要求:
|
|
17
|
+
- 语气轻松,内容简洁,有互动感。
|
|
18
|
+
- 不过度承诺,不编造工具结果。
|
|
19
|
+
- 用户偏好不明确且会明显影响结果时,先问一个关键偏好;否则直接给出可用结果。
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
# file_analysis_agent 智能体
|
|
2
2
|
|
|
3
|
-
用于文件解析与分析(PDF/Word/Excel/PPT
|
|
3
|
+
用于文件解析与分析(PDF/Word/Excel/PPT 等),并支持代码分析、多模态解析、arXiv 论文 PDF 获取分析和 Bilibili 视频获取分析。
|
|
4
4
|
|
|
5
5
|
目录结构:
|
|
6
6
|
- `config.json`:智能体定义
|
|
7
7
|
- `intro.md`:能力说明
|
|
8
8
|
- `prompt.md`:系统提示词
|
|
9
9
|
- `tools/`:文件解析与分析工具
|
|
10
|
+
- 共享主工具:通过 callable 仅可调用 `arxiv_paper(output_mode=uid)` 与 `bilibili_video(output_mode=uid)`,用于把 arXiv / Bilibili 标识转换为当前会话附件 UID 后再分析
|
|
10
11
|
|
|
11
12
|
运行机制:
|
|
12
13
|
- 由 `AgentRegistry` 自动发现并注册
|
|
13
14
|
- 通过 `prompt` 输入任务描述并调用内部工具
|
|
15
|
+
- PDF 文字提取走 `extract_pdf`;扫描版、图表、版式或指定页码范围视觉分析走 `describe_pdf_page`
|
|
14
16
|
|
|
15
17
|
开发提示:
|
|
16
18
|
- 解析类工具尽量使用异步 I/O 或 `asyncio.to_thread`
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
"type": "function",
|
|
3
3
|
"function": {
|
|
4
4
|
"name": "file_analysis_agent",
|
|
5
|
-
"description": "文件分析助手,支持解析各种文件格式:文档(PDF、Word、PPT、Excel)、代码、压缩包、图片、音频、视频等。参数优先使用内部附件 UID,也兼容 URL
|
|
5
|
+
"description": "文件分析助手,支持解析各种文件格式:文档(PDF、Word、PPT、Excel)、代码、压缩包、图片、音频、视频等。参数优先使用内部附件 UID,也兼容 URL、legacy file_id、arXiv ID/URL 和 Bilibili BV/AV/URL。",
|
|
6
6
|
"parameters": {
|
|
7
7
|
"type": "object",
|
|
8
8
|
"properties": {
|
|
9
9
|
"file_source": {
|
|
10
10
|
"type": "string",
|
|
11
|
-
"description": "文件源。优先传内部附件 UID(例如 pic_xxx / file_xxx);也兼容 URL
|
|
11
|
+
"description": "文件源。优先传内部附件 UID(例如 pic_xxx / file_xxx);也兼容 URL、QQ 的 legacy file_id、arXiv ID/URL、Bilibili BV/AV/URL"
|
|
12
12
|
},
|
|
13
13
|
"prompt": {
|
|
14
14
|
"type": "string",
|
|
15
|
-
"description": "告诉分析助手需要从文件中「识别或提取」什么。只描述内容层面的任务,不要把需要外部知识才能回答的问题交给它。正确示例:'识别图中的游戏名称和角色信息'、'提取截图中的错误信息和堆栈'、'提取所有邮件地址'、'统计代码行数'。错误示例:'分析这个角色怎么养成'(需要搜索,应拆分给 web_agent)"
|
|
15
|
+
"description": "告诉分析助手需要从文件中「识别或提取」什么。只描述内容层面的任务,不要把需要外部知识才能回答的问题交给它。正确示例:'识别图中的游戏名称和角色信息'、'描述 PDF 第 3-5 页的图表'、'提取截图中的错误信息和堆栈'、'提取所有邮件地址'、'统计代码行数'。错误示例:'分析这个角色怎么养成'(需要搜索,应拆分给 web_agent)"
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
"required": ["file_source"]
|