Undefined-bot 3.4.1__tar.gz → 3.5.0__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.4.1 → undefined_bot-3.5.0}/ARCHITECTURE.md +13 -13
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/CHANGELOG.md +27 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/PKG-INFO +62 -4
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/README.md +61 -3
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/config.toml.example +104 -22
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/pyproject.toml +2 -1
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/IMPORTANT/each.md +9 -4
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/prompts/historian_profile_merge.md +5 -1
- undefined_bot-3.5.0/res/prompts/merge_message_summaries.txt +12 -0
- undefined_bot-3.5.0/res/prompts/message_summary.txt +33 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/prompts/undefined.xml +30 -7
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/prompts/undefined_nagaagent.xml +30 -7
- undefined_bot-3.5.0/src/Undefined/__init__.py +61 -0
- undefined_bot-3.5.0/src/Undefined/ai/client/__init__.py +37 -0
- undefined_bot-3.5.0/src/Undefined/ai/client/ask_loop.py +612 -0
- undefined_bot-3.5.0/src/Undefined/ai/client/queue.py +283 -0
- undefined_bot-3.5.0/src/Undefined/ai/client/setup.py +914 -0
- undefined_bot-3.5.0/src/Undefined/ai/llm/__init__.py +21 -0
- undefined_bot-3.5.0/src/Undefined/ai/llm/requester.py +1015 -0
- undefined_bot-3.5.0/src/Undefined/ai/llm/sanitize.py +558 -0
- undefined_bot-3.5.0/src/Undefined/ai/llm/streaming.py +390 -0
- undefined_bot-3.5.0/src/Undefined/ai/llm/thinking.py +218 -0
- undefined_bot-3.5.0/src/Undefined/ai/llm/types.py +27 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/ai/model_selector.py +6 -1
- undefined_bot-3.5.0/src/Undefined/ai/multimodal/__init__.py +31 -0
- undefined_bot-3.4.1/src/Undefined/ai/multimodal.py → undefined_bot-3.5.0/src/Undefined/ai/multimodal/analyzer.py +56 -373
- undefined_bot-3.5.0/src/Undefined/ai/multimodal/constants.py +138 -0
- undefined_bot-3.5.0/src/Undefined/ai/multimodal/detection.py +104 -0
- undefined_bot-3.5.0/src/Undefined/ai/multimodal/parsing.py +110 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/ai/parsing.py +0 -10
- undefined_bot-3.5.0/src/Undefined/ai/prompts/__init__.py +10 -0
- undefined_bot-3.4.1/src/Undefined/ai/prompts.py → undefined_bot-3.5.0/src/Undefined/ai/prompts/builder.py +41 -301
- undefined_bot-3.5.0/src/Undefined/ai/prompts/cognitive.py +137 -0
- undefined_bot-3.5.0/src/Undefined/ai/prompts/constants.py +20 -0
- undefined_bot-3.5.0/src/Undefined/ai/prompts/system_context.py +165 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/ai/summaries.py +131 -22
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/ai/tooling.py +7 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/ai/transports/openai_transport.py +4 -2
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/api/_probes.py +10 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/api/routes/memes.py +45 -34
- undefined_bot-3.5.0/src/Undefined/api/routes/naga/__init__.py +21 -0
- undefined_bot-3.5.0/src/Undefined/api/routes/naga/auth.py +30 -0
- undefined_bot-3.5.0/src/Undefined/api/routes/naga/bind.py +158 -0
- undefined_bot-3.4.1/src/Undefined/api/routes/naga.py → undefined_bot-3.5.0/src/Undefined/api/routes/naga/send.py +13 -251
- undefined_bot-3.5.0/src/Undefined/api/routes/naga/unbind.py +99 -0
- undefined_bot-3.5.0/src/Undefined/attachments/__init__.py +43 -0
- undefined_bot-3.5.0/src/Undefined/attachments/models.py +93 -0
- undefined_bot-3.4.1/src/Undefined/attachments.py → undefined_bot-3.5.0/src/Undefined/attachments/registry.py +49 -826
- undefined_bot-3.5.0/src/Undefined/attachments/render.py +287 -0
- undefined_bot-3.5.0/src/Undefined/attachments/segments.py +566 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/bilibili/wbi.py +8 -34
- undefined_bot-3.5.0/src/Undefined/cognitive/historian/__init__.py +5 -0
- undefined_bot-3.5.0/src/Undefined/cognitive/historian/helpers.py +85 -0
- undefined_bot-3.5.0/src/Undefined/cognitive/historian/tools.py +78 -0
- undefined_bot-3.4.1/src/Undefined/cognitive/historian.py → undefined_bot-3.5.0/src/Undefined/cognitive/historian/worker.py +15 -162
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/cognitive/job_queue.py +0 -3
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/cognitive/profile_storage.py +0 -5
- undefined_bot-3.5.0/src/Undefined/cognitive/service/__init__.py +5 -0
- undefined_bot-3.5.0/src/Undefined/cognitive/service/helpers.py +169 -0
- {undefined_bot-3.4.1/src/Undefined/cognitive → undefined_bot-3.5.0/src/Undefined/cognitive/service}/service.py +15 -166
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/cognitive/vector_store.py +0 -3
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/config/__init__.py +11 -2
- undefined_bot-3.5.0/src/Undefined/config/build_config.py +57 -0
- undefined_bot-3.5.0/src/Undefined/config/config_class.py +583 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/config/domain_parsers.py +0 -1
- undefined_bot-3.5.0/src/Undefined/config/env_registry.py +192 -0
- undefined_bot-3.5.0/src/Undefined/config/load_sections/__init__.py +26 -0
- undefined_bot-3.5.0/src/Undefined/config/load_sections/access.py +86 -0
- undefined_bot-3.5.0/src/Undefined/config/load_sections/core.py +183 -0
- undefined_bot-3.5.0/src/Undefined/config/load_sections/domains.py +58 -0
- undefined_bot-3.5.0/src/Undefined/config/load_sections/finalize.py +36 -0
- undefined_bot-3.5.0/src/Undefined/config/load_sections/history_skills.py +277 -0
- undefined_bot-3.5.0/src/Undefined/config/load_sections/integrations.py +275 -0
- undefined_bot-3.5.0/src/Undefined/config/load_sections/knowledge.py +122 -0
- undefined_bot-3.5.0/src/Undefined/config/load_sections/logging_tools.py +126 -0
- undefined_bot-3.5.0/src/Undefined/config/load_sections/models.py +68 -0
- undefined_bot-3.5.0/src/Undefined/config/load_sections/network.py +161 -0
- undefined_bot-3.5.0/src/Undefined/config/loader.py +29 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/config/manager.py +4 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/config/model_parsers.py +136 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/config/models.py +21 -0
- undefined_bot-3.5.0/src/Undefined/config/parsers/__init__.py +39 -0
- undefined_bot-3.5.0/src/Undefined/config/parsers/agent.py +163 -0
- undefined_bot-3.5.0/src/Undefined/config/parsers/chat.py +165 -0
- undefined_bot-3.5.0/src/Undefined/config/parsers/embedding.py +106 -0
- undefined_bot-3.5.0/src/Undefined/config/parsers/grok.py +129 -0
- undefined_bot-3.5.0/src/Undefined/config/parsers/helpers.py +122 -0
- undefined_bot-3.5.0/src/Undefined/config/parsers/historian.py +144 -0
- undefined_bot-3.5.0/src/Undefined/config/parsers/image.py +120 -0
- undefined_bot-3.5.0/src/Undefined/config/parsers/naga.py +206 -0
- undefined_bot-3.5.0/src/Undefined/config/parsers/pool.py +142 -0
- undefined_bot-3.5.0/src/Undefined/config/parsers/security.py +196 -0
- undefined_bot-3.5.0/src/Undefined/config/parsers/summary.py +147 -0
- undefined_bot-3.5.0/src/Undefined/config/parsers/vision.py +162 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/config/resolvers.py +55 -0
- undefined_bot-3.5.0/src/Undefined/config/toml_io.py +110 -0
- undefined_bot-3.5.0/src/Undefined/handlers/__init__.py +28 -0
- undefined_bot-3.5.0/src/Undefined/handlers/auto_extract.py +223 -0
- undefined_bot-3.5.0/src/Undefined/handlers/message_flow.py +845 -0
- undefined_bot-3.5.0/src/Undefined/handlers/poke.py +293 -0
- undefined_bot-3.5.0/src/Undefined/handlers/repeat.py +146 -0
- undefined_bot-3.5.0/src/Undefined/memes/_image_utils.py +147 -0
- undefined_bot-3.5.0/src/Undefined/memes/ingest.py +625 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/memes/models.py +7 -0
- undefined_bot-3.5.0/src/Undefined/memes/search.py +471 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/memes/service.py +22 -123
- undefined_bot-3.5.0/src/Undefined/onebot/__init__.py +16 -0
- undefined_bot-3.4.1/src/Undefined/onebot.py → undefined_bot-3.5.0/src/Undefined/onebot/client.py +3 -54
- undefined_bot-3.5.0/src/Undefined/onebot/message.py +58 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/scheduled_task_storage.py +1 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/services/ai_coordinator.py +1 -15
- undefined_bot-3.5.0/src/Undefined/services/commands/bugfix.py +189 -0
- undefined_bot-3.5.0/src/Undefined/services/commands/stats.py +822 -0
- undefined_bot-3.5.0/src/Undefined/services/coordinator/__init__.py +88 -0
- undefined_bot-3.5.0/src/Undefined/services/coordinator/background.py +250 -0
- undefined_bot-3.5.0/src/Undefined/services/coordinator/batching.py +174 -0
- undefined_bot-3.5.0/src/Undefined/services/coordinator/group.py +405 -0
- undefined_bot-3.5.0/src/Undefined/services/coordinator/private.py +282 -0
- undefined_bot-3.5.0/src/Undefined/services/message_batcher/__init__.py +48 -0
- undefined_bot-3.4.1/src/Undefined/services/message_batcher.py → undefined_bot-3.5.0/src/Undefined/services/message_batcher/scheduler.py +18 -128
- undefined_bot-3.5.0/src/Undefined/services/message_batcher/state.py +106 -0
- undefined_bot-3.4.1/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/handler.py → undefined_bot-3.5.0/src/Undefined/services/message_summary_fetch.py +49 -38
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/read/handler.py +1 -0
- undefined_bot-3.5.0/src/Undefined/skills/agents/runner/__init__.py +12 -0
- undefined_bot-3.5.0/src/Undefined/skills/agents/runner/context.py +133 -0
- undefined_bot-3.5.0/src/Undefined/skills/agents/runner/loop.py +182 -0
- undefined_bot-3.5.0/src/Undefined/skills/agents/runner/tools.py +179 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/summary_agent/handler.py +3 -10
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/summary_agent/intro.md +8 -2
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/summary_agent/prompt.md +5 -1
- undefined_bot-3.5.0/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/handler.py +38 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/summary/handler.py +24 -33
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/README.md +1 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/__init__.py +0 -4
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/bilibili_video/handler.py +0 -5
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/fetch_image_uid/handler.py +0 -1
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/get_current_time/handler.py +0 -18
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/get_picture/handler.py +0 -11
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/get_user_info/handler.py +0 -5
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/python_interpreter/handler.py +0 -5
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/qq_like/handler.py +0 -3
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/task_progress/handler.py +0 -6
- undefined_bot-3.5.0/src/Undefined/utils/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/paths.py +2 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/render_cache.py +3 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/resources.py +3 -2
- undefined_bot-3.5.0/src/Undefined/utils/sender_helpers.py +116 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/routes/_runtime.py +3 -2
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/js/config-form.js +27 -0
- undefined_bot-3.4.1/src/Undefined/__init__.py +0 -3
- undefined_bot-3.4.1/src/Undefined/ai/client.py +0 -1592
- undefined_bot-3.4.1/src/Undefined/ai/llm.py +0 -1954
- undefined_bot-3.4.1/src/Undefined/config/loader.py +0 -1808
- undefined_bot-3.4.1/src/Undefined/handlers.py +0 -1399
- undefined_bot-3.4.1/src/Undefined/skills/agents/runner.py +0 -385
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/.gitignore +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/LICENSE +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/config/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/config/mcp.json.example +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/img/xlwy.jpg +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/prompts/agent_self_intro.txt +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/prompts/analyze_multimodal.txt +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/prompts/describe_image.txt +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/prompts/describe_meme_image.txt +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/prompts/generate_title.txt +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/prompts/historian_rewrite.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/prompts/image_gen_moderation.txt +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/prompts/injection_detector.txt +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/prompts/injection_response_agent.txt +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/prompts/judge_meme_image.txt +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/prompts/merge_summaries.txt +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/prompts/naga_message_moderation.txt +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/prompts/stats_analysis.txt +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/res/prompts/summarize.txt +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/__main__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/ai/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/ai/crawl4ai_support.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/ai/http.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/ai/queue_budget.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/ai/retrieval.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/ai/tokens.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/ai/transports/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/api/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/api/_context.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/api/_helpers.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/api/_naga_state.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/api/_openapi.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/api/app.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/api/naga_store.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/api/routes/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/api/routes/chat.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/api/routes/cognitive.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/api/routes/health.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/api/routes/memory.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/api/routes/system.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/api/routes/tools.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/arxiv/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/arxiv/client.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/arxiv/downloader.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/arxiv/models.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/arxiv/parser.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/arxiv/sender.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/bilibili/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/bilibili/api_client.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/bilibili/danmaku.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/bilibili/download_core.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/bilibili/downloader.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/bilibili/errors.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/bilibili/models.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/bilibili/parser.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/bilibili/sender.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/bilibili/wbi_request.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/changelog.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/cognitive/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/config/admin.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/config/coercers.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/config/hot_reload.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/config/webui_settings.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/context.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/context_resource_registry.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/end_summary_storage.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/faq.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/github/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/github/client.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/github/models.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/github/parser.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/github/sender.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/injection_response_agent.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/knowledge/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/knowledge/chunker.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/knowledge/embedder.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/knowledge/manager.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/knowledge/reranker.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/knowledge/runtime.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/knowledge/store.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/main.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/mcp/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/mcp/registry.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/memes/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/memes/store.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/memes/vector_store.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/memes/worker.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/memory.py +0 -0
- /undefined_bot-3.4.1/src/Undefined/skills/agents/arxiv_analysis_agent/__init__.py → /undefined_bot-3.5.0/src/Undefined/py.typed +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/rate_limit.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/render.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/services/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/services/command.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/services/commands/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/services/commands/context.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/services/commands/registry.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/services/model_pool.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/services/queue_manager.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/services/security.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/agent_tool_registry.py +0 -0
- {undefined_bot-3.4.1/src/Undefined/skills/agents/arxiv_analysis_agent/tools → undefined_bot-3.5.0/src/Undefined/skills/agents/arxiv_analysis_agent}/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/arxiv_analysis_agent/callable.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/arxiv_analysis_agent/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/arxiv_analysis_agent/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/arxiv_analysis_agent/intro.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/arxiv_analysis_agent/prompt.md +0 -0
- {undefined_bot-3.4.1/src/Undefined/utils → undefined_bot-3.5.0/src/Undefined/skills/agents/arxiv_analysis_agent/tools}/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/arxiv_analysis_agent/tools/fetch_paper/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/arxiv_analysis_agent/tools/fetch_paper/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/arxiv_analysis_agent/tools/read_paper_pages/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/arxiv_analysis_agent/tools/read_paper_pages/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/docker_utils.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/intro.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/mcp.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/prompt.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/end/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/end/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/read/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/write/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/code_delivery_agent/tools/write/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/entertainment_agent/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/entertainment_agent/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/entertainment_agent/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/entertainment_agent/intro.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/entertainment_agent/prompt.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/entertainment_agent/tools/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/intro.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/prompt.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/intro.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/prompt.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/arxiv_search/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/baiduhot/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/baiduhot/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/base64/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/base64/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/douyinhot/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/douyinhot/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/gold_price/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/gold_price/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/hash/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/hash/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/history/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/history/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/net_check/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/net_check/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/speed/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/speed/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/tcping/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/tcping/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/weather_query/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/weather_query/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/weibohot/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/weibohot/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/whois/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/info_agent/tools/whois/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/intro_generator.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/intro_utils.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/naga_code_analysis_agent/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/naga_code_analysis_agent/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/naga_code_analysis_agent/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/naga_code_analysis_agent/intro.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/naga_code_analysis_agent/mcp.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/naga_code_analysis_agent/prompt.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/summary_agent/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/summary_agent/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/summary_agent/tools/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/summary_agent/tools/fetch_messages/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/web_agent/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/web_agent/callable.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/web_agent/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/web_agent/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/web_agent/intro.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/web_agent/mcp.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/web_agent/prompt.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/web_agent/tools/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/web_agent/tools/grok_search/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/web_agent/tools/grok_search/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/web_agent/tools/web_search/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/agents/web_agent/tools/web_search/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/anthropic_skills/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/anthropic_skills/loader.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/admin/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/admin/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/admin/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/bugfix/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/bugfix/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/bugfix/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/changelog/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/changelog/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/changelog/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/copyright/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/copyright/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/copyright/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/faq/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/faq/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/faq/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/feedback/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/feedback/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/feedback/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/help/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/help/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/help/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/naga/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/naga/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/naga/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/naga/policy.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/profile/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/profile/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/profile/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/stats/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/stats/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/stats/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/summary/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/version/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/commands/version/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/http_client.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/http_config.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/pipelines/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/pipelines/arxiv/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/pipelines/arxiv/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/pipelines/bilibili/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/pipelines/bilibili/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/pipelines/context.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/pipelines/github/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/pipelines/github/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/pipelines/models.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/pipelines/registry.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/registry.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/arxiv_paper/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/arxiv_paper/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/arxiv_paper/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/bilibili_video/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/bilibili_video/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/calculator/callable.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/calculator/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/calculator/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/changelog_query/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/changelog_query/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/changelog_query/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/end/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/end/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/end/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/fetch_image_uid/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/get_current_time/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/get_current_time/callable.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/get_current_time/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/get_picture/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/get_picture/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/get_user_info/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/get_user_info/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/knowledge_list/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/knowledge_list/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/knowledge_semantic_search/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/knowledge_semantic_search/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/knowledge_text_search/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/knowledge_text_search/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/python_interpreter/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/python_interpreter/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/qq_like/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/qq_like/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/tools/task_progress/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/attachments/get_uid_by_url/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/attachments/get_url_by_uid/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/cognitive/get_profile/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/cognitive/get_profile/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/cognitive/search_events/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/cognitive/search_events/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/cognitive/search_profiles/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/cognitive/search_profiles/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/contacts/query_friends/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/contacts/query_friends/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/contacts/query_groups/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/contacts/query_groups/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group/find_member/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group/find_member/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group/get_avatar/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group/get_avatar/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group/get_files/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group/get_files/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group/get_honor_info/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group/get_honor_info/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group/get_member_info/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group/get_member_info/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group/get_member_list/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group/get_member_list/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group/get_member_title/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group/get_member_title/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/activity_trend/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/activity_trend/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/filter_members/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/filter_members/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/inactive_risk/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/join_statistics/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/join_statistics/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/level_distribution/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/level_distribution/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/member_activity/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/member_activity/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/member_messages/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/member_messages/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/member_structure/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/member_structure/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/message_mix/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/message_mix/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/new_member_activity/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/rank_members/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/group_analysis/rank_members/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/mcp/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/mcp/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/memes/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/memes/search_memes/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/memes/search_memes/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/memes/send_meme_by_uid/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/memory/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/memory/add/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/memory/add/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/memory/delete/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/memory/delete/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/memory/list/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/memory/list/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/memory/update/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/memory/update/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/get_forward_msg/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/get_forward_msg/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/get_messages_by_time/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/get_messages_by_time/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/get_recent_messages/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/get_recent_messages/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/list_emojis/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/list_emojis/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/react_message_emoji/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/react_message_emoji/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/send_group_sign/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/send_group_sign/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/send_message/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/send_message/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/send_poke/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/send_poke/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/send_private_message/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/send_private_message/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/send_text_file/callable.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/send_text_file/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/send_text_file/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/send_url_file/callable.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/send_url_file/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/messages/send_url_file/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/notices/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/notices/get/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/notices/get/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/notices/list/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/notices/list/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/notices/stats/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/notices/stats/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/render/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/render/render_html/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/render/render_html/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/render/render_latex/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/render/render_latex/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/render/render_markdown/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/render/render_markdown/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/scheduler/README.md +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/scheduler/create_schedule_task/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/scheduler/create_schedule_task/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/scheduler/delete_schedule_task/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/scheduler/delete_schedule_task/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/scheduler/list_schedule_tasks/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/scheduler/list_schedule_tasks/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/scheduler/update_schedule_task/config.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/skills/toolsets/scheduler/update_schedule_task/handler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/token_usage_storage.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/cache.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/coerce.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/common.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/cors.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/fake_at.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/file_lock.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/group_metrics.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/history.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/http_download.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/io.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/logging.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/member_utils.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/message_targets.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/message_utils.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/qq_emoji.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/queue_intervals.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/recent_messages.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/request_params.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/scheduler.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/self_update.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/sender.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/time_utils.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/tool_calls.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/utils/xml.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/__main__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/app.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/core.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/routes/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/routes/_auth.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/routes/_bot.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/routes/_config.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/routes/_index.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/routes/_logs.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/routes/_memes.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/routes/_shared.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/routes/_system.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/css/.stylelintrc.json +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/css/app.css +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/css/base.css +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/css/components.css +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/css/landing.css +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/css/responsive.css +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/css/style.css +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/css/variables.css +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/favicon.svg +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/js/api.js +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/js/auth.js +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/js/bot.js +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/js/i18n.js +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/js/log-view.js +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/js/logs.js +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/js/main.js +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/js/memes.js +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/js/runtime.js +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/js/state.js +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/js/ui.js +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/static/js/vendor/marked.min.js +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/templates/index.html +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/utils/__init__.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/utils/comment.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/utils/config_io.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/utils/config_sync.py +0 -0
- {undefined_bot-3.4.1 → undefined_bot-3.5.0}/src/Undefined/webui/utils/toml_render.py +0 -0
|
@@ -18,14 +18,14 @@ graph TB
|
|
|
18
18
|
ConfigLoader["ConfigManager<br/>配置管理器<br/>[config/manager.py + loader.py]"]
|
|
19
19
|
ConfigHotReload["ConfigHotReload<br/>热更新应用器<br/>[config/hot_reload.py]"]
|
|
20
20
|
ConfigModels["配置模型<br/>[config/models.py]<br/>ChatModelConfig<br/>VisionModelConfig<br/>SecurityModelConfig<br/>AgentModelConfig"]
|
|
21
|
-
OneBotClient["OneBotClient<br/>WebSocket 客户端<br/>[onebot.py]"]
|
|
21
|
+
OneBotClient["OneBotClient<br/>WebSocket 客户端<br/>[onebot/ + onebot.py shim]"]
|
|
22
22
|
Context["RequestContext<br/>请求上下文<br/>[context.py]"]
|
|
23
23
|
WebUI["webui.py<br/>配置控制台<br/>[src/Undefined/webui.py]"]
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
%% ==================== 消息处理层 ====================
|
|
27
27
|
subgraph MessageLayer["消息处理层 (src/Undefined/)"]
|
|
28
|
-
MessageHandler["MessageHandler<br/>消息处理器<br/>[handlers
|
|
28
|
+
MessageHandler["MessageHandler<br/>消息处理器<br/>[handlers/]"]
|
|
29
29
|
|
|
30
30
|
subgraph BilibiliModule["Bilibili 模块 (bilibili/)"]
|
|
31
31
|
BilibiliParser["parser.py<br/>标识符解析<br/>• BV/AV号 • URL<br/>• b23.tv短链 • 小程序JSON"]
|
|
@@ -46,10 +46,10 @@ graph TB
|
|
|
46
46
|
|
|
47
47
|
CommandDispatcher["CommandDispatcher<br/>命令分发器<br/>• /help /stats /admin<br/>• /bugfix /faq<br/>[services/command.py]"]
|
|
48
48
|
|
|
49
|
-
MessageBatcher["MessageBatcher<br/>同 sender 短时合并<br/>• 按 (scope, sender_id) 分桶<br/>• T1=window_seconds 结束 batch<br/>• T2=pre_send_seconds 投机预发送<br/>• 拍一拍/buffer 内 @bot 旁路<br/>• 首条 @bot 整批走 mention 队列<br/>[services/message_batcher
|
|
49
|
+
MessageBatcher["MessageBatcher<br/>同 sender 短时合并<br/>• 按 (scope, sender_id) 分桶<br/>• T1=window_seconds 结束 batch<br/>• T2=pre_send_seconds 投机预发送<br/>• 拍一拍/buffer 内 @bot 旁路<br/>• 首条 @bot 整批走 mention 队列<br/>[services/message_batcher/ + shim]"]
|
|
50
50
|
|
|
51
51
|
subgraph QueueSystem["车站-列车 队列系统 (services/)"]
|
|
52
|
-
AICoordinator["AICoordinator<br/>AI 协调器<br/>• Prompt 构建<br/>• 队列管理<br/>• 回复执行<br/>[ai_coordinator.py]"]
|
|
52
|
+
AICoordinator["AICoordinator<br/>AI 协调器<br/>• Prompt 构建<br/>• 队列管理<br/>• 回复执行<br/>[services/coordinator/ + ai_coordinator.py shim]"]
|
|
53
53
|
QueueManager["QueueManager<br/>队列管理器<br/>[queue_manager.py]"]
|
|
54
54
|
|
|
55
55
|
subgraph ModelQueues["ModelQueue 队列组 (按模型隔离)"]
|
|
@@ -65,13 +65,13 @@ graph TB
|
|
|
65
65
|
|
|
66
66
|
%% ==================== AI 核心能力层 ====================
|
|
67
67
|
subgraph AILayer["AI 核心能力层 (src/Undefined/ai/)"]
|
|
68
|
-
AIClient["AIClient<br/>AI 客户端主入口<br/>[client.py]<br/>• 技能热重载 • MCP 初始化<br/>• Agent intro 生成"]
|
|
68
|
+
AIClient["AIClient<br/>AI 客户端主入口<br/>[ai/client/ + client.py shim]<br/>• 技能热重载 • MCP 初始化<br/>• Agent intro 生成"]
|
|
69
69
|
|
|
70
70
|
subgraph AIComponents["AI 组件"]
|
|
71
|
-
PromptBuilder["PromptBuilder<br/>提示词构建器<br/>[prompts.py]"]
|
|
72
|
-
ModelRequester["ModelRequester<br/>模型请求器<br/>[llm.py]<br/>• OpenAI SDK • 工具清理<br/>• Thinking 提取"]
|
|
71
|
+
PromptBuilder["PromptBuilder<br/>提示词构建器<br/>[ai/prompts/ + prompts.py shim]"]
|
|
72
|
+
ModelRequester["ModelRequester<br/>模型请求器<br/>[ai/llm/ + llm.py shim]<br/>• OpenAI SDK • 工具清理<br/>• Thinking 提取"]
|
|
73
73
|
ToolManager["ToolManager<br/>工具管理器<br/>[tooling.py]<br/>• 工具执行 • Agent 工具合并<br/>• MCP 工具注入"]
|
|
74
|
-
MultimodalAnalyzer["MultimodalAnalyzer<br/>多模态分析器<br/>[multimodal.py]<br/>• 图片/音频/视频"]
|
|
74
|
+
MultimodalAnalyzer["MultimodalAnalyzer<br/>多模态分析器<br/>[ai/multimodal/ + multimodal.py shim]<br/>• 图片/音频/视频"]
|
|
75
75
|
SummaryService["SummaryService<br/>总结服务<br/>[summaries.py]<br/>• 聊天记录总结<br/>• 标题生成"]
|
|
76
76
|
TokenCounter["TokenCounter<br/>Token 统计<br/>[tokens.py]"]
|
|
77
77
|
Parsing["Parsing<br/>响应解析<br/>[parsing.py]"]
|
|
@@ -154,9 +154,9 @@ graph TB
|
|
|
154
154
|
HistoryManager["MessageHistoryManager<br/>消息历史管理<br/>[utils/history.py]<br/>• 懒加载<br/>• 10000条限制"]
|
|
155
155
|
MemoryStorage["MemoryStorage<br/>置顶备忘录<br/>[memory.py]<br/>• 500条上限<br/>• 自动去重"]
|
|
156
156
|
EndSummaryStorage["EndSummaryStorage<br/>短期总结存储<br/>[end_summary_storage.py]"]
|
|
157
|
-
CognitiveService["CognitiveService<br/>认知记忆服务<br/>[cognitive/service
|
|
157
|
+
CognitiveService["CognitiveService<br/>认知记忆服务<br/>[cognitive/service/]<br/>• 事件检索 • 侧写读取<br/>• 入队 memory job"]
|
|
158
158
|
CognitiveJobQueue["JobQueue<br/>认知任务队列<br/>[cognitive/job_queue.py]<br/>• pending/processing/failed"]
|
|
159
|
-
CognitiveHistorian["HistorianWorker<br/>后台史官<br/>[cognitive/historian
|
|
159
|
+
CognitiveHistorian["HistorianWorker<br/>后台史官<br/>[cognitive/historian/]<br/>• 绝对化改写 • 闸门重试<br/>• 侧写合并(含历史事件注入)"]
|
|
160
160
|
CognitiveVectorStore["CognitiveVectorStore<br/>向量存储<br/>[cognitive/vector_store.py]<br/>• events/profiles<br/>• 时间衰减加权排序<br/>• MMR 去重"]
|
|
161
161
|
CognitiveProfileStorage["ProfileStorage<br/>侧写存储<br/>[cognitive/profile_storage.py]<br/>• users/groups Markdown<br/>• 历史快照"]
|
|
162
162
|
MemeSystem["MemeSystem<br/>表情包存储<br/>[memes/]<br/>• worker.py (两阶段识别)<br/>• sqlite+chromadb<br/>• blob 持久化"]
|
|
@@ -849,10 +849,10 @@ description: 从 PDF 文件中提取文本和表格,填写表单。当用户
|
|
|
849
849
|
### 8层架构分层
|
|
850
850
|
|
|
851
851
|
1. **外部实体层**:用户、管理员、OneBot 协议端 (NapCat/Lagrange.Core)、大模型 API 服务商
|
|
852
|
-
2. **核心入口层**:main.py 启动入口、配置管理器 (config/loader.py)、热更新应用器 (config/hot_reload.py)、OneBotClient (onebot.py)、RequestContext (context.py)、Runtime API Server (api/app.py → api/routes/
|
|
853
|
-
3. **消息处理层**:MessageHandler (handlers
|
|
852
|
+
2. **核心入口层**:main.py 启动入口、配置管理器 (config/loader.py + parsers/ + load_sections/)、热更新应用器 (config/hot_reload.py)、OneBotClient (onebot/ + onebot.py shim)、RequestContext (context.py)、Runtime API Server (api/app.py → api/routes/ 路由子模块,含 naga/ 子包)
|
|
853
|
+
3. **消息处理层**:MessageHandler (`handlers/`)、SecurityService (security.py)、CommandDispatcher (services/command.py + commands/ mixins)、MessageBatcher (services/message_batcher/)、AICoordinator (services/coordinator/ + ai_coordinator.py 门面)、QueueManager (queue_manager.py)、自动处理管线 (skills/pipelines/)、Bilibili/arXiv/GitHub 解析与发送模块
|
|
854
854
|
自动提取由 `PipelineRegistry` 并行检测、并行处理全部命中的管线;发送结果写入历史后继续进入 AI 自动回复。
|
|
855
|
-
4. **AI 核心能力层**:AIClient (client.py)、PromptBuilder (prompts.py)、ModelRequester (llm.py)、ToolManager (tooling.py)、MultimodalAnalyzer (multimodal.py)、SummaryService (summaries.py)、TokenCounter (tokens.py)
|
|
855
|
+
4. **AI 核心能力层**:AIClient (ai/client/ + client.py shim)、PromptBuilder (ai/prompts/ + prompts.py shim)、ModelRequester (ai/llm/ + llm.py shim)、ToolManager (tooling.py)、MultimodalAnalyzer (ai/multimodal/ + multimodal.py shim)、SummaryService (summaries.py)、TokenCounter (tokens.py)
|
|
856
856
|
5. **存储与上下文层**:MessageHistoryManager (utils/history.py, 10000条限制)、MemoryStorage (memory.py, 置顶备忘录, 500条上限)、EndSummaryStorage、CognitiveService + JobQueue + HistorianWorker + VectorStore + ProfileStorage、MemeService + MemeWorker + MemeStore + MemeVectorStore (表情包库)、FAQStorage、ScheduledTaskStorage、TokenUsageStorage (自动归档)
|
|
857
857
|
6. **技能系统层**:ToolRegistry (registry.py)、AgentRegistry、6个 Agents、11类 Toolsets
|
|
858
858
|
7. **异步 IO 层**:统一 IO 工具 (utils/io.py),包含 write_json、read_json、append_line、跨平台文件锁 (flock/msvcrt)
|
|
@@ -1,3 +1,30 @@
|
|
|
1
|
+
## v3.5.0 模块拆分、库嵌入与工具链收敛
|
|
2
|
+
|
|
3
|
+
本版本是一次以可维护性与可嵌入性为主线的架构整理:将 AI 客户端、消息处理、附件、认知、表情包、协调器、OneBot 与 Agent 运行器等原先体量过大的单文件拆成职责清晰的子包,同时保留向后兼容的 import 路径与 CLI 行为不变。并行修复了 `end` 与同轮业务工具并行调用时可能重复发送或误结束会话的问题,并补齐 Python 库嵌入所需的 `set_config`、`Config.from_mapping`、根包 lazy re-export 与 `py.typed` 类型标记。配置加载改为分段解析 + 域级 parser,文档与测试同步覆盖库嵌入、包布局与公共 API 契约,让 Undefined 既能继续作为 QQ Bot 运行,也能更可靠地被脚本、测试与其它服务按需复用。
|
|
4
|
+
|
|
5
|
+
- 重构核心运行时模块结构。`ai/client`、`ai/llm`、`ai/prompts`、`ai/multimodal` 分别承载客户端组合、模型请求、Prompt 构建与多模态解析;`handlers/`、`onebot/`、`attachments/`、`cognitive/service` + `cognitive/historian`、`memes/`(ingest / search / 图像工具)、`services/coordinator`、`services/message_batcher`、`skills/agents/runner` 与 `api/routes/naga/` 等子包按域拆分;原 monolith 文件以兼容 shim 或 `__init__` 重导出保留,删除被 shadow 的不可达死代码,降低单文件复杂度与后续改动风险。
|
|
6
|
+
- 完善 Python 库嵌入能力。根包新增 lazy re-export(`Config`、`get_config`、`set_config`、`AIClient`、Skills 注册表、认知/知识库/表情包/附件/Runtime API 等稳定符号);`Config.from_mapping` / `ConfigBuilder` 支持无 `config.toml` 的内存构建,`env_registry` 统一管理环境变量兜底;`set_config()` 为 opt-in 注入全局单例,CLI 启动链不调用。wheel 打包 `py.typed`(PEP 561),新增 `docs/python-api.md` 公共 API 参考,README 补充嵌入示例与文档索引。
|
|
7
|
+
- 收敛 `end` 工具与同轮并行调用的运行时语义。当模型在同一轮将 `end` 与 `send_message` 或其它业务工具一并调用时:其它工具照常并行执行并返回结果,`end` 不执行并回填明确拒绝响应,避免重复发送与「未读 tool 结果就结束」;提示词、`each.md` 与决策回归用例同步写入 P0 级「end 禁止并行」规则与运行时效果说明。
|
|
8
|
+
- 改进缺失 tool call 时的重试策略。模型返回纯文本但未调用任何工具时,保留 assistant 原文于 messages,注入通用纠正提示而非硬编码 `send_message`/`end`,减少误导性后续 tool 调用;拆分后修复 Skills 路径解析,`PACKAGE_ROOT` 统一指向包根,避免内置工具零加载回归。
|
|
9
|
+
- 加固队列化 LLM 与运行时边界。收紧 queued LLM 重试与 pending-call 清理、配置分段加载的边界校验、附件渲染容错,以及 Prompt 缓存键的隐私安全处理(系统上下文只暴露非敏感模型名等字段);表情包入库锁与图像工具去重,Naga API 路由守卫与 B 站 WBI 导航解析小幅简化。
|
|
10
|
+
- 更新架构图、开发指南与配置文档。`docs/development.md` 反映拆分后的目录树;`docs/configuration.md` 新增库嵌入专节(`from_mapping` / `set_config` / 环境变量注册表);`ARCHITECTURE.md` 与相关运维文档同步引用路径。
|
|
11
|
+
- 补强测试与工程契约。新增包布局、公共 API import、CLI 启动兼容、`Config.from_mapping` / 纯环境变量构建、`end` 同轮拒绝与 defer、`AIClient` setup 路径等回归测试;更新 LLM 重试抑制与请求参数相关用例,总测试覆盖库嵌入与拆分后的关键路径。
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## v3.4.2 总结更准、上下文可配、高并发更稳
|
|
16
|
+
|
|
17
|
+
本版本主要解决三类实际问题:群聊消息变长、合并发送变多之后,`/summary` 容易慢、容易编、分块预算也不准;主对话注入历史的 200 条硬顶与模型真实窗口脱节;高并发下用户连问「在吗」「好了吗」时,机器人仍可能把旧任务当新活重跑。围绕这些痛点,版本把「用户主动要总结」和「AI 自己调总结能力」拆成两条更合适的链路,用可配置的上下文窗口统一约束注入与分块,并同步收紧提示词、史官侧写与定时任务持久化,让总结更可信、配置更贴近上游模型、并发场景下更少重复劳动。
|
|
18
|
+
|
|
19
|
+
- 提升消息总结的质量与效率。用户通过 `/summary`、`/sum` 获取总结时,改为直连 summary 模型一次性完成,不再绕 Agent 工具链,响应更快、路径更简单;AI 在对话里调用总结能力时,仍保留 Agent + 拉取历史的灵活流程。长会话按模型上下文窗口自动分段、队列内合并,并配套「只读原始记录、禁止编造」的专用提示词,减少幻觉与无关发挥。
|
|
20
|
+
- 理顺上下文与模型配置边界。取消历史注入 200 条的隐性上限,改由 `context_recent_messages_limit` 与历史存储上限共同决定;各模型节新增 `context_window_tokens`,总结分块、Prompt 预算与实际上游窗口对齐,不再依赖硬编码或误用 `max_tokens`。同时补齐 `reasoning_content_replay`、`system_prompt_as_user`,便于 MiMo、DeepSeek 等 thinking 模型在多轮工具调用时正确续传思维链,或按网关要求改写 system 注入方式。
|
|
21
|
+
- 强化高并发下的任务边界。系统提示词与 each 规则进一步明确:催促、寒暄不等于新任务,历史未完成任务不得自动拾取;启动业务工具前须检查是否已有同类或语义等价操作在处理,有则熔断为简短进度回复而非重跑;无依赖的工具与 Agent 仍鼓励并行,有数据依赖则必须串行,与 MessageBatcher 的批次语义一致。
|
|
22
|
+
- 优化认知侧写的长期画像质量。史官合并侧写时必须先读取再更新,以增量补充稳定特征为主,一次性闲聊或无法沉淀为长期特质的事件应跳过,避免侧写被单轮对话冲散或写成流水账。
|
|
23
|
+
- 修复「向未来的自己发指令」定时任务无法恢复。持久化任务若包含 `self_instruction`,此前会导致整表反序列化失败;现已补齐字段定义,自调用类定时任务可正常加载与执行。
|
|
24
|
+
- 更新配置文档、WebUI 表单与相关测试,覆盖总结直连、上下文窗口、模型对接选项与并发防重复等关键路径。
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
1
28
|
## v3.4.1 附件缓存治理、隐私安全防线与B站管线重构
|
|
2
29
|
|
|
3
30
|
本版本围绕三大主线展开:一是附件系统的缓存容量治理与 URL 引用回退机制,防止本地缓存无限制膨胀;二是系统提示词新增 P0 级隐私与危险动作边界规则,从源头约束 AI 对敏感信息和安全请求的处理行为;三是 B 站自动管线全面重构——移除外部下载依赖、内联实现 API 客户端与 WBI 签名、新增弹幕获取并以合并转发形式发送提取结果。同步新增 `/feedback` 反馈命令、恢复发布说明中的分类提交详情,并修正提示词优先级体系。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Undefined-bot
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.5.0
|
|
4
4
|
Summary: QQ bot platform with cognitive memory architecture and multi-agent Skills, via OneBot V11.
|
|
5
5
|
Project-URL: Repository, https://github.com/69gg/Undefined
|
|
6
6
|
Project-URL: Issues, https://github.com/69gg/Undefined/issues
|
|
@@ -82,6 +82,8 @@ Description-Content-Type: text/markdown
|
|
|
82
82
|
|
|
83
83
|
### _与 [NagaAgent](https://github.com/Xxiii8322766509/NagaAgent) 进行联动!_
|
|
84
84
|
|
|
85
|
+
> 学业繁忙,暂缓更新至六月下旬,在此期间仅作必要bugfix。
|
|
86
|
+
|
|
85
87
|
---
|
|
86
88
|
|
|
87
89
|
## ⚡ 立即体验
|
|
@@ -91,6 +93,7 @@ Description-Content-Type: text/markdown
|
|
|
91
93
|
## ⚡ 核心特性
|
|
92
94
|
|
|
93
95
|
- **Skills 架构**:全新设计的技能系统,将基础工具(Tools)与智能代理(Agents)分层管理,支持自动发现与注册。
|
|
96
|
+
- **可嵌入 Python 库**:`pip install Undefined-bot` 后可 import 配置、`AIClient`、Skills 与认知记忆等组件,无需启动 Bot CLI。详见 [Python 库 API 参考](docs/python-api.md)。
|
|
94
97
|
- **Skills 热重载**:自动扫描 `skills/` 目录,检测到变更后即时重载工具与 Agent,无需重启服务。
|
|
95
98
|
- **三层分层记忆架构**:创新的分层记忆系统,模拟人类记忆机制——
|
|
96
99
|
- **短期记忆**(`end.memo`):每轮对话结束自动记录便签备忘,最近 N 条始终注入,保持短期连续性,零配置开箱即用
|
|
@@ -134,9 +137,10 @@ Description-Content-Type: text/markdown
|
|
|
134
137
|
Undefined 的功能极为丰富,为了让本页面不过于臃肿,我们将各个模块的深入解析与高阶玩法整理成了专题游览图。这里是开启探索的钥匙:
|
|
135
138
|
|
|
136
139
|
- ⚙️ **[安装与部署指南](docs/deployment.md)**:不管你是需要 `pip` 无脑一键安装,还是源码二次开发,这里的排坑指南应有尽有。
|
|
140
|
+
- 📦 **[Python 库 API 参考](docs/python-api.md)**:根包 lazy re-export、`Config.from_mapping` / `set_config`、公共 API 符号表与嵌入示例。
|
|
137
141
|
- 🖥️ **[WebUI 使用指南](docs/webui-guide.md)**:管理控制台功能一览——配置编辑、日志查看、认知记忆管理、表情包库、AI 对话与系统监控。
|
|
138
142
|
- 🧭 **[Management API 与远程管理](docs/management-api.md)**:WebUI / App 共用的管理接口、认证、配置/日志/Bot 控制与引导探针说明。
|
|
139
|
-
- 🛠️ **[配置与热更新说明](docs/configuration.md)**:从模型切换到 MCP 库挂载,全方位掌握 `config.toml`
|
|
143
|
+
- 🛠️ **[配置与热更新说明](docs/configuration.md)**:从模型切换到 MCP 库挂载,全方位掌握 `config.toml` 的高阶配置;库嵌入见 [§2 库嵌入配置](docs/configuration.md#2-库嵌入配置)。
|
|
140
144
|
- 😶 **[表情包系统 (Memes)](docs/memes.md)**:查看表情包两阶段判定管线、统一图片 `uid` 发送机制、检索模式及库存管理说明。
|
|
141
145
|
- 💡 **[交互与使用手册](docs/usage.md)**:包含实用的对话示例、多模态解析用法,以及群管家必备的管理员`/指令`。
|
|
142
146
|
- 📝 **[版本变更记录](CHANGELOG.md)**:查看按版本整理的更新摘要,也可在运行时使用 `/changelog` 查询。
|
|
@@ -148,7 +152,7 @@ Undefined 的功能极为丰富,为了让本页面不过于臃肿,我们将
|
|
|
148
152
|
- 🌐 **[Runtime API 与 OpenAPI](docs/openapi.md)**:主进程 Runtime API、鉴权、探针、记忆/侧写查询和运行态集成说明。
|
|
149
153
|
- 🏗️ **[构建指南](docs/build.md)**:Python 包、WebUI、跨平台 App、Android 与 Release 工作流的构建说明。
|
|
150
154
|
- 🔧 **[运维脚本](scripts/README.md)**:嵌入模型更换后的向量库重嵌入等维护工具。
|
|
151
|
-
- 👨💻 **[开发者与拓展中心](docs/development.md)
|
|
155
|
+
- 👨💻 **[开发者与拓展中心](docs/development.md)**:代码结构剖析、模块拆分后的目录树、开发新 Agent 的流程参考及自检命令。
|
|
152
156
|
- **[核心技能系统 (Skills) 解析](src/Undefined/skills/README.md)**:全景式掌握什么是 Skills 架构、怎样定制原子工具与子智能体。
|
|
153
157
|
- **[callable.json 共享授权说明](docs/callable.md)**:细粒度管控 Agent 之间的相互调用与工具越权防范。
|
|
154
158
|
|
|
@@ -182,6 +186,58 @@ uv run Undefined-webui
|
|
|
182
186
|
|
|
183
187
|
---
|
|
184
188
|
|
|
189
|
+
## 作为 Python 库使用
|
|
190
|
+
|
|
191
|
+
除 Bot CLI 外,Undefined 也可嵌入脚本、测试或其它服务,直接复用 **Skills 注册表**、**认知记忆**、**知识库**、**AIClient** 等运行时(与 CLI 启动链隔离)。
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
pip install Undefined-bot # 源码开发:uv sync
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
```python
|
|
198
|
+
import asyncio
|
|
199
|
+
|
|
200
|
+
# 根包 lazy re-export:与 CLI 共用同一套运行时组件
|
|
201
|
+
from Undefined import AgentRegistry, Config, ToolRegistry, set_config
|
|
202
|
+
|
|
203
|
+
# 内存构建配置,测试/嵌入场景无需 config.toml
|
|
204
|
+
cfg = Config.from_mapping(
|
|
205
|
+
{
|
|
206
|
+
"onebot": {"ws_url": "ws://127.0.0.1:3001"},
|
|
207
|
+
"models": {
|
|
208
|
+
"chat": {"api_url": "https://api.example/v1", "api_key": "sk-xxx", "model_name": "gpt-4o-mini"},
|
|
209
|
+
"vision": {"api_url": "https://api.example/v1", "api_key": "sk-xxx", "model_name": "gpt-4o-mini"},
|
|
210
|
+
"agent": {"api_url": "https://api.example/v1", "api_key": "sk-xxx", "model_name": "gpt-4o-mini"},
|
|
211
|
+
},
|
|
212
|
+
},
|
|
213
|
+
strict=False,
|
|
214
|
+
)
|
|
215
|
+
set_config(cfg) # opt-in 注入全局单例;CLI 启动链不会调用
|
|
216
|
+
|
|
217
|
+
# 自动扫描 skills/:tools + toolsets(end / group.* / cognitive.* …)
|
|
218
|
+
tools = ToolRegistry()
|
|
219
|
+
# 自动扫描 skills/agents/:web_agent、code_delivery_agent …
|
|
220
|
+
agents = AgentRegistry()
|
|
221
|
+
|
|
222
|
+
async def main() -> None:
|
|
223
|
+
# 直接调用原子工具,无需启动 OneBot
|
|
224
|
+
lunar_time = await tools.execute(
|
|
225
|
+
"get_current_time",
|
|
226
|
+
{"format": "text", "include_lunar": True},
|
|
227
|
+
context={},
|
|
228
|
+
)
|
|
229
|
+
print(lunar_time)
|
|
230
|
+
print(len(tools.get_schema()), "tools,", len(agents.get_schema()), "agents")
|
|
231
|
+
|
|
232
|
+
asyncio.run(main())
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
- [Python 库 API 参考](docs/python-api.md) — 根包符号表、shim 路径、`AIClient` / `CognitiveService` 等嵌入示例
|
|
236
|
+
- [配置详解 — 库嵌入配置](docs/configuration.md#2-库嵌入配置) — `from_mapping` / `Config.builder`
|
|
237
|
+
- [开发者与拓展中心](docs/development.md) — 模块结构与自检命令
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
185
241
|
## 风险提示与免责声明
|
|
186
242
|
|
|
187
243
|
1. **账号风控与封禁风险(含 QQ 账号)**
|
|
@@ -197,7 +253,9 @@ uv run Undefined-webui
|
|
|
197
253
|
|
|
198
254
|
本项目遵循 [MIT License](LICENSE) 开源协议。
|
|
199
255
|
|
|
200
|
-
感谢 **NagaAgent**
|
|
256
|
+
感谢 **NagaAgent** 子模块作者及社区提供的支持与鼓励:[NagaAgent - A simple yet powerful agent framework.](https://github.com/Xxiii8322766509/NagaAgent)!
|
|
257
|
+
|
|
258
|
+
感谢在开发过程中为我提供各种灵感的群友们!
|
|
201
259
|
|
|
202
260
|
<div align="center">
|
|
203
261
|
<strong>⭐ 如果这个项目对您有帮助,请考虑给我们一个 Star</strong>
|
|
@@ -23,6 +23,8 @@
|
|
|
23
23
|
|
|
24
24
|
### _与 [NagaAgent](https://github.com/Xxiii8322766509/NagaAgent) 进行联动!_
|
|
25
25
|
|
|
26
|
+
> 学业繁忙,暂缓更新至六月下旬,在此期间仅作必要bugfix。
|
|
27
|
+
|
|
26
28
|
---
|
|
27
29
|
|
|
28
30
|
## ⚡ 立即体验
|
|
@@ -32,6 +34,7 @@
|
|
|
32
34
|
## ⚡ 核心特性
|
|
33
35
|
|
|
34
36
|
- **Skills 架构**:全新设计的技能系统,将基础工具(Tools)与智能代理(Agents)分层管理,支持自动发现与注册。
|
|
37
|
+
- **可嵌入 Python 库**:`pip install Undefined-bot` 后可 import 配置、`AIClient`、Skills 与认知记忆等组件,无需启动 Bot CLI。详见 [Python 库 API 参考](docs/python-api.md)。
|
|
35
38
|
- **Skills 热重载**:自动扫描 `skills/` 目录,检测到变更后即时重载工具与 Agent,无需重启服务。
|
|
36
39
|
- **三层分层记忆架构**:创新的分层记忆系统,模拟人类记忆机制——
|
|
37
40
|
- **短期记忆**(`end.memo`):每轮对话结束自动记录便签备忘,最近 N 条始终注入,保持短期连续性,零配置开箱即用
|
|
@@ -75,9 +78,10 @@
|
|
|
75
78
|
Undefined 的功能极为丰富,为了让本页面不过于臃肿,我们将各个模块的深入解析与高阶玩法整理成了专题游览图。这里是开启探索的钥匙:
|
|
76
79
|
|
|
77
80
|
- ⚙️ **[安装与部署指南](docs/deployment.md)**:不管你是需要 `pip` 无脑一键安装,还是源码二次开发,这里的排坑指南应有尽有。
|
|
81
|
+
- 📦 **[Python 库 API 参考](docs/python-api.md)**:根包 lazy re-export、`Config.from_mapping` / `set_config`、公共 API 符号表与嵌入示例。
|
|
78
82
|
- 🖥️ **[WebUI 使用指南](docs/webui-guide.md)**:管理控制台功能一览——配置编辑、日志查看、认知记忆管理、表情包库、AI 对话与系统监控。
|
|
79
83
|
- 🧭 **[Management API 与远程管理](docs/management-api.md)**:WebUI / App 共用的管理接口、认证、配置/日志/Bot 控制与引导探针说明。
|
|
80
|
-
- 🛠️ **[配置与热更新说明](docs/configuration.md)**:从模型切换到 MCP 库挂载,全方位掌握 `config.toml`
|
|
84
|
+
- 🛠️ **[配置与热更新说明](docs/configuration.md)**:从模型切换到 MCP 库挂载,全方位掌握 `config.toml` 的高阶配置;库嵌入见 [§2 库嵌入配置](docs/configuration.md#2-库嵌入配置)。
|
|
81
85
|
- 😶 **[表情包系统 (Memes)](docs/memes.md)**:查看表情包两阶段判定管线、统一图片 `uid` 发送机制、检索模式及库存管理说明。
|
|
82
86
|
- 💡 **[交互与使用手册](docs/usage.md)**:包含实用的对话示例、多模态解析用法,以及群管家必备的管理员`/指令`。
|
|
83
87
|
- 📝 **[版本变更记录](CHANGELOG.md)**:查看按版本整理的更新摘要,也可在运行时使用 `/changelog` 查询。
|
|
@@ -89,7 +93,7 @@ Undefined 的功能极为丰富,为了让本页面不过于臃肿,我们将
|
|
|
89
93
|
- 🌐 **[Runtime API 与 OpenAPI](docs/openapi.md)**:主进程 Runtime API、鉴权、探针、记忆/侧写查询和运行态集成说明。
|
|
90
94
|
- 🏗️ **[构建指南](docs/build.md)**:Python 包、WebUI、跨平台 App、Android 与 Release 工作流的构建说明。
|
|
91
95
|
- 🔧 **[运维脚本](scripts/README.md)**:嵌入模型更换后的向量库重嵌入等维护工具。
|
|
92
|
-
- 👨💻 **[开发者与拓展中心](docs/development.md)
|
|
96
|
+
- 👨💻 **[开发者与拓展中心](docs/development.md)**:代码结构剖析、模块拆分后的目录树、开发新 Agent 的流程参考及自检命令。
|
|
93
97
|
- **[核心技能系统 (Skills) 解析](src/Undefined/skills/README.md)**:全景式掌握什么是 Skills 架构、怎样定制原子工具与子智能体。
|
|
94
98
|
- **[callable.json 共享授权说明](docs/callable.md)**:细粒度管控 Agent 之间的相互调用与工具越权防范。
|
|
95
99
|
|
|
@@ -123,6 +127,58 @@ uv run Undefined-webui
|
|
|
123
127
|
|
|
124
128
|
---
|
|
125
129
|
|
|
130
|
+
## 作为 Python 库使用
|
|
131
|
+
|
|
132
|
+
除 Bot CLI 外,Undefined 也可嵌入脚本、测试或其它服务,直接复用 **Skills 注册表**、**认知记忆**、**知识库**、**AIClient** 等运行时(与 CLI 启动链隔离)。
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
pip install Undefined-bot # 源码开发:uv sync
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
```python
|
|
139
|
+
import asyncio
|
|
140
|
+
|
|
141
|
+
# 根包 lazy re-export:与 CLI 共用同一套运行时组件
|
|
142
|
+
from Undefined import AgentRegistry, Config, ToolRegistry, set_config
|
|
143
|
+
|
|
144
|
+
# 内存构建配置,测试/嵌入场景无需 config.toml
|
|
145
|
+
cfg = Config.from_mapping(
|
|
146
|
+
{
|
|
147
|
+
"onebot": {"ws_url": "ws://127.0.0.1:3001"},
|
|
148
|
+
"models": {
|
|
149
|
+
"chat": {"api_url": "https://api.example/v1", "api_key": "sk-xxx", "model_name": "gpt-4o-mini"},
|
|
150
|
+
"vision": {"api_url": "https://api.example/v1", "api_key": "sk-xxx", "model_name": "gpt-4o-mini"},
|
|
151
|
+
"agent": {"api_url": "https://api.example/v1", "api_key": "sk-xxx", "model_name": "gpt-4o-mini"},
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
strict=False,
|
|
155
|
+
)
|
|
156
|
+
set_config(cfg) # opt-in 注入全局单例;CLI 启动链不会调用
|
|
157
|
+
|
|
158
|
+
# 自动扫描 skills/:tools + toolsets(end / group.* / cognitive.* …)
|
|
159
|
+
tools = ToolRegistry()
|
|
160
|
+
# 自动扫描 skills/agents/:web_agent、code_delivery_agent …
|
|
161
|
+
agents = AgentRegistry()
|
|
162
|
+
|
|
163
|
+
async def main() -> None:
|
|
164
|
+
# 直接调用原子工具,无需启动 OneBot
|
|
165
|
+
lunar_time = await tools.execute(
|
|
166
|
+
"get_current_time",
|
|
167
|
+
{"format": "text", "include_lunar": True},
|
|
168
|
+
context={},
|
|
169
|
+
)
|
|
170
|
+
print(lunar_time)
|
|
171
|
+
print(len(tools.get_schema()), "tools,", len(agents.get_schema()), "agents")
|
|
172
|
+
|
|
173
|
+
asyncio.run(main())
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
- [Python 库 API 参考](docs/python-api.md) — 根包符号表、shim 路径、`AIClient` / `CognitiveService` 等嵌入示例
|
|
177
|
+
- [配置详解 — 库嵌入配置](docs/configuration.md#2-库嵌入配置) — `from_mapping` / `Config.builder`
|
|
178
|
+
- [开发者与拓展中心](docs/development.md) — 模块结构与自检命令
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
126
182
|
## 风险提示与免责声明
|
|
127
183
|
|
|
128
184
|
1. **账号风控与封禁风险(含 QQ 账号)**
|
|
@@ -138,7 +194,9 @@ uv run Undefined-webui
|
|
|
138
194
|
|
|
139
195
|
本项目遵循 [MIT License](LICENSE) 开源协议。
|
|
140
196
|
|
|
141
|
-
感谢 **NagaAgent**
|
|
197
|
+
感谢 **NagaAgent** 子模块作者及社区提供的支持与鼓励:[NagaAgent - A simple yet powerful agent framework.](https://github.com/Xxiii8322766509/NagaAgent)!
|
|
198
|
+
|
|
199
|
+
感谢在开发过程中为我提供各种灵感的群友们!
|
|
142
200
|
|
|
143
201
|
<div align="center">
|
|
144
202
|
<strong>⭐ 如果这个项目对您有帮助,请考虑给我们一个 Star</strong>
|
|
@@ -22,8 +22,8 @@ process_private_message = true
|
|
|
22
22
|
# zh: 是否响应拍一拍。关闭后拍一拍事件将被忽略。
|
|
23
23
|
# en: Respond to poke events. If disabled, poke events are ignored.
|
|
24
24
|
process_poke_message = true
|
|
25
|
-
# zh:
|
|
26
|
-
# en:
|
|
25
|
+
# zh: 注入给模型的最近历史消息条数(0 表示不注入;无固定上限,受 max_records 与存储约束)。
|
|
26
|
+
# en: Recent messages injected as model context (0 disables; no fixed cap; bounded by max_records/storage).
|
|
27
27
|
context_recent_messages_limit = 20
|
|
28
28
|
# zh: 单次 LLM 请求失败时最大静默重试次数(0=不重试,默认2)。失败的请求会回到原队列的第 2 个位置。
|
|
29
29
|
# en: Max silent retries for a single failed LLM request (0=no retry, default 2). Failed requests are reinserted at position 2 of their original queue lane.
|
|
@@ -89,6 +89,10 @@ model_name = ""
|
|
|
89
89
|
# zh: 最大生成 tokens。
|
|
90
90
|
# en: Max generation tokens.
|
|
91
91
|
max_tokens = 8192
|
|
92
|
+
|
|
93
|
+
# zh: 模型上下文窗口上限(token),用于 /summary 分块与 Prompt 预算;须与上游模型能力一致。
|
|
94
|
+
# en: Model context window cap (tokens) for /summary chunking and prompt budgeting; must match upstream capability.
|
|
95
|
+
context_window_tokens = 32768
|
|
92
96
|
# zh: 队列发车间隔(秒,0 表示立即发车)。
|
|
93
97
|
# en: Queue interval (seconds; 0 dispatches immediately).
|
|
94
98
|
queue_interval_seconds = 1.0
|
|
@@ -113,9 +117,15 @@ thinking_include_budget = true
|
|
|
113
117
|
# zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
|
|
114
118
|
# en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
|
|
115
119
|
reasoning_effort_style = "openai"
|
|
116
|
-
# zh:
|
|
117
|
-
# en: Thinking tool-call compatibility:
|
|
120
|
+
# zh: 思维链工具调用兼容:多轮工具调用时在本地历史回填 reasoning_content(日志/回放),不向上游续传。
|
|
121
|
+
# en: Thinking tool-call compatibility: locally store reasoning_content in history for multi-turn tool calls (logging/replay), not upstream replay.
|
|
118
122
|
thinking_tool_call_compat = true
|
|
123
|
+
# zh: 多轮工具调用时是否将 CoT 续传给上游(Chat: reasoning_content;Responses: output items)。默认 false。
|
|
124
|
+
# en: Relay chain-of-thought to upstream on multi-turn tool calls (Chat: reasoning_content; Responses: output items). Default false.
|
|
125
|
+
reasoning_content_replay = false
|
|
126
|
+
# zh: 是否将所有 system 提示词合并注入第一条 user 消息(适配不支持 system role 的模型)。默认 false。
|
|
127
|
+
# en: Merge all system prompts into the first user message (for models without system role). Default false.
|
|
128
|
+
system_prompt_as_user = false
|
|
119
129
|
# zh: Responses API 的 tool_choice 兼容模式:仅在关闭时请求仍返回 500、怀疑上游不兼容对象型 tool_choice 时再尝试开启;开启后上报为 "required" 并只保留目标工具。当前已在 new-api v0.11.4-alpha.3 发现该问题。默认关闭。
|
|
120
130
|
# en: Responses API tool_choice compatibility mode: only try enabling this when requests still return 500 with the default setting and you suspect the upstream does not support object-style tool_choice; it sends "required" and keeps only the selected tool. This issue is currently observed on new-api v0.11.4-alpha.3. Disabled by default.
|
|
121
131
|
responses_tool_choice_compat = false
|
|
@@ -161,6 +171,10 @@ model_name = ""
|
|
|
161
171
|
# zh: Vision 模型最大输出 tokens。启用 thinking 时建议设大(如 8192),确保思维链消耗后仍有余量输出工具调用。
|
|
162
172
|
# en: Vision model max output tokens. When thinking is enabled, use a larger value (e.g. 8192) so there is still room for tool-call output after thinking.
|
|
163
173
|
max_tokens = 8192
|
|
174
|
+
|
|
175
|
+
# zh: 模型上下文窗口上限(token),用于 /summary 分块与 Prompt 预算;须与上游模型能力一致。
|
|
176
|
+
# en: Model context window cap (tokens) for /summary chunking and prompt budgeting; must match upstream capability.
|
|
177
|
+
context_window_tokens = 32768
|
|
164
178
|
# zh: 队列发车间隔(秒,0 表示立即发车)。
|
|
165
179
|
# en: Queue interval (seconds; 0 dispatches immediately).
|
|
166
180
|
queue_interval_seconds = 1.0
|
|
@@ -185,9 +199,15 @@ thinking_include_budget = true
|
|
|
185
199
|
# zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
|
|
186
200
|
# en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
|
|
187
201
|
reasoning_effort_style = "openai"
|
|
188
|
-
# zh:
|
|
189
|
-
# en: Thinking tool-call compatibility:
|
|
202
|
+
# zh: 思维链工具调用兼容:多轮工具调用时在本地历史回填 reasoning_content(日志/回放),不向上游续传。
|
|
203
|
+
# en: Thinking tool-call compatibility: locally store reasoning_content in history for multi-turn tool calls (logging/replay), not upstream replay.
|
|
190
204
|
thinking_tool_call_compat = true
|
|
205
|
+
# zh: 多轮工具调用时是否将 CoT 续传给上游(Chat: reasoning_content;Responses: output items)。默认 false。
|
|
206
|
+
# en: Relay chain-of-thought to upstream on multi-turn tool calls (Chat: reasoning_content; Responses: output items). Default false.
|
|
207
|
+
reasoning_content_replay = false
|
|
208
|
+
# zh: 是否将所有 system 提示词合并注入第一条 user 消息(适配不支持 system role 的模型)。默认 false。
|
|
209
|
+
# en: Merge all system prompts into the first user message (for models without system role). Default false.
|
|
210
|
+
system_prompt_as_user = false
|
|
191
211
|
# zh: Responses API 的 tool_choice 兼容模式:仅在关闭时请求仍返回 500、怀疑上游不兼容对象型 tool_choice 时再尝试开启;开启后上报为 "required" 并只保留目标工具。当前已在 new-api v0.11.4-alpha.3 发现该问题。默认关闭。
|
|
192
212
|
# en: Responses API tool_choice compatibility mode: only try enabling this when requests still return 500 with the default setting and you suspect the upstream does not support object-style tool_choice; it sends "required" and keeps only the selected tool. This issue is currently observed on new-api v0.11.4-alpha.3. Disabled by default.
|
|
193
213
|
responses_tool_choice_compat = false
|
|
@@ -223,6 +243,10 @@ model_name = ""
|
|
|
223
243
|
# zh: 可选限制:最大生成 tokens。
|
|
224
244
|
# en: Optional limit: max generation tokens.
|
|
225
245
|
max_tokens = 100
|
|
246
|
+
|
|
247
|
+
# zh: 模型上下文窗口上限(token),用于 /summary 分块与 Prompt 预算;须与上游模型能力一致。
|
|
248
|
+
# en: Model context window cap (tokens) for /summary chunking and prompt budgeting; must match upstream capability.
|
|
249
|
+
context_window_tokens = 8192
|
|
226
250
|
# zh: 队列发车间隔(秒,0 表示立即发车)。
|
|
227
251
|
# en: Queue interval (seconds; 0 dispatches immediately).
|
|
228
252
|
queue_interval_seconds = 1.0
|
|
@@ -247,9 +271,15 @@ thinking_include_budget = true
|
|
|
247
271
|
# zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
|
|
248
272
|
# en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
|
|
249
273
|
reasoning_effort_style = "openai"
|
|
250
|
-
# zh:
|
|
251
|
-
# en: Thinking tool-call compatibility:
|
|
274
|
+
# zh: 思维链工具调用兼容:多轮工具调用时在本地历史回填 reasoning_content(日志/回放),不向上游续传。
|
|
275
|
+
# en: Thinking tool-call compatibility: locally store reasoning_content in history for multi-turn tool calls (logging/replay), not upstream replay.
|
|
252
276
|
thinking_tool_call_compat = true
|
|
277
|
+
# zh: 多轮工具调用时是否将 CoT 续传给上游(Chat: reasoning_content;Responses: output items)。默认 false。
|
|
278
|
+
# en: Relay chain-of-thought to upstream on multi-turn tool calls (Chat: reasoning_content; Responses: output items). Default false.
|
|
279
|
+
reasoning_content_replay = false
|
|
280
|
+
# zh: 是否将所有 system 提示词合并注入第一条 user 消息(适配不支持 system role 的模型)。默认 false。
|
|
281
|
+
# en: Merge all system prompts into the first user message (for models without system role). Default false.
|
|
282
|
+
system_prompt_as_user = false
|
|
253
283
|
# zh: Responses API 的 tool_choice 兼容模式:仅在关闭时请求仍返回 500、怀疑上游不兼容对象型 tool_choice 时再尝试开启;开启后上报为 "required" 并只保留目标工具。当前已在 new-api v0.11.4-alpha.3 发现该问题。默认关闭。
|
|
254
284
|
# en: Responses API tool_choice compatibility mode: only try enabling this when requests still return 500 with the default setting and you suspect the upstream does not support object-style tool_choice; it sends "required" and keeps only the selected tool. This issue is currently observed on new-api v0.11.4-alpha.3. Disabled by default.
|
|
255
285
|
responses_tool_choice_compat = false
|
|
@@ -284,6 +314,10 @@ model_name = ""
|
|
|
284
314
|
# zh: 可选限制:最大生成 tokens。
|
|
285
315
|
# en: Optional limit: max generation tokens.
|
|
286
316
|
max_tokens = 160
|
|
317
|
+
|
|
318
|
+
# zh: 模型上下文窗口上限(token),用于 /summary 分块与 Prompt 预算;须与上游模型能力一致。
|
|
319
|
+
# en: Model context window cap (tokens) for /summary chunking and prompt budgeting; must match upstream capability.
|
|
320
|
+
context_window_tokens = 8192
|
|
287
321
|
# zh: 队列发车间隔(秒,0 表示立即发车)。
|
|
288
322
|
# en: Queue interval (seconds; 0 dispatches immediately).
|
|
289
323
|
queue_interval_seconds = 1.0
|
|
@@ -308,9 +342,15 @@ thinking_include_budget = true
|
|
|
308
342
|
# zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
|
|
309
343
|
# en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
|
|
310
344
|
reasoning_effort_style = "openai"
|
|
311
|
-
# zh:
|
|
312
|
-
# en: Thinking tool-call compatibility:
|
|
345
|
+
# zh: 思维链工具调用兼容:多轮工具调用时在本地历史回填 reasoning_content(日志/回放),不向上游续传。
|
|
346
|
+
# en: Thinking tool-call compatibility: locally store reasoning_content in history for multi-turn tool calls (logging/replay), not upstream replay.
|
|
313
347
|
thinking_tool_call_compat = true
|
|
348
|
+
# zh: 多轮工具调用时是否将 CoT 续传给上游(Chat: reasoning_content;Responses: output items)。默认 false。
|
|
349
|
+
# en: Relay chain-of-thought to upstream on multi-turn tool calls (Chat: reasoning_content; Responses: output items). Default false.
|
|
350
|
+
reasoning_content_replay = false
|
|
351
|
+
# zh: 是否将所有 system 提示词合并注入第一条 user 消息(适配不支持 system role 的模型)。默认 false。
|
|
352
|
+
# en: Merge all system prompts into the first user message (for models without system role). Default false.
|
|
353
|
+
system_prompt_as_user = false
|
|
314
354
|
# zh: Responses API 的 tool_choice 兼容模式。
|
|
315
355
|
# en: Responses API tool_choice compatibility mode.
|
|
316
356
|
responses_tool_choice_compat = false
|
|
@@ -340,6 +380,10 @@ model_name = ""
|
|
|
340
380
|
# zh: 可选限制:最大生成 tokens。
|
|
341
381
|
# en: Optional limit: max generation tokens.
|
|
342
382
|
max_tokens = 4096
|
|
383
|
+
|
|
384
|
+
# zh: 模型上下文窗口上限(token),用于 /summary 分块与 Prompt 预算;须与上游模型能力一致。
|
|
385
|
+
# en: Model context window cap (tokens) for /summary chunking and prompt budgeting; must match upstream capability.
|
|
386
|
+
context_window_tokens = 32768
|
|
343
387
|
# zh: 队列发车间隔(秒,0 表示立即发车)。
|
|
344
388
|
# en: Queue interval (seconds; 0 dispatches immediately).
|
|
345
389
|
queue_interval_seconds = 1.0
|
|
@@ -364,9 +408,15 @@ thinking_include_budget = true
|
|
|
364
408
|
# zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
|
|
365
409
|
# en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
|
|
366
410
|
reasoning_effort_style = "openai"
|
|
367
|
-
# zh:
|
|
368
|
-
# en: Thinking tool-call compatibility:
|
|
411
|
+
# zh: 思维链工具调用兼容:多轮工具调用时在本地历史回填 reasoning_content(日志/回放),不向上游续传。
|
|
412
|
+
# en: Thinking tool-call compatibility: locally store reasoning_content in history for multi-turn tool calls (logging/replay), not upstream replay.
|
|
369
413
|
thinking_tool_call_compat = true
|
|
414
|
+
# zh: 多轮工具调用时是否将 CoT 续传给上游(Chat: reasoning_content;Responses: output items)。默认 false。
|
|
415
|
+
# en: Relay chain-of-thought to upstream on multi-turn tool calls (Chat: reasoning_content; Responses: output items). Default false.
|
|
416
|
+
reasoning_content_replay = false
|
|
417
|
+
# zh: 是否将所有 system 提示词合并注入第一条 user 消息(适配不支持 system role 的模型)。默认 false。
|
|
418
|
+
# en: Merge all system prompts into the first user message (for models without system role). Default false.
|
|
419
|
+
system_prompt_as_user = false
|
|
370
420
|
# zh: Responses API 的 tool_choice 兼容模式:仅在关闭时请求仍返回 500、怀疑上游不兼容对象型 tool_choice 时再尝试开启;开启后上报为 "required" 并只保留目标工具。当前已在 new-api v0.11.4-alpha.3 发现该问题。默认关闭。
|
|
371
421
|
# en: Responses API tool_choice compatibility mode: only try enabling this when requests still return 500 with the default setting and you suspect the upstream does not support object-style tool_choice; it sends "required" and keeps only the selected tool. This issue is currently observed on new-api v0.11.4-alpha.3. Disabled by default.
|
|
372
422
|
responses_tool_choice_compat = false
|
|
@@ -412,6 +462,10 @@ model_name = ""
|
|
|
412
462
|
# zh: 可选限制:最大生成 tokens。
|
|
413
463
|
# en: Optional limit: max generation tokens.
|
|
414
464
|
max_tokens = 4096
|
|
465
|
+
|
|
466
|
+
# zh: 模型上下文窗口上限(token),用于 /summary 分块与 Prompt 预算;须与上游模型能力一致。
|
|
467
|
+
# en: Model context window cap (tokens) for /summary chunking and prompt budgeting; must match upstream capability.
|
|
468
|
+
context_window_tokens = 32768
|
|
415
469
|
# zh: 队列发车间隔(秒,0 表示立即发车)。
|
|
416
470
|
# en: Queue interval (seconds; 0 dispatches immediately).
|
|
417
471
|
queue_interval_seconds = 1.0
|
|
@@ -436,9 +490,15 @@ thinking_include_budget = true
|
|
|
436
490
|
# zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
|
|
437
491
|
# en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
|
|
438
492
|
reasoning_effort_style = "openai"
|
|
439
|
-
# zh:
|
|
440
|
-
# en: Thinking tool-call compatibility:
|
|
493
|
+
# zh: 思维链工具调用兼容:多轮工具调用时在本地历史回填 reasoning_content(日志/回放),不向上游续传。
|
|
494
|
+
# en: Thinking tool-call compatibility: locally store reasoning_content in history for multi-turn tool calls (logging/replay), not upstream replay.
|
|
441
495
|
thinking_tool_call_compat = true
|
|
496
|
+
# zh: 多轮工具调用时是否将 CoT 续传给上游(Chat: reasoning_content;Responses: output items)。默认 false。
|
|
497
|
+
# en: Relay chain-of-thought to upstream on multi-turn tool calls (Chat: reasoning_content; Responses: output items). Default false.
|
|
498
|
+
reasoning_content_replay = false
|
|
499
|
+
# zh: 是否将所有 system 提示词合并注入第一条 user 消息(适配不支持 system role 的模型)。默认 false。
|
|
500
|
+
# en: Merge all system prompts into the first user message (for models without system role). Default false.
|
|
501
|
+
system_prompt_as_user = false
|
|
442
502
|
# zh: Responses API 的 tool_choice 兼容模式:仅在关闭时请求仍返回 500、怀疑上游不兼容对象型 tool_choice 时再尝试开启;开启后上报为 "required" 并只保留目标工具。当前已在 new-api v0.11.4-alpha.3 发现该问题。默认关闭。
|
|
443
503
|
# en: Responses API tool_choice compatibility mode: only try enabling this when requests still return 500 with the default setting and you suspect the upstream does not support object-style tool_choice; it sends "required" and keeps only the selected tool. This issue is currently observed on new-api v0.11.4-alpha.3. Disabled by default.
|
|
444
504
|
responses_tool_choice_compat = false
|
|
@@ -456,8 +516,8 @@ stream_enabled = false
|
|
|
456
516
|
# en: Extra request-body params (optional), e.g. temperature or vendor-specific fields.
|
|
457
517
|
[models.historian.request_params]
|
|
458
518
|
|
|
459
|
-
# zh: 消息总结模型配置(/summary /sum 专用;未配置时回退到 agent
|
|
460
|
-
# en: Message-summary model config (used by /summary and
|
|
519
|
+
# zh: 消息总结模型配置(/summary /sum 与 SummaryService 专用;未配置时回退到 agent 模型;主 AI 调用 summary_agent 不使用此段配置)。
|
|
520
|
+
# en: Message-summary model config (used by /summary, /sum, and SummaryService; falls back to the agent model when unset; summary_agent invoked by the main AI does not use this section).
|
|
461
521
|
[models.summary]
|
|
462
522
|
# zh: OpenAI-compatible 基址 URL,例如 https://api.openai.com/v1(legacy "/chat/completions" 已弃用但仍兼容)。
|
|
463
523
|
# en: OpenAI-compatible base URL, e.g. https://api.openai.com/v1. Note: legacy "/chat/completions" is deprecated but still supported.
|
|
@@ -471,6 +531,10 @@ model_name = ""
|
|
|
471
531
|
# zh: 可选限制:最大生成 tokens。
|
|
472
532
|
# en: Optional limit: max generation tokens.
|
|
473
533
|
max_tokens = 4096
|
|
534
|
+
|
|
535
|
+
# zh: 模型上下文窗口上限(token),用于 /summary 分块与 Prompt 预算;须与上游模型能力一致。
|
|
536
|
+
# en: Model context window cap (tokens) for /summary chunking and prompt budgeting; must match upstream capability.
|
|
537
|
+
context_window_tokens = 32768
|
|
474
538
|
# zh: 队列发车间隔(秒,0 表示立即发车)。
|
|
475
539
|
# en: Queue interval (seconds; 0 dispatches immediately).
|
|
476
540
|
queue_interval_seconds = 1.0
|
|
@@ -495,9 +559,15 @@ thinking_include_budget = true
|
|
|
495
559
|
# zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
|
|
496
560
|
# en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
|
|
497
561
|
reasoning_effort_style = "openai"
|
|
498
|
-
# zh:
|
|
499
|
-
# en: Thinking tool-call compatibility:
|
|
562
|
+
# zh: 思维链工具调用兼容:多轮工具调用时在本地历史回填 reasoning_content(日志/回放),不向上游续传。
|
|
563
|
+
# en: Thinking tool-call compatibility: locally store reasoning_content in history for multi-turn tool calls (logging/replay), not upstream replay.
|
|
500
564
|
thinking_tool_call_compat = true
|
|
565
|
+
# zh: 多轮工具调用时是否将 CoT 续传给上游(Chat: reasoning_content;Responses: output items)。默认 false。
|
|
566
|
+
# en: Relay chain-of-thought to upstream on multi-turn tool calls (Chat: reasoning_content; Responses: output items). Default false.
|
|
567
|
+
reasoning_content_replay = false
|
|
568
|
+
# zh: 是否将所有 system 提示词合并注入第一条 user 消息(适配不支持 system role 的模型)。默认 false。
|
|
569
|
+
# en: Merge all system prompts into the first user message (for models without system role). Default false.
|
|
570
|
+
system_prompt_as_user = false
|
|
501
571
|
# zh: Responses API 的 tool_choice 兼容模式:仅在关闭时请求仍返回 500、怀疑上游不兼容对象型 tool_choice 时再尝试开启;开启后上报为 "required" 并只保留目标工具。默认关闭。
|
|
502
572
|
# en: Responses API tool_choice compatibility mode: only try enabling this when requests still return 500 with the default setting and you suspect the upstream does not support object-style tool_choice; it sends "required" and keeps only the selected tool. Disabled by default.
|
|
503
573
|
responses_tool_choice_compat = false
|
|
@@ -530,6 +600,10 @@ model_name = ""
|
|
|
530
600
|
# zh: 可选限制:最大生成 tokens。
|
|
531
601
|
# en: Optional limit: max generation tokens.
|
|
532
602
|
max_tokens = 8192
|
|
603
|
+
|
|
604
|
+
# zh: 模型上下文窗口上限(token),用于 /summary 分块与 Prompt 预算;须与上游模型能力一致。
|
|
605
|
+
# en: Model context window cap (tokens) for /summary chunking and prompt budgeting; must match upstream capability.
|
|
606
|
+
context_window_tokens = 32768
|
|
533
607
|
# zh: 队列发车间隔(秒,0 表示立即发车)。
|
|
534
608
|
# en: Queue interval (seconds; 0 dispatches immediately).
|
|
535
609
|
queue_interval_seconds = 1.0
|
|
@@ -574,6 +648,10 @@ api_key = ""
|
|
|
574
648
|
# zh: Embedding 模型名称。
|
|
575
649
|
# en: Embedding model name.
|
|
576
650
|
model_name = ""
|
|
651
|
+
|
|
652
|
+
# zh: 模型上下文窗口上限(token,可选);嵌入/重排场景通常保持默认即可。
|
|
653
|
+
# en: Model context window cap (tokens, optional); embedding/rerank can usually keep the default.
|
|
654
|
+
context_window_tokens = 8192
|
|
577
655
|
# zh: 队列发车间隔(秒,0 表示立即发车)。
|
|
578
656
|
# en: Queue interval (seconds; 0 dispatches immediately).
|
|
579
657
|
queue_interval_seconds = 0.0
|
|
@@ -603,6 +681,10 @@ api_key = ""
|
|
|
603
681
|
# zh: Rerank 模型名称。
|
|
604
682
|
# en: Rerank model name.
|
|
605
683
|
model_name = ""
|
|
684
|
+
|
|
685
|
+
# zh: 模型上下文窗口上限(token,可选);嵌入/重排场景通常保持默认即可。
|
|
686
|
+
# en: Model context window cap (tokens, optional); embedding/rerank can usually keep the default.
|
|
687
|
+
context_window_tokens = 8192
|
|
606
688
|
# zh: 队列发车间隔(秒,0 表示立即发车)。
|
|
607
689
|
# en: Queue interval (seconds; 0 dispatches immediately).
|
|
608
690
|
queue_interval_seconds = 0.0
|
|
@@ -812,11 +894,11 @@ filtered_result_limit = 200
|
|
|
812
894
|
# zh: 工具过滤搜索时扫描的最大消息条数。
|
|
813
895
|
# en: Max messages to scan when tools perform filtered searches.
|
|
814
896
|
search_scan_limit = 10000
|
|
815
|
-
# zh:
|
|
816
|
-
# en: Max messages
|
|
897
|
+
# zh: /summary 按条数拉取时的最大消息条数(可配置,无固定 500 上限;受 max_records 约束)。
|
|
898
|
+
# en: Max messages fetched per /summary count request (configurable; no fixed 500 cap; bounded by max_records).
|
|
817
899
|
summary_fetch_limit = 1000
|
|
818
|
-
# zh:
|
|
819
|
-
# en: Max messages
|
|
900
|
+
# zh: /summary 按时间范围查询时的最大扫描条数(可配置)。
|
|
901
|
+
# en: Max messages scanned for /summary time-range queries (configurable).
|
|
820
902
|
summary_time_fetch_limit = 5000
|
|
821
903
|
# zh: OneBot API 回退获取的最大消息条数。
|
|
822
904
|
# en: Max messages to fetch via OneBot API fallback.
|