Undefined-bot 3.18.0__tar.gz → 3.18.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/ARCHITECTURE.md +1 -1
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/CHANGELOG.md +22 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/PKG-INFO +2 -2
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/README.md +1 -1
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/pyproject.toml +1 -1
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/__init__.py +1 -1
- undefined_bot-3.18.2/src/Undefined/jm/searcher.py +278 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/jm/sender.py +66 -61
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/README.md +2 -2
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/config.json +1 -1
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/intro.md +2 -1
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/prompt.md +2 -1
- undefined_bot-3.18.2/src/Undefined/skills/agents/info_agent/tools/jm_search/config.json +55 -0
- undefined_bot-3.18.2/src/Undefined/skills/agents/info_agent/tools/jm_search/handler.py +193 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/shared.py +47 -2
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/jm_book/README.md +3 -3
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/jm_book/config.json +2 -2
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/.gitignore +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/LICENSE +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/config/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/config/mcp.json.example +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/config.toml.example +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/img/undefined-9527.png +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/img/xlwy.jpg +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/IMPORTANT/each.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/agent_self_intro.txt +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/analyze_multimodal.txt +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/describe_image.txt +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/describe_meme_image.txt +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/generate_title.txt +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/historian_profile_merge.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/historian_rewrite.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/image_gen_moderation.txt +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/injection_detector.txt +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/injection_response_agent.txt +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/judge_meme_image.txt +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/merge_message_summaries.txt +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/merge_summaries.txt +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/message_summary.txt +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/naga_message_moderation.txt +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/stats_analysis.txt +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/summarize.txt +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/undefined.xml +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/res/prompts/undefined_nagaagent.xml +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/__main__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/client/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/client/ask_loop.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/client/queue.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/client/setup.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/crawl4ai_support.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/http.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/llm/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/llm/requester.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/llm/retry.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/llm/sanitize.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/llm/streaming.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/llm/thinking.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/llm/types.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/model_selector.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/multimodal/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/multimodal/analyzer.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/multimodal/constants.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/multimodal/detection.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/multimodal/parsing.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/parsing.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/prompts/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/prompts/builder.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/prompts/cognitive.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/prompts/constants.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/prompts/current_input.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/prompts/file_includes.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/prompts/system_context.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/prompts/system_info.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/queue_budget.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/retrieval.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/summaries.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/tokens.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/tool_search.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/tooling.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/transports/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/transports/anthropic_transport.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/transports/openai_transport.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/ai/transports/replay.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/_context.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/_helpers.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/_naga_state.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/_openapi.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/_probes.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/app.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/naga_store.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/routes/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/routes/automations.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/routes/chat.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/routes/cognitive.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/routes/commands.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/routes/health.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/routes/memes.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/routes/memory.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/routes/naga/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/routes/naga/auth.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/routes/naga/bind.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/routes/naga/send.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/routes/naga/unbind.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/routes/onebot_files.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/routes/schedules.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/routes/system.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/routes/tools.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/routes/weixin.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/api/webchat_store.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/arxiv/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/arxiv/client.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/arxiv/downloader.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/arxiv/models.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/arxiv/parser.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/arxiv/sender.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/attachments/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/attachments/forward_snapshot.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/attachments/models.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/attachments/registry.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/attachments/remote.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/attachments/render.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/attachments/segments.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/automations/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/automations/address.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/automations/catalog.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/automations/clock.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/automations/constants.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/automations/engine.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/automations/extract.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/automations/logutil.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/automations/match.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/automations/mentions.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/automations/migrate.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/automations/runner.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/automations/service.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/automations/short.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/automations/storage.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/automations/template.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/automations/triggers.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/automations/validate.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/bilibili/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/bilibili/api_client.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/bilibili/danmaku.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/bilibili/download_core.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/bilibili/downloader.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/bilibili/errors.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/bilibili/format.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/bilibili/models.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/bilibili/opus_parser.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/bilibili/opus_render.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/bilibili/opus_sender.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/bilibili/parser.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/bilibili/sender.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/bilibili/wbi.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/bilibili/wbi_request.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/changelog.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/cognitive/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/cognitive/chroma_scheduler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/cognitive/historian/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/cognitive/historian/helpers.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/cognitive/historian/scheduling.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/cognitive/historian/tools.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/cognitive/historian/worker.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/cognitive/job_queue.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/cognitive/profile_storage.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/cognitive/service/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/cognitive/service/helpers.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/cognitive/service/service.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/cognitive/vector_store.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/cognitive/vector_store_compat.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/admin.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/api_modes.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/build_config.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/coercers.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/config_class.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/domain_parsers.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/env_registry.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/hot_reload.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/load_sections/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/load_sections/access.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/load_sections/core.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/load_sections/domains.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/load_sections/finalize.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/load_sections/history_skills.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/load_sections/integrations.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/load_sections/knowledge.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/load_sections/logging_tools.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/load_sections/models.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/load_sections/network.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/loader.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/manager.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/model_parsers.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/models.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/naga_policy.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/onebot.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/parsers/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/parsers/agent.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/parsers/chat.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/parsers/embedding.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/parsers/grok.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/parsers/helpers.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/parsers/historian.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/parsers/image.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/parsers/naga.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/parsers/pool.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/parsers/security.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/parsers/summary.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/parsers/vision.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/resolvers.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/search.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/toml_io.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/config/webui_settings.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/context.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/context_resource_registry.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/__main__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/catalog.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/cli.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/commands.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/config_patch.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/docker_cli.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/generate.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/images.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/nagaagent.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/runner.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/state.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/templates/.dockerignore +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/templates/Dockerfile.bot +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/templates/compose.base.yaml +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/templates/compose.bot.yaml +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/templates/compose.firecrawl.yaml +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/templates/compose.lxmusic2api.yaml +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/templates/compose.napcat.yaml +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/templates/compose.searxng.yaml +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/templates/lxmusic2api.config.toml +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/templates/napcat.ws.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/deploy/templates/searxng.settings.yml +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/douyin/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/douyin/client.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/douyin/downloader.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/douyin/models.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/douyin/parser.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/douyin/sender.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/end_summary_storage.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/faq.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/github/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/github/client.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/github/models.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/github/parser.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/github/sender.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/handlers/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/handlers/auto_extract.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/handlers/message_flow.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/handlers/poke.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/handlers/repeat.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/injection_response_agent.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/jm/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/jm/client.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/jm/downloader.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/jm/parser.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/knowledge/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/knowledge/chunker.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/knowledge/embedder.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/knowledge/manager.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/knowledge/reranker.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/knowledge/runtime.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/knowledge/store.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/main.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/mcp/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/mcp/registry.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/memes/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/memes/_image_utils.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/memes/ingest.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/memes/models.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/memes/search.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/memes/service.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/memes/store.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/memes/vector_store.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/memes/worker.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/memory.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/onebot/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/onebot/client.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/onebot/file_errors.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/onebot/file_references.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/onebot/file_store.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/onebot/file_transport.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/onebot/message.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/py.typed +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/rate_limit.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/render.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/bugfix_command.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/command.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/commands/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/commands/catalog.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/commands/context.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/commands/registry.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/coordinator/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/coordinator/background.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/coordinator/batching.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/coordinator/group.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/coordinator/message_ids.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/coordinator/private.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/message_batcher/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/message_batcher/scheduler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/message_batcher/state.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/message_summary_fetch.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/model_pool.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/queue_manager.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/security.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/services/stats_command.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/agent_tool_registry.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/docker_utils.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/intro.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/mcp.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/prompt.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/end/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/end/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/read/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/read/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/write/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/code_delivery_agent/tools/write/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/entertainment_agent/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/entertainment_agent/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/entertainment_agent/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/entertainment_agent/intro.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/entertainment_agent/prompt.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/entertainment_agent/tools/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/intro.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/prompt.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/describe_pdf_page/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/describe_pdf_page/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/baiduhot/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/baiduhot/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/base64/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/base64/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/douyinhot/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/douyinhot/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/gold_price/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/gold_price/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/hash/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/hash/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/history/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/history/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/net_check/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/net_check/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/speed/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/speed/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/tcping/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/tcping/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/weather_query/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/weather_query/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/weibohot/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/weibohot/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/whois/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/tools/whois/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/intro_generator.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/intro_utils.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/naga_code_analysis_agent/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/naga_code_analysis_agent/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/naga_code_analysis_agent/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/naga_code_analysis_agent/intro.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/naga_code_analysis_agent/mcp.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/naga_code_analysis_agent/prompt.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/runner/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/runner/context.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/runner/loop.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/runner/tools.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/runner/webchat_utils.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/summary_agent/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/summary_agent/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/summary_agent/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/summary_agent/intro.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/summary_agent/prompt.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/summary_agent/tools/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/undefined_self_code_agent/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/undefined_self_code_agent/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/undefined_self_code_agent/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/undefined_self_code_agent/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/undefined_self_code_agent/intro.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/undefined_self_code_agent/prompt.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/_shared.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/glob/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/list_directory/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/list_directory/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/read_file/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/read_file/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/search_file_content/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/undefined_self_code_agent/tools/search_file_content/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/web_agent/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/web_agent/callable.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/web_agent/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/web_agent/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/web_agent/intro.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/web_agent/mcp.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/web_agent/prompt.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/web_agent/tools/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/web_agent/tools/firecrawl_search/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/web_agent/tools/firecrawl_search/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/web_agent/tools/grok_search/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/web_agent/tools/grok_search/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/web_agent/tools/web_search/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/web_agent/tools/web_search/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/anthropic_skills/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/anthropic_skills/loader.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/admin/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/admin/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/admin/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/bugfix/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/bugfix/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/bugfix/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/changelog/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/changelog/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/changelog/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/copyright/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/copyright/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/copyright/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/faq/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/faq/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/faq/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/feedback/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/feedback/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/feedback/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/help/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/help/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/help/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/naga/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/naga/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/naga/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/naga/policy.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/profile/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/profile/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/profile/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/stats/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/stats/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/stats/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/summary/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/summary/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/summary/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/version/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/version/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/commands/version/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/http_client.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/http_config.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/pipelines/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/pipelines/arxiv/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/pipelines/arxiv/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/pipelines/bilibili/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/pipelines/bilibili/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/pipelines/bilibili_opus/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/pipelines/bilibili_opus/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/pipelines/context.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/pipelines/douyin/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/pipelines/douyin/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/pipelines/github/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/pipelines/github/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/pipelines/jm/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/pipelines/jm/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/pipelines/models.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/pipelines/registry.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/registry.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/arxiv_paper/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/arxiv_paper/callable.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/arxiv_paper/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/arxiv_paper/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/bilibili_opus/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/bilibili_opus/callable.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/bilibili_opus/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/bilibili_opus/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/bilibili_video/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/bilibili_video/callable.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/bilibili_video/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/bilibili_video/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/calculator/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/calculator/callable.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/calculator/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/calculator/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/changelog_query/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/changelog_query/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/changelog_query/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/douyin_video/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/douyin_video/callable.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/douyin_video/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/douyin_video/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/end/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/end/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/end/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/fetch_image_uid/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/fetch_image_uid/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/fetch_image_uid/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/get_current_time/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/get_current_time/callable.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/get_current_time/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/get_current_time/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/get_picture/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/get_picture/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/get_picture/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/get_user_info/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/get_user_info/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/get_user_info/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/jm_book/callable.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/jm_book/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/knowledge_list/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/knowledge_list/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/knowledge_list/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/knowledge_semantic_search/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/knowledge_semantic_search/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/knowledge_semantic_search/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/knowledge_text_search/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/knowledge_text_search/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/knowledge_text_search/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/python_interpreter/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/python_interpreter/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/python_interpreter/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/qq_like/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/qq_like/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/qq_like/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/task_progress/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/task_progress/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/tools/task_progress/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/attachments/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/automation/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/automation/_runtime.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/automation/create/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/automation/create/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/automation/delete/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/automation/delete/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/automation/get/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/automation/get/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/automation/list/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/automation/list/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/automation/set_enabled/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/automation/set_enabled/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/automation/update/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/automation/update/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/cognitive/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/cognitive/get_profile/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/cognitive/get_profile/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/cognitive/search_events/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/cognitive/search_events/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/cognitive/search_profiles/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/cognitive/search_profiles/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/commands/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/commands/get/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/commands/get/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/commands/search/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/commands/search/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/contacts/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/contacts/query_friends/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/contacts/query_friends/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/contacts/query_groups/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/contacts/query_groups/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group/find_member/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group/find_member/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group/get_avatar/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group/get_avatar/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group/get_files/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group/get_files/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group/get_honor_info/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group/get_honor_info/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group/get_member_info/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group/get_member_info/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group/get_member_list/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group/get_member_list/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group/get_member_title/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group/get_member_title/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/activity_trend/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/activity_trend/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/filter_members/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/filter_members/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/join_statistics/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/join_statistics/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/level_distribution/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/level_distribution/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/member_activity/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/member_activity/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/member_messages/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/member_messages/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/member_structure/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/member_structure/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/message_mix/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/message_mix/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/rank_members/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/group_analysis/rank_members/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/mcp/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/mcp/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/memes/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/memes/search_memes/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/memes/search_memes/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/memory/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/memory/add/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/memory/add/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/memory/delete/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/memory/delete/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/memory/list/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/memory/list/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/memory/update/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/memory/update/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/context_utils.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/get_forward_msg/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/get_forward_msg/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/get_messages_by_time/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/get_messages_by_time/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/get_recent_messages/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/get_recent_messages/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/list_emojis/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/list_emojis/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/react_message_emoji/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/react_message_emoji/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/send_group_sign/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/send_group_sign/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/send_message/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/send_message/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/send_poke/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/send_poke/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/send_private_message/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/send_private_message/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/send_text_file/callable.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/send_text_file/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/send_text_file/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/send_url_file/callable.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/send_url_file/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/send_url_file/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/send_voice/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/messages/send_voice/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/_client.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/_constants.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/_tools.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/_track_refs.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/browse_playlists/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/browse_playlists/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/browse_rankings/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/browse_rankings/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/find_song_matches/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/find_song_matches/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/get_audio/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/get_audio/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/get_comments/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/get_comments/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/get_cover/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/get_cover/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/get_hot_search/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/get_hot_search/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/get_lyrics/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/get_lyrics/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/search_playlists/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/search_playlists/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/search_songs/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/music/search_songs/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/notices/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/notices/get/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/notices/get/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/notices/list/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/notices/list/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/notices/stats/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/notices/stats/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/render/README.md +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/render/layout.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/render/render_html/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/render/render_html/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/render/render_latex/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/render/render_latex/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/render/render_markdown/config.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/toolsets/render/render_markdown/handler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/token_usage_storage.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/cache.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/coerce.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/common.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/cors.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/easter_egg_calls.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/fake_at.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/file_lock.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/group_metrics.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/history.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/http_download.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/io.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/logging.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/member_utils.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/message_reply.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/message_targets.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/message_turn.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/message_utils.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/paths.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/qq_emoji.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/queue_intervals.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/recent_messages.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/render_cache.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/request_params.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/resources.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/scheduler.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/self_update.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/sender.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/sender_helpers.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/time_utils.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/tool_calls.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/utils/xml.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/__main__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/app.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/core.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/routes/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/routes/_auth.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/routes/_bot.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/routes/_config.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/routes/_index.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/routes/_logs.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/routes/_memes.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/routes/_runtime.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/routes/_shared.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/routes/_system.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/routes/_weixin.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/css/.stylelintrc.json +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/css/app.css +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/css/base.css +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/css/components.css +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/css/highlight-github.min.css +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/css/landing.css +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/css/responsive.css +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/css/style.css +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/css/variables.css +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/css/workflow.css +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/favicon.svg +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/api.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/auth.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/bot.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/config-form.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/i18n.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/log-view.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/logs.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/main.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/memes.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/runtime.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/schedules.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/state.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/ui.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/vendor/highlight.min.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/vendor/highlightjs.LICENSE +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/vendor/marked.min.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/weixin.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/workflow-canvas.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/workflow-graph.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/static/js/workflow-inspector.js +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/templates/index.html +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/utils/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/utils/comment.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/utils/config_io.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/utils/config_sync.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/webui/utils/toml_render.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/weixin/__init__.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/weixin/audio.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/weixin/models.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/weixin/service.py +0 -0
- {undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/weixin/store.py +0 -0
|
@@ -121,7 +121,7 @@ graph TB
|
|
|
121
121
|
end
|
|
122
122
|
|
|
123
123
|
subgraph IntelligentAgents["智能体 Agents (skills/agents/, 7个)"]
|
|
124
|
-
A_Info["info_agent<br/>信息查询助手<br/>(
|
|
124
|
+
A_Info["info_agent<br/>信息查询助手<br/>(17个工具)<br/>• weather_query<br/>• *hot 热搜<br/>• bilibili_*<br/>• arxiv_search<br/>• jm_search<br/>• whois"]
|
|
125
125
|
A_Web["web_agent<br/>网络搜索助手<br/>(4个工具 + MCP)<br/>• grok_search<br/>• firecrawl_search<br/>• web_search<br/>• crawl_webpage<br/>• Playwright MCP"]
|
|
126
126
|
A_File["file_analysis_agent<br/>文件分析助手<br/>• extract_* (PDF/Word/Excel/PPT)<br/>• describe_pdf_page<br/>• analyze_code<br/>• analyze_multimodal"]
|
|
127
127
|
A_Naga["naga_code_analysis_agent<br/>NagaAgent 代码分析<br/>(7个工具)<br/>• read_file / glob<br/>• search_file_content"]
|
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
## v3.18.2 禁漫列表查询工具
|
|
2
|
+
|
|
3
|
+
本版本给 `info_agent` 新增 `jm_search` 工具:AI 可以直接查询禁漫本子列表(关键词检索 / 分类浏览 / 日周月排行),拿到车号后再由主 AI 的 `jm_book` 取详情或 PDF;工具本身只查列表,不下载也不发送。
|
|
4
|
+
|
|
5
|
+
- 新增 `jm_search` 工具(`src/Undefined/skills/agents/info_agent/tools/jm_search/`)与领域层 `src/Undefined/jm/searcher.py`:`mode=search` 关键词检索、`mode=browse` 分类浏览(不需要关键词)、`mode=ranking` 日/周/月排行,三种模式共用 `genre` 大分类与 `page` 翻页;返回车号(`JM<数字>`)、标题、作者、分类与更新时间,`n` 默认 5、上限 20。
|
|
6
|
+
- 筛选参数:`target`(站内/作品/作者/标签/角色)、`sort`(最新/观看/图片/点赞/评分/评论)、`time_range`(`all`/`day`/`week`/`month`,`mode=ranking` 时表示日榜/周榜/月榜,`all` 等同 jmcpy 默认的周榜)、`genre`(同人/单行本/短篇/汉漫/美漫/3D/英译站等)与 `sub_genre`(中文/日文/CG 等);副分类必须与 `genre` 同时给出,且只有网页端接口支持,网页端被反爬拦截时直接返回失败原因。
|
|
7
|
+
- 参数校验与提示:`mode=search` 必须提供 `msg`(至少 2 个字,纯数字车号会直接定位到该本子),`mode=browse` / `ranking` 带关键词会被拦下并提示改用 `mode=search`;`ranking` 固定按观看数排序,显式传其它 `sort` 时提示改用 `browse`;非法枚举值回显可选值。
|
|
8
|
+
- 结果表头写明模式与生效筛选(如 `🏆 禁漫日榜(同人 / CG)`);分类页与排行榜不返回总数,这类结果只提示「需要更多结果时可用 page=N+1 继续」,只有确实知道总页数时才说「还有更多」。
|
|
9
|
+
- 工具仅 `info_agent` 可见(不带 `callable.json`),域层通过 `skills/shared.py` 桥接;查询复用 `[jm]` 的代理、`request_timeout` 与 `session_dir`,且**不受** `[jm].auto_extract_enabled` 影响——该开关只约束自动提取管线。
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## v3.18.1 JM 本子文件改到转发外发送
|
|
14
|
+
|
|
15
|
+
本版本修复禁漫自动提取的加密 PDF 在合并转发节点里下载失败的问题:转发退回「本子信息 / 解密密码」两个节点,PDF 改为转发之后单独发一条文件消息。
|
|
16
|
+
|
|
17
|
+
- 加密 PDF 不再放进合并转发:转发节点里的文件在 QQ 客户端下载会失败,改为紧随转发之后单独发送(群聊走群文件上传、私聊走私聊文件),独立文件消息可以正常下载;群聊下同一个 PDF 仍会出现在群文件列表里。`build_forward_nodes()` 因此不再接收 PDF 路径,没有 PDF 时依然是「本子信息 / 状态」两个节点。
|
|
18
|
+
- 转发与文件分离后的投递语义:转发被协议端**明确拒绝**时退化为「信息 + 密码两条普通消息」,文件照旧单独发送;转发遇到「投递结果未确认」(`delivery_uncertain`)或「文件传输错误」(`file_transfer_error`)时不重发转发与信息/密码(转发可能已经送达),但文件此前从未发出、不算重复投递,仍会继续单独发送,否则整本下载白跑。文件自身投递结果未确认时直接上抛不重发,普通失败时补一条「PDF 上传失败」提示(这条提示写入历史,转发投递未确认时提示里也不会声称信息与密码已经送达)。
|
|
19
|
+
- 发送状态与历史摘要同步:状态前缀改为「已发送合并转发 / 合并转发被拒,已改为普通消息发送信息与密码 / 合并转发投递结果未确认」+「PDF 文件已单独发送」或「PDF 文件发送失败」;写历史时摘要只说「PDF: 加密文件随后单独发送(…,密码见转发节点)」——这条摘要随转发落地、此时文件尚未上传,不能提前声称已发送,文件真正发出后由 `send_group_file` 自己补一条 `[文件] …` 历史记录。密码仍然只出现在转发节点里、不进历史。
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
1
23
|
## v3.18.0 JM 漫画自动提取
|
|
2
24
|
|
|
3
25
|
本版本新增禁漫自动提取管线:消息里出现 `JM` 车号或禁漫链接时,自动获取本子详情、把全部章节合成为一个带密码的 PDF,以「本子信息 / 解密密码 / PDF 文件」三节点合并转发发送(文件只放在转发里,群聊下同时进入群文件列表),并新增与 `arxiv_paper` 同构的 `jm_book` 工具供 AI 按需取详情或附件。功能默认关闭,密码随机生成且不写进历史。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: Undefined-bot
|
|
3
|
-
Version: 3.18.
|
|
3
|
+
Version: 3.18.2
|
|
4
4
|
Summary: QQ bot platform with cognitive memory architecture and multi-agent Skills, via OneBot V11.
|
|
5
5
|
Project-URL: Repository, https://github.com/69gg/Undefined
|
|
6
6
|
Project-URL: Issues, https://github.com/69gg/Undefined/issues
|
|
@@ -122,7 +122,7 @@ Description-Content-Type: text/markdown
|
|
|
122
122
|
- **可选音乐工具集**:配置独立部署的 [lxmusic2api](https://github.com/69gg/lxmusic2api) 后,主 AI 可搜索歌曲/歌单、浏览热搜与排行榜、读取歌词/封面/评论、跨平台匹配并交付普通音频附件;完整 Track 通过任务内短引用流转,只暴露面向用户的高层 `music.*` 能力,不暴露下载作业生命周期接口。详见 [使用指南](docs/usage.md#音乐-music) 与 [配置说明](docs/configuration.md#4201-lxmusic2api-音乐服务)。
|
|
123
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 等概览;API 与头像下载统一遵循 `[github].use_proxy`,头像以内联资源进入离线渲染器。
|
|
125
|
-
- **禁漫(JM)本子提取**:自动检测 `JM`+车号或禁漫链接,下载全部章节并合成为一个 AES-256 加密 PDF,以「本子信息 /
|
|
125
|
+
- **禁漫(JM)本子提取**:自动检测 `JM`+车号或禁漫链接,下载全部章节并合成为一个 AES-256 加密 PDF,以「本子信息 / 解密密码」两节点合并转发发送,加密 PDF 不进转发、随后单独作为一条文件消息发送(转发里的文件在 QQ 客户端下载会失败,独立文件消息才下得动,群聊下同时进入群文件列表),密码每次随机生成且不写入历史;`jm_book` 工具也可只返回本子信息或未加密 PDF 附件 UID,供 `file_analysis_agent` 解析;`info_agent` 另有 `jm_search` 工具:关键词检索(可限定作者/标签/角色与分类)、分类浏览、日/周/月排行三种模式,返回车号清单。默认关闭,`[jm].auto_extract_enabled` 打开。详见 [配置说明](docs/configuration.md#4203-jm-禁漫自动提取)。
|
|
126
126
|
- **自动处理管线**:Bilibili、arXiv、GitHub、JM 等自动提取统一运行在 `skills/pipelines` 中,斜杠命令优先级更高;命令输入/输出会写入历史,非命令消息会并行检测和处理命中管线,结果通过统一发送层写入历史并登记附件 UID 后再进入 AI 回复。远程大附件超过 `[attachments].remote_download_max_size_mb` 时只登记 URL 引用,避免无界下载和缓存膨胀。
|
|
127
127
|
- **同 sender 短时消息合并**:默认开启。连续发的多条消息会合并到同一轮 AI 调用,AI 一次看到全部意图自行识别"独立请求/修正/打断";告别"画猫→改成狗"的重复触发与回复打架。主提示词按 batcher 的"当前输入批次"语义适配,关闭该功能可能导致连续补充/修正消息与提示词不匹配,需要单独适配。可选投机预发送让用户停顿时 LLM 提前开跑、新消息可在未发出回复前取消,进一步压低响应延迟。详见 [docs/message-batching.md](docs/message-batching.md)。
|
|
128
128
|
- **思维链支持**:支持开启思维链,提升复杂逻辑推理能力。
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
- **可选音乐工具集**:配置独立部署的 [lxmusic2api](https://github.com/69gg/lxmusic2api) 后,主 AI 可搜索歌曲/歌单、浏览热搜与排行榜、读取歌词/封面/评论、跨平台匹配并交付普通音频附件;完整 Track 通过任务内短引用流转,只暴露面向用户的高层 `music.*` 能力,不暴露下载作业生命周期接口。详见 [使用指南](docs/usage.md#音乐-music) 与 [配置说明](docs/configuration.md#4201-lxmusic2api-音乐服务)。
|
|
71
71
|
- **arXiv 论文提取、搜索与分析**:自动检测消息中的 arXiv 链接/标识并发送论文信息与 PDF;`arxiv_paper` 也可只返回 PDF 附件 UID,供 `file_analysis_agent` 做文本提取或指定页视觉分析;`arxiv_search` 负责论文检索。
|
|
72
72
|
- **GitHub 仓库卡片**:自动检测 GitHub 仓库链接或 `owner/repo` 仓库 ID,获取 public 仓库信息并发送简洁图片卡片,展示头像、简介、stars、forks、issues、contributors 等概览;API 与头像下载统一遵循 `[github].use_proxy`,头像以内联资源进入离线渲染器。
|
|
73
|
-
- **禁漫(JM)本子提取**:自动检测 `JM`+车号或禁漫链接,下载全部章节并合成为一个 AES-256 加密 PDF,以「本子信息 /
|
|
73
|
+
- **禁漫(JM)本子提取**:自动检测 `JM`+车号或禁漫链接,下载全部章节并合成为一个 AES-256 加密 PDF,以「本子信息 / 解密密码」两节点合并转发发送,加密 PDF 不进转发、随后单独作为一条文件消息发送(转发里的文件在 QQ 客户端下载会失败,独立文件消息才下得动,群聊下同时进入群文件列表),密码每次随机生成且不写入历史;`jm_book` 工具也可只返回本子信息或未加密 PDF 附件 UID,供 `file_analysis_agent` 解析;`info_agent` 另有 `jm_search` 工具:关键词检索(可限定作者/标签/角色与分类)、分类浏览、日/周/月排行三种模式,返回车号清单。默认关闭,`[jm].auto_extract_enabled` 打开。详见 [配置说明](docs/configuration.md#4203-jm-禁漫自动提取)。
|
|
74
74
|
- **自动处理管线**:Bilibili、arXiv、GitHub、JM 等自动提取统一运行在 `skills/pipelines` 中,斜杠命令优先级更高;命令输入/输出会写入历史,非命令消息会并行检测和处理命中管线,结果通过统一发送层写入历史并登记附件 UID 后再进入 AI 回复。远程大附件超过 `[attachments].remote_download_max_size_mb` 时只登记 URL 引用,避免无界下载和缓存膨胀。
|
|
75
75
|
- **同 sender 短时消息合并**:默认开启。连续发的多条消息会合并到同一轮 AI 调用,AI 一次看到全部意图自行识别"独立请求/修正/打断";告别"画猫→改成狗"的重复触发与回复打架。主提示词按 batcher 的"当前输入批次"语义适配,关闭该功能可能导致连续补充/修正消息与提示词不匹配,需要单独适配。可选投机预发送让用户停顿时 LLM 提前开跑、新消息可在未发出回复前取消,进一步压低响应延迟。详见 [docs/message-batching.md](docs/message-batching.md)。
|
|
76
76
|
- **思维链支持**:支持开启思维链,提升复杂逻辑推理能力。
|
|
@@ -24,7 +24,7 @@ if TYPE_CHECKING:
|
|
|
24
24
|
from .skills.registry import BaseRegistry as BaseRegistry
|
|
25
25
|
from .skills.tools import ToolRegistry as ToolRegistry
|
|
26
26
|
|
|
27
|
-
__version__: str = "3.18.
|
|
27
|
+
__version__: str = "3.18.2"
|
|
28
28
|
|
|
29
29
|
# symbol -> (module_path, attribute_name);首次访问时才 importlib 加载
|
|
30
30
|
_LAZY_IMPORTS: dict[str, tuple[str, str]] = {
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
"""禁漫列表查询:关键词搜索、分类浏览与排行榜(只读列表,不下载任何图片)。
|
|
2
|
+
|
|
3
|
+
统一入口 :func:`fetch_listing` 按 ``mode`` 分派到 jmcpy 的 ``Client.search`` /
|
|
4
|
+
``browse`` / ``ranking``,返回一页 ``BookBrief``:只有车号、标题、作者、分类与
|
|
5
|
+
更新时间,不请求正文或图片。查询在 jmcpy 自己的线程里跑,与
|
|
6
|
+
:mod:`Undefined.jm.downloader` 的 ``fetch_book`` 同一形态,不阻塞事件循环。
|
|
7
|
+
|
|
8
|
+
副分类(``sub_genre``)只有网页端接口支持,门面会自动路由;网页端不可用时
|
|
9
|
+
jmcpy 抛 ``ChallengeBlocked`` 一类异常,由调用方转成可读提示。
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
from __future__ import annotations
|
|
13
|
+
|
|
14
|
+
import asyncio
|
|
15
|
+
from datetime import datetime, timedelta, timezone
|
|
16
|
+
from typing import Any, Literal
|
|
17
|
+
|
|
18
|
+
from jmcpy import (
|
|
19
|
+
BookBrief,
|
|
20
|
+
Client,
|
|
21
|
+
Genre,
|
|
22
|
+
Listing,
|
|
23
|
+
RankingSpan,
|
|
24
|
+
SearchTarget,
|
|
25
|
+
SortBy,
|
|
26
|
+
Settings,
|
|
27
|
+
SubGenre,
|
|
28
|
+
TimeRange,
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
from Undefined.jm.client import build_settings
|
|
32
|
+
|
|
33
|
+
#: 列表来源:关键词搜索 / 分类浏览 / 排行榜
|
|
34
|
+
JmListingMode = Literal["search", "browse", "ranking"]
|
|
35
|
+
|
|
36
|
+
#: 展示用时间统一按北京时间(站点面向中文用户,jmcpy 返回的是秒级时间戳)
|
|
37
|
+
_BEIJING_TIMEZONE = timezone(timedelta(hours=8))
|
|
38
|
+
#: 列表项标题缺失时的占位(与 ``sender.format_jm_book_info`` 同一文案)
|
|
39
|
+
_UNKNOWN_TITLE = "未知标题"
|
|
40
|
+
|
|
41
|
+
_TARGET_LABELS: dict[SearchTarget, str] = {
|
|
42
|
+
SearchTarget.SITE: "站内",
|
|
43
|
+
SearchTarget.WORK: "作品",
|
|
44
|
+
SearchTarget.AUTHOR: "作者",
|
|
45
|
+
SearchTarget.TAG: "标签",
|
|
46
|
+
SearchTarget.ACTOR: "角色",
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
_SORT_LABELS: dict[SortBy, str] = {
|
|
50
|
+
SortBy.LATEST: "最新",
|
|
51
|
+
SortBy.VIEWS: "观看数",
|
|
52
|
+
SortBy.PICTURES: "图片数",
|
|
53
|
+
SortBy.LIKES: "点赞数",
|
|
54
|
+
SortBy.SCORE: "评分",
|
|
55
|
+
SortBy.COMMENTS: "评论数",
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
_TIME_LABELS: dict[TimeRange, str] = {
|
|
59
|
+
TimeRange.DAY: "今日",
|
|
60
|
+
TimeRange.WEEK: "近一周",
|
|
61
|
+
TimeRange.MONTH: "近一月",
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
_GENRE_LABELS: dict[Genre, str] = {
|
|
65
|
+
Genre.DOUJIN: "同人",
|
|
66
|
+
Genre.SINGLE: "单行本",
|
|
67
|
+
Genre.SHORT: "短篇",
|
|
68
|
+
Genre.ANOTHER: "其他",
|
|
69
|
+
Genre.HANMAN: "汉漫",
|
|
70
|
+
Genre.MEIMAN: "美漫",
|
|
71
|
+
Genre.DOUJIN_COSPLAY: "同人Cosplay",
|
|
72
|
+
Genre.THREE_D: "3D",
|
|
73
|
+
Genre.ENGLISH_SITE: "英译站",
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
_SUB_GENRE_LABELS: dict[SubGenre, str] = {
|
|
77
|
+
SubGenre.CHINESE: "中文",
|
|
78
|
+
SubGenre.JAPANESE: "日文",
|
|
79
|
+
SubGenre.CG: "CG",
|
|
80
|
+
SubGenre.YOUTH: "青年",
|
|
81
|
+
SubGenre.OTHER: "其他",
|
|
82
|
+
SubGenre.THREE_D: "3D",
|
|
83
|
+
SubGenre.COSPLAY: "Cosplay",
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
#: 排行榜跨度:jmcpy 的 ``RankingSpan`` 与 ``TimeRange`` 的 day/week/month 取值一致
|
|
87
|
+
_RANKING_SPANS: dict[TimeRange, RankingSpan] = {
|
|
88
|
+
TimeRange.DAY: RankingSpan.DAY,
|
|
89
|
+
TimeRange.WEEK: RankingSpan.WEEK,
|
|
90
|
+
TimeRange.MONTH: RankingSpan.MONTH,
|
|
91
|
+
}
|
|
92
|
+
_RANKING_LABELS: dict[TimeRange, str] = {
|
|
93
|
+
TimeRange.DAY: "日榜",
|
|
94
|
+
TimeRange.WEEK: "周榜",
|
|
95
|
+
TimeRange.MONTH: "月榜",
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def _fetch_sync(
|
|
100
|
+
settings: Settings,
|
|
101
|
+
*,
|
|
102
|
+
mode: JmListingMode,
|
|
103
|
+
query: str,
|
|
104
|
+
page: int,
|
|
105
|
+
target: SearchTarget,
|
|
106
|
+
sort: SortBy,
|
|
107
|
+
time_range: TimeRange,
|
|
108
|
+
genre: Genre,
|
|
109
|
+
sub_genre: SubGenre | None,
|
|
110
|
+
) -> Listing[BookBrief]:
|
|
111
|
+
with Client(settings) as client:
|
|
112
|
+
if mode == "ranking":
|
|
113
|
+
span = _RANKING_SPANS.get(time_range, RankingSpan.WEEK)
|
|
114
|
+
return client.ranking(span, page=page, genre=genre, sub_genre=sub_genre)
|
|
115
|
+
if mode == "browse":
|
|
116
|
+
return client.browse(
|
|
117
|
+
page=page,
|
|
118
|
+
genre=genre,
|
|
119
|
+
sub_genre=sub_genre,
|
|
120
|
+
sort=sort,
|
|
121
|
+
time_range=time_range,
|
|
122
|
+
)
|
|
123
|
+
return client.search(
|
|
124
|
+
query,
|
|
125
|
+
page=page,
|
|
126
|
+
target=target,
|
|
127
|
+
sort=sort,
|
|
128
|
+
time_range=time_range,
|
|
129
|
+
genre=genre,
|
|
130
|
+
sub_genre=sub_genre,
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
async def fetch_listing(
|
|
135
|
+
*,
|
|
136
|
+
config: Any,
|
|
137
|
+
mode: JmListingMode,
|
|
138
|
+
query: str = "",
|
|
139
|
+
page: int = 1,
|
|
140
|
+
target: SearchTarget = SearchTarget.SITE,
|
|
141
|
+
sort: SortBy = SortBy.LATEST,
|
|
142
|
+
time_range: TimeRange = TimeRange.ALL,
|
|
143
|
+
genre: Genre = Genre.ALL,
|
|
144
|
+
sub_genre: SubGenre | None = None,
|
|
145
|
+
) -> Listing[BookBrief]:
|
|
146
|
+
"""按模式取一页本子列表(只查列表,线程里跑,不阻塞事件循环)。"""
|
|
147
|
+
return await asyncio.to_thread(
|
|
148
|
+
_fetch_sync,
|
|
149
|
+
build_settings(config),
|
|
150
|
+
mode=mode,
|
|
151
|
+
query=query,
|
|
152
|
+
page=page,
|
|
153
|
+
target=target,
|
|
154
|
+
sort=sort,
|
|
155
|
+
time_range=time_range,
|
|
156
|
+
genre=genre,
|
|
157
|
+
sub_genre=sub_genre,
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
def _format_updated_at(value: int | None) -> str:
|
|
162
|
+
"""把 ``update_at`` 秒级时间戳格式化为北京时间 ``YYYY-MM-DD``。
|
|
163
|
+
|
|
164
|
+
缺失或越界的时间戳返回空串:列表里少一个日期,比展示错误时间安全。
|
|
165
|
+
"""
|
|
166
|
+
if value is None or value <= 0:
|
|
167
|
+
return ""
|
|
168
|
+
try:
|
|
169
|
+
moment = datetime.fromtimestamp(int(value), tz=_BEIJING_TIMEZONE)
|
|
170
|
+
except (OverflowError, OSError, ValueError):
|
|
171
|
+
return ""
|
|
172
|
+
return moment.strftime("%Y-%m-%d")
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
def _taxonomy_titles(book: BookBrief) -> list[str]:
|
|
176
|
+
"""按「大分类 / 副分类」顺序收集非空分类名。"""
|
|
177
|
+
titles: list[str] = []
|
|
178
|
+
for taxonomy in (book.category, book.sub_category):
|
|
179
|
+
if taxonomy is None:
|
|
180
|
+
continue
|
|
181
|
+
title = str(taxonomy).strip()
|
|
182
|
+
if title:
|
|
183
|
+
titles.append(title)
|
|
184
|
+
return titles
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
def _format_item(index: int, book: BookBrief) -> str:
|
|
188
|
+
"""把一条结果渲染成「标题行 + 可选明细行」。
|
|
189
|
+
|
|
190
|
+
车号写成 ``JM<数字>``:它是后续取详情/附件的标识,比站点链接更适合复制。
|
|
191
|
+
"""
|
|
192
|
+
lines = [f"{index}. 「JM{book.book_id} {book.title.strip() or _UNKNOWN_TITLE}」"]
|
|
193
|
+
details: list[str] = []
|
|
194
|
+
author = book.author.strip()
|
|
195
|
+
if author:
|
|
196
|
+
details.append(f"作者: {author}")
|
|
197
|
+
categories = " / ".join(_taxonomy_titles(book))
|
|
198
|
+
if categories:
|
|
199
|
+
details.append(f"分类: {categories}")
|
|
200
|
+
updated = _format_updated_at(book.updated_at)
|
|
201
|
+
if updated:
|
|
202
|
+
details.append(f"更新: {updated}")
|
|
203
|
+
if details:
|
|
204
|
+
lines.append(" " + " | ".join(details))
|
|
205
|
+
return "\n".join(lines)
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
def _category_label(genre: Genre, sub_genre: SubGenre | None) -> str:
|
|
209
|
+
"""把大分类与副分类拼成「同人 / 中文」形式的说明。"""
|
|
210
|
+
labels = [_GENRE_LABELS.get(genre, "")]
|
|
211
|
+
if sub_genre is not None:
|
|
212
|
+
labels.append(_SUB_GENRE_LABELS.get(sub_genre, ""))
|
|
213
|
+
return " / ".join(label for label in labels if label)
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
def _sort_label(sort: SortBy) -> str:
|
|
217
|
+
"""排序说明;默认的「最新」不写进表头,避免每个表头都挂一句废话。"""
|
|
218
|
+
if sort is SortBy.LATEST:
|
|
219
|
+
return ""
|
|
220
|
+
label = _SORT_LABELS.get(sort, "")
|
|
221
|
+
return f"按{label}" if label else ""
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
def describe_query(
|
|
225
|
+
*,
|
|
226
|
+
mode: JmListingMode,
|
|
227
|
+
query: str = "",
|
|
228
|
+
target: SearchTarget = SearchTarget.SITE,
|
|
229
|
+
sort: SortBy = SortBy.LATEST,
|
|
230
|
+
time_range: TimeRange = TimeRange.ALL,
|
|
231
|
+
genre: Genre = Genre.ALL,
|
|
232
|
+
sub_genre: SubGenre | None = None,
|
|
233
|
+
) -> str:
|
|
234
|
+
"""生成结果表头,说明这批车号是怎么来的(模式 + 生效的筛选条件)。"""
|
|
235
|
+
if mode == "ranking":
|
|
236
|
+
heading = f"🏆 禁漫{_RANKING_LABELS.get(time_range, '周榜')}"
|
|
237
|
+
details = [_category_label(genre, sub_genre)]
|
|
238
|
+
elif mode == "browse":
|
|
239
|
+
heading = "📚 禁漫分类浏览"
|
|
240
|
+
details = [
|
|
241
|
+
_category_label(genre, sub_genre),
|
|
242
|
+
_sort_label(sort),
|
|
243
|
+
_TIME_LABELS.get(time_range, ""),
|
|
244
|
+
]
|
|
245
|
+
else:
|
|
246
|
+
heading = f"🔍 禁漫搜索「{query}」"
|
|
247
|
+
details = [
|
|
248
|
+
"" if target is SearchTarget.SITE else _TARGET_LABELS.get(target, ""),
|
|
249
|
+
_category_label(genre, sub_genre),
|
|
250
|
+
_sort_label(sort),
|
|
251
|
+
_TIME_LABELS.get(time_range, ""),
|
|
252
|
+
]
|
|
253
|
+
qualifiers = ",".join(item for item in details if item)
|
|
254
|
+
return f"{heading}({qualifiers})" if qualifiers else heading
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
def format_listing(listing: Listing[BookBrief], *, heading: str, limit: int) -> str:
|
|
258
|
+
"""把一页结果渲染成可直接返回给模型/用户的文本。"""
|
|
259
|
+
items = list(listing.items)[: max(0, int(limit))]
|
|
260
|
+
if not items:
|
|
261
|
+
return f"{heading}:没有找到结果。"
|
|
262
|
+
|
|
263
|
+
header = heading
|
|
264
|
+
page_count = listing.page_count
|
|
265
|
+
if listing.total is None:
|
|
266
|
+
header += f":第 {listing.page} 页"
|
|
267
|
+
else:
|
|
268
|
+
header += f":共 {listing.total} 条,第 {listing.page}"
|
|
269
|
+
header += f"/{page_count} 页" if page_count else " 页"
|
|
270
|
+
|
|
271
|
+
lines = [header]
|
|
272
|
+
lines.extend(_format_item(index, book) for index, book in enumerate(items, start=1))
|
|
273
|
+
if page_count is None:
|
|
274
|
+
# 分类页与排行榜不返回总数:只能提示「需要更多时」翻页,不谎称一定还有
|
|
275
|
+
lines.append(f"—— 需要更多结果时可用 page={listing.page + 1} 继续")
|
|
276
|
+
elif listing.page < page_count:
|
|
277
|
+
lines.append(f"—— 还有更多结果,可用 page={listing.page + 1} 继续")
|
|
278
|
+
return "\n".join(lines)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""禁漫的合并转发发送与附件交付。
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
自动提取先发「本子信息 + PDF 解密密码」两节点合并转发,随后把本地合成的加密 PDF
|
|
4
|
+
作为独立文件消息单独发出:转发节点里的文件在 QQ 客户端下载会失败,所以文件不进转发。
|
|
4
5
|
工具侧另有两条路:``format_jm_book_info`` 只输出详情(不下载),
|
|
5
6
|
``fetch_jm_book_attachment`` 下载整本并把**未加密** PDF 注册为附件 UID(不发送),
|
|
6
7
|
供 ``file_analysis_agent`` 继续解析。密码始终不会写进历史。
|
|
@@ -117,19 +118,16 @@ def build_password_text(password: str) -> str:
|
|
|
117
118
|
def build_forward_nodes(
|
|
118
119
|
info_text: str,
|
|
119
120
|
*,
|
|
120
|
-
pdf_path: Path | None = None,
|
|
121
121
|
password: str = "",
|
|
122
122
|
status_text: str = "",
|
|
123
123
|
) -> list[dict[str, Any]]:
|
|
124
|
-
"""构建合并转发节点:信息
|
|
124
|
+
"""构建合并转发节点:信息 +(密码或状态)。
|
|
125
125
|
|
|
126
|
-
PDF
|
|
127
|
-
|
|
128
|
-
因此同一个 PDF 也会出现在群文件列表里,转发节点里的文件可以直接下载
|
|
129
|
-
(2026-10-01 用 14MB PDF 实测通过)。文件只发一次,不另外发独立文件消息。
|
|
126
|
+
PDF 不放进转发:转发节点里的文件在 QQ 客户端下载会失败,改由 :func:`_send_result`
|
|
127
|
+
在转发之后单独发一条文件消息(2026-10-01 实测,同一份文件独立发送可正常下载)。
|
|
130
128
|
"""
|
|
131
|
-
if
|
|
132
|
-
# 没有可发送的 PDF
|
|
129
|
+
if not password:
|
|
130
|
+
# 没有可发送的 PDF 时用状态说明替代密码节点
|
|
133
131
|
return [
|
|
134
132
|
_node(info_text, name="本子信息"),
|
|
135
133
|
_node(status_text or "PDF 未发送", name="状态"),
|
|
@@ -137,18 +135,6 @@ def build_forward_nodes(
|
|
|
137
135
|
return [
|
|
138
136
|
_node(info_text, name="本子信息"),
|
|
139
137
|
_node(build_password_text(password), name="解密密码"),
|
|
140
|
-
_node(
|
|
141
|
-
[
|
|
142
|
-
{
|
|
143
|
-
"type": "file",
|
|
144
|
-
"data": {
|
|
145
|
-
"file": f"file://{pdf_path.resolve()}",
|
|
146
|
-
"name": pdf_path.name,
|
|
147
|
-
},
|
|
148
|
-
}
|
|
149
|
-
],
|
|
150
|
-
name="PDF",
|
|
151
|
-
),
|
|
152
138
|
]
|
|
153
139
|
|
|
154
140
|
|
|
@@ -161,8 +147,10 @@ def build_history_message(result: JmDownload) -> str:
|
|
|
161
147
|
f"章节: {result.chapter_count} 章 | 页数: {result.page_count}",
|
|
162
148
|
]
|
|
163
149
|
if result.ok:
|
|
150
|
+
# 这条摘要随转发写入,此时文件还没上传:不能提前声称已发送。
|
|
151
|
+
# 上传成功时 send_group_file 会自己补一条「[文件] … 」历史,失败时补提示。
|
|
164
152
|
lines.append(
|
|
165
|
-
f"PDF:
|
|
153
|
+
f"PDF: 加密文件随后单独发送({_format_size(result.size_bytes)},密码见转发节点)"
|
|
166
154
|
)
|
|
167
155
|
else:
|
|
168
156
|
lines.append("PDF: 未发送")
|
|
@@ -332,6 +320,12 @@ def _is_fatal_delivery_error(exc: BaseException) -> bool:
|
|
|
332
320
|
)
|
|
333
321
|
|
|
334
322
|
|
|
323
|
+
#: 转发投递结果的三态,既进日志也拼进返回值
|
|
324
|
+
_FORWARD_SENT = "已发送合并转发"
|
|
325
|
+
_FORWARD_REJECTED = "合并转发被拒,已改为普通消息发送信息与密码"
|
|
326
|
+
_FORWARD_UNCERTAIN = "合并转发投递结果未确认"
|
|
327
|
+
|
|
328
|
+
|
|
335
329
|
async def _send_result(
|
|
336
330
|
sender: "MessageSender",
|
|
337
331
|
target_type: Literal["group", "private"],
|
|
@@ -343,57 +337,68 @@ async def _send_result(
|
|
|
343
337
|
pdf_path: Path,
|
|
344
338
|
history_message: str,
|
|
345
339
|
) -> str:
|
|
346
|
-
"""发送「信息 +
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
340
|
+
"""发送「信息 + 密码」合并转发,再单独发送 PDF 文件,返回可记录的真实投递状态。
|
|
341
|
+
|
|
342
|
+
文件不进转发:转发节点里的文件在 QQ 客户端下载会失败,独立文件消息才下得动。
|
|
343
|
+
转发被协议端**明确拒绝**时降级为两条普通消息(信息 / 密码)。投递结果未确认
|
|
344
|
+
(``delivery_uncertain`` / ``file_transfer_error``)时不能降级重发信息与密码——
|
|
345
|
+
转发可能已经送达;但文件是另一条消息、此前从未发出,必须继续单独发送,否则用户
|
|
346
|
+
整本下载白跑。文件自身投递结果未确认时同样不重发,直接上抛调用方;普通失败时补
|
|
347
|
+
一条写入历史的「PDF 上传失败」提示,转发投递未确认时提示不声称信息与密码已送达。
|
|
352
348
|
"""
|
|
353
|
-
nodes = build_forward_nodes(info_text,
|
|
349
|
+
nodes = build_forward_nodes(info_text, password=password)
|
|
350
|
+
forward_status = _FORWARD_SENT
|
|
354
351
|
try:
|
|
355
352
|
await _send_forward(
|
|
356
353
|
sender, target_type, target_id, nodes, history_message=history_message
|
|
357
354
|
)
|
|
358
355
|
except Exception as exc:
|
|
359
356
|
if _is_fatal_delivery_error(exc):
|
|
360
|
-
logger.error(
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
)
|
|
378
|
-
try:
|
|
379
|
-
await _send_file(
|
|
380
|
-
sender, target_type, target_id, str(pdf_path), str(pdf_path.name)
|
|
357
|
+
logger.error(
|
|
358
|
+
"[JM] 合并转发投递结果未确认,不重发信息与密码,继续单独发送 PDF: book=%s",
|
|
359
|
+
book_id,
|
|
360
|
+
)
|
|
361
|
+
forward_status = _FORWARD_UNCERTAIN
|
|
362
|
+
else:
|
|
363
|
+
logger.exception(
|
|
364
|
+
"[JM] 合并转发失败,回退为普通消息发送信息与密码: book=%s", book_id
|
|
365
|
+
)
|
|
366
|
+
forward_status = _FORWARD_REJECTED
|
|
367
|
+
# 历史里不留密码:历史摘要与用户可见正文分开;密码消息只记「已单独发送」
|
|
368
|
+
await _send_text(
|
|
369
|
+
sender,
|
|
370
|
+
target_type,
|
|
371
|
+
target_id,
|
|
372
|
+
info_text,
|
|
373
|
+
history_message=history_message,
|
|
381
374
|
)
|
|
382
|
-
except Exception as file_exc:
|
|
383
|
-
if _is_fatal_delivery_error(file_exc):
|
|
384
|
-
logger.error("[JM] 文件投递结果未确认,不重发: book=%s", book_id)
|
|
385
|
-
raise
|
|
386
|
-
logger.exception("[JM] 降级后的 PDF 文件发送失败: book=%s", book_id)
|
|
387
375
|
await _send_text(
|
|
388
376
|
sender,
|
|
389
377
|
target_type,
|
|
390
378
|
target_id,
|
|
391
|
-
|
|
392
|
-
|
|
379
|
+
build_password_text(password),
|
|
380
|
+
history_message="[JM] PDF 解密密码已单独发送",
|
|
393
381
|
)
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
382
|
+
|
|
383
|
+
try:
|
|
384
|
+
await _send_file(
|
|
385
|
+
sender, target_type, target_id, str(pdf_path), str(pdf_path.name)
|
|
386
|
+
)
|
|
387
|
+
except Exception as file_exc:
|
|
388
|
+
if _is_fatal_delivery_error(file_exc):
|
|
389
|
+
logger.error("[JM] 文件投递结果未确认,不重发: book=%s", book_id)
|
|
390
|
+
raise
|
|
391
|
+
logger.exception("[JM] PDF 文件发送失败: book=%s", book_id)
|
|
392
|
+
# 转发投递未确认时不能声称「信息与密码如上」——转发可能压根没送达
|
|
393
|
+
notice = (
|
|
394
|
+
"PDF 上传失败,本次没有发送文件(合并转发投递结果未确认,信息与密码可能没有送达)。"
|
|
395
|
+
if forward_status == _FORWARD_UNCERTAIN
|
|
396
|
+
else "PDF 上传失败,本次没有发送文件(信息与密码如上)。"
|
|
397
|
+
)
|
|
398
|
+
# 写进历史:转发摘要只说「随后发送」,真正发没发出去靠这条记录收口
|
|
399
|
+
await _send_text(sender, target_type, target_id, notice)
|
|
400
|
+
return f"{forward_status},PDF 文件发送失败"
|
|
401
|
+
return f"{forward_status},PDF 文件已单独发送"
|
|
397
402
|
|
|
398
403
|
|
|
399
404
|
async def send_jm_book(
|
|
@@ -404,7 +409,7 @@ async def send_jm_book(
|
|
|
404
409
|
target_id: int,
|
|
405
410
|
config: Any,
|
|
406
411
|
) -> str:
|
|
407
|
-
"""
|
|
412
|
+
"""下载整本,发送「信息 + 密码」合并转发,再单独发送加密 PDF 文件。"""
|
|
408
413
|
password = generate_pdf_password()
|
|
409
414
|
result, task_dir = await download_book_pdf(
|
|
410
415
|
book_id, config=config, password=password
|
|
@@ -295,9 +295,9 @@ mv skills/tools/my_tool skills/agents/my_agent/tools/
|
|
|
295
295
|
|
|
296
296
|
### info_agent(信息查询助手)
|
|
297
297
|
- **功能**:调用结构化工具完成参数明确的信息查询。
|
|
298
|
-
- **适用场景**:天气、金价、热搜、历史、Whois、网络诊断、测速、编码/哈希、B 站、QQ 等级、arXiv
|
|
298
|
+
- **适用场景**:天气、金价、热搜、历史、Whois、网络诊断、测速、编码/哈希、B 站、QQ 等级、arXiv 检索、禁漫本子搜索。
|
|
299
299
|
- **不适用**:开放式网页搜索、网页阅读、来源核验、文件解析或长篇研究。
|
|
300
|
-
- **子工具**:`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`。
|
|
300
|
+
- **子工具**:`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`, `jm_search`。
|
|
301
301
|
|
|
302
302
|
### entertainment_agent(娱乐助手)
|
|
303
303
|
- **功能**:轻松互动、趣味内容和休闲创作。
|
{undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/config.json
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"type": "function",
|
|
3
3
|
"function": {
|
|
4
4
|
"name": "info_agent",
|
|
5
|
-
"description": "信息查询助手,提供天气、热搜、新闻、历史、网络诊断、B站查询、arXiv
|
|
5
|
+
"description": "信息查询助手,提供天气、热搜、新闻、历史、网络诊断、B站查询、arXiv 搜索、禁漫(JM)本子搜索、编码工具等各类实用信息查询功能。",
|
|
6
6
|
"parameters": {
|
|
7
7
|
"type": "object",
|
|
8
8
|
"properties": {
|
{undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/intro.md
RENAMED
|
@@ -7,10 +7,11 @@
|
|
|
7
7
|
- Whois、连通性检测、测速、TCPing、编码、哈希
|
|
8
8
|
- B 站视频搜索、UP 主信息、QQ 等级
|
|
9
9
|
- arXiv 论文检索
|
|
10
|
+
- 禁漫(JM)本子检索:关键词/作者/标签搜索、分类浏览与日周月排行,返回车号列表
|
|
10
11
|
|
|
11
12
|
不适合:
|
|
12
13
|
- 开放式联网搜索、网页阅读、来源核验,交给 `web_agent`
|
|
13
14
|
- 文件/附件解析,交给 `file_analysis_agent`
|
|
14
15
|
- 长篇研究、创作或没有明确工具参数的泛泛问题
|
|
15
16
|
|
|
16
|
-
输入最好包含城市、域名/IP、QQ 号、B 站关键词/UID、arXiv
|
|
17
|
+
输入最好包含城市、域名/IP、QQ 号、B 站关键词/UID、arXiv 关键词、禁漫关键词、待编码文本等明确参数。
|
{undefined_bot-3.18.0 → undefined_bot-3.18.2}/src/Undefined/skills/agents/info_agent/prompt.md
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
你是信息查询助手,负责把明确的查询需求交给合适工具,并返回简明可靠的结果。
|
|
2
2
|
|
|
3
3
|
能力边界:
|
|
4
|
-
- 适合天气、金价、热搜、历史、网络诊断、Whois、编码/哈希、B 站查询、QQ
|
|
4
|
+
- 适合天气、金价、热搜、历史、网络诊断、Whois、编码/哈希、B 站查询、QQ 等级、arXiv 检索和禁漫(JM)本子搜索。
|
|
5
5
|
- 不做开放式网页搜索或网页阅读;这类需求应交给 `web_agent`。
|
|
6
6
|
- 不做文件、附件、图片、PDF 等内容解析;这类需求应交给 `file_analysis_agent`。
|
|
7
7
|
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
- 能用工具查询的内容不要凭记忆猜测。
|
|
10
10
|
- 参数不足时询问关键参数;如果能从用户话里可靠推断,也可以直接查询。
|
|
11
11
|
- B 站相关需求使用对应 B 站工具;arXiv 论文检索使用 `arxiv_search`。
|
|
12
|
+
- 禁漫本子用 `jm_search`:关键词检索用 `mode=search`(可限定作者/标签/角色、分类、时间与排序),分类浏览用 `mode=browse`,日/周/月榜用 `mode=ranking`;它只返回车号与列表,下载、发文件或正文详情不在你的能力范围内,交给主 AI 处理。
|
|
12
13
|
- 相对时间相关问题如“今天”“当前”,如有当前时间工具,先校准日期。
|
|
13
14
|
|
|
14
15
|
回答要求:
|