Undefined-bot 3.2.2__tar.gz → 3.2.5__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.2.2 → undefined_bot-3.2.5}/PKG-INFO +2 -4
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/README.md +1 -3
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/config.toml.example +84 -14
- undefined_bot-3.2.5/img/head.png +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/pyproject.toml +1 -1
- undefined_bot-3.2.5/res/prompts/naga_message_moderation.txt +26 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/__init__.py +1 -1
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/llm.py +33 -21
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/transports/__init__.py +6 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/transports/openai_transport.py +38 -8
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/api/app.py +546 -232
- undefined_bot-3.2.5/src/Undefined/api/naga_store.py +829 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/cognitive/historian.py +11 -50
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/config/hot_reload.py +5 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/config/loader.py +185 -5
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/config/models.py +6 -1
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/main.py +6 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/services/commands/registry.py +85 -13
- undefined_bot-3.2.5/src/Undefined/services/security.py +366 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/README.md +2 -2
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/help/handler.py +3 -0
- undefined_bot-3.2.5/src/Undefined/skills/commands/naga/README.md +63 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/naga/config.json +3 -2
- undefined_bot-3.2.5/src/Undefined/skills/commands/naga/handler.py +373 -0
- undefined_bot-3.2.5/src/Undefined/skills/commands/naga/policy.py +26 -0
- undefined_bot-3.2.5/src/Undefined/skills/commands/naga/scopes.json +4 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/queue_intervals.py +4 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/tool_calls.py +75 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/routes/_config.py +14 -3
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/config-form.js +64 -11
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/i18n.js +8 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/utils/config_sync.py +82 -2
- undefined_bot-3.2.2/img/head.jpg +0 -0
- undefined_bot-3.2.2/src/Undefined/api/naga_store.py +0 -245
- undefined_bot-3.2.2/src/Undefined/services/security.py +0 -155
- undefined_bot-3.2.2/src/Undefined/skills/agents/info_agent/callable.json +0 -4
- undefined_bot-3.2.2/src/Undefined/skills/commands/naga/handler.py +0 -481
- undefined_bot-3.2.2/src/Undefined/skills/commands/naga/scopes.json +0 -9
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/.gitignore +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/ARCHITECTURE.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/LICENSE +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/config/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/config/mcp.json.example +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/img/xlwy.jpg +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/IMPORTANT/each.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/agent_self_intro.txt +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/analyze_multimodal.txt +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/describe_image.txt +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/generate_title.txt +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/historian_profile_merge.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/historian_rewrite.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/injection_detector.txt +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/injection_response_agent.txt +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/merge_summaries.txt +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/stats_analysis.txt +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/summarize.txt +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/undefined.xml +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/res/prompts/undefined_nagaagent.xml +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/__main__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/client.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/http.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/model_selector.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/multimodal.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/parsing.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/prompts.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/retrieval.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/summaries.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/tokens.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/ai/tooling.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/api/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/bilibili/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/bilibili/downloader.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/bilibili/parser.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/bilibili/sender.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/bilibili/wbi.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/bilibili/wbi_request.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/cognitive/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/cognitive/job_queue.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/cognitive/profile_storage.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/cognitive/service.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/cognitive/vector_store.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/config/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/config/manager.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/context.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/context_resource_registry.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/end_summary_storage.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/faq.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/handlers.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/injection_response_agent.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/knowledge/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/knowledge/chunker.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/knowledge/embedder.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/knowledge/manager.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/knowledge/reranker.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/knowledge/runtime.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/knowledge/store.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/mcp/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/mcp/registry.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/memory.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/onebot.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/rate_limit.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/render.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/scheduled_task_storage.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/services/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/services/ai_coordinator.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/services/command.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/services/commands/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/services/commands/context.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/services/model_pool.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/services/queue_manager.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/agent_tool_registry.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/docker_utils.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/intro.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/mcp.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/prompt.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/copy/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/delete/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/diff/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/end/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/end/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/glob/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/grep/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/init_docker/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/read/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/read/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/run_bash_command/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/todo/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/tree/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/write/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/code_delivery_agent/tools/write/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/intro.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/prompt.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/ai_draw_one/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/horoscope/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/minecraft_skin/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/renjian/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/entertainment_agent/tools/wenchang_dijun/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/intro.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/prompt.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_code/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/analyze_multimodal/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/cleanup_temp/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/detect_file_type/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/download_file/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_archive/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_docx/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pdf/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_pptx/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/extract_xlsx/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/file_analysis_agent/tools/read_text_file/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/intro.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/prompt.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/baiduhot/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/baiduhot/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/base64/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/base64/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/bilibili_search/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/bilibili_user_info/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/douyinhot/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/douyinhot/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/gold_price/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/gold_price/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/hash/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/hash/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/history/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/history/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/net_check/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/net_check/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/qq_level_query/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/speed/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/speed/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/tcping/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/tcping/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/weather_query/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/weather_query/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/weibohot/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/weibohot/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/whois/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/info_agent/tools/whois/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/intro_generator.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/intro_utils.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/intro.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/mcp.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/prompt.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/glob/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/list_directory/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_file/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/read_naga_intro/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/naga_code_analysis_agent/tools/search_file_content/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/runner.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/callable.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/intro.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/mcp.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/prompt.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/tools/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/tools/crawl_webpage/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/tools/web_search/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/agents/web_agent/tools/web_search/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/anthropic_skills/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/anthropic_skills/loader.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/addadmin/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/addadmin/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/addadmin/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/bugfix/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/bugfix/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/bugfix/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/copyright/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/copyright/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/copyright/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/delfaq/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/delfaq/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/delfaq/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/help/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/help/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/lsadmin/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/lsadmin/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/lsadmin/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/lsfaq/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/lsfaq/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/lsfaq/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/rmadmin/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/rmadmin/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/rmadmin/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/searchfaq/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/searchfaq/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/searchfaq/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/stats/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/stats/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/stats/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/viewfaq/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/viewfaq/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/commands/viewfaq/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/http_client.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/http_config.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/registry.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/bilibili_video/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/bilibili_video/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/bilibili_video/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/end/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/end/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/end/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_current_time/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_current_time/callable.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_current_time/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_current_time/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_picture/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_picture/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_picture/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_user_info/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_user_info/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/get_user_info/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/knowledge_list/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/knowledge_list/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/knowledge_semantic_search/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/knowledge_semantic_search/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/knowledge_text_search/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/knowledge_text_search/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/python_interpreter/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/python_interpreter/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/python_interpreter/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/qq_like/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/qq_like/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/qq_like/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/task_progress/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/tools/task_progress/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/cognitive/get_profile/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/cognitive/get_profile/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/cognitive/search_events/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/cognitive/search_events/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/cognitive/search_profiles/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/cognitive/search_profiles/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/contacts/query_friends/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/contacts/query_friends/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/contacts/query_groups/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/contacts/query_groups/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/activity_trend/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/activity_trend/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/detect_inactive_risk/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/detect_inactive_risk/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/filter_members/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/filter_members/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/find_member/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/find_member/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_files/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_files/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_honor_info/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_honor_info/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_member_activity/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_member_activity/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_member_info/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_member_info/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_member_list/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_member_list/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_member_title/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/get_member_title/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/level_distribution/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/level_distribution/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/rank_members/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group/rank_members/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group_analysis/analyze_join_statistics/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group_analysis/analyze_join_statistics/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group_analysis/analyze_member_messages/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group_analysis/analyze_member_messages/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group_analysis/analyze_new_member_activity/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/group_analysis/analyze_new_member_activity/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/mcp/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/mcp/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/memory/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/memory/add/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/memory/add/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/memory/delete/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/memory/delete/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/memory/list/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/memory/list/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/memory/update/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/memory/update/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/get_forward_msg/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/get_forward_msg/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/get_messages_by_time/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/get_messages_by_time/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/get_recent_messages/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/get_recent_messages/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/list_emojis/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/list_emojis/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/lookup_emoji_id/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/react_message_emoji/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/react_message_emoji/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_group_sign/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_group_sign/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_message/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_message/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_poke/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_poke/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_private_message/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_private_message/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_text_file/callable.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_text_file/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_text_file/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_url_file/callable.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_url_file/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/messages/send_url_file/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/notices/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/notices/get/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/notices/get/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/notices/list/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/notices/list/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/notices/stats/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/notices/stats/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/render/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/render/render_html/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/render/render_html/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/render/render_latex/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/render/render_latex/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/render/render_markdown/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/render/render_markdown/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/scheduler/README.md +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/scheduler/create_schedule_task/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/scheduler/create_schedule_task/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/scheduler/delete_schedule_task/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/scheduler/delete_schedule_task/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/scheduler/list_schedule_tasks/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/scheduler/list_schedule_tasks/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/scheduler/update_schedule_task/config.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/skills/toolsets/scheduler/update_schedule_task/handler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/token_usage_storage.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/cache.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/common.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/cors.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/file_lock.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/group_metrics.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/history.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/io.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/logging.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/member_utils.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/message_utils.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/paths.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/qq_emoji.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/recent_messages.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/request_params.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/resources.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/scheduler.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/self_update.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/sender.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/time_utils.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/utils/xml.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/__main__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/app.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/core.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/routes/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/routes/_auth.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/routes/_bot.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/routes/_index.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/routes/_logs.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/routes/_runtime.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/routes/_shared.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/routes/_system.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/css/.stylelintrc.json +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/css/app.css +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/css/base.css +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/css/components.css +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/css/landing.css +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/css/responsive.css +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/css/style.css +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/css/variables.css +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/favicon.svg +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/api.js +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/auth.js +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/bot.js +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/log-view.js +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/logs.js +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/main.js +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/runtime.js +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/state.js +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/ui.js +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/static/js/vendor/marked.min.js +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/templates/index.html +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/utils/__init__.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/utils/comment.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/utils/config_io.py +0 -0
- {undefined_bot-3.2.2 → undefined_bot-3.2.5}/src/Undefined/webui/utils/toml_render.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Undefined-bot
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.5
|
|
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
|
|
@@ -79,7 +79,7 @@ Description-Content-Type: text/markdown
|
|
|
79
79
|
</p>
|
|
80
80
|
</td>
|
|
81
81
|
<td width="30%">
|
|
82
|
-
<img src="https://raw.githubusercontent.com/69gg/Undefined/main/img/head.
|
|
82
|
+
<img src="https://raw.githubusercontent.com/69gg/Undefined/main/img/head.png" width="100%" alt="Undefined" />
|
|
83
83
|
</td>
|
|
84
84
|
</tr>
|
|
85
85
|
</table>
|
|
@@ -92,8 +92,6 @@ Description-Content-Type: text/markdown
|
|
|
92
92
|
|
|
93
93
|
[点击添加官方实例QQ](https://qm.qq.com/q/cvjJoNysGA)
|
|
94
94
|
|
|
95
|
-
> **推荐上手方式**:优先运行 `uv run Undefined-webui`。它会先拉起管理控制台,你可以在浏览器里直接补配置、校验配置、查看日志、启动 Bot;后续也可以用桌面端或 Android App 连接这同一个管理入口,实现远程管理。
|
|
96
|
-
|
|
97
95
|
## ⚡ 核心特性
|
|
98
96
|
|
|
99
97
|
- **Skills 架构**:全新设计的技能系统,将基础工具(Tools)与智能代理(Agents)分层管理,支持自动发现与注册。
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
</p>
|
|
20
20
|
</td>
|
|
21
21
|
<td width="30%">
|
|
22
|
-
<img src="https://raw.githubusercontent.com/69gg/Undefined/main/img/head.
|
|
22
|
+
<img src="https://raw.githubusercontent.com/69gg/Undefined/main/img/head.png" width="100%" alt="Undefined" />
|
|
23
23
|
</td>
|
|
24
24
|
</tr>
|
|
25
25
|
</table>
|
|
@@ -32,8 +32,6 @@
|
|
|
32
32
|
|
|
33
33
|
[点击添加官方实例QQ](https://qm.qq.com/q/cvjJoNysGA)
|
|
34
34
|
|
|
35
|
-
> **推荐上手方式**:优先运行 `uv run Undefined-webui`。它会先拉起管理控制台,你可以在浏览器里直接补配置、校验配置、查看日志、启动 Bot;后续也可以用桌面端或 Android App 连接这同一个管理入口,实现远程管理。
|
|
36
|
-
|
|
37
35
|
## ⚡ 核心特性
|
|
38
36
|
|
|
39
37
|
- **Skills 架构**:全新设计的技能系统,将基础工具(Tools)与智能代理(Agents)分层管理,支持自动发现与注册。
|
|
@@ -95,8 +95,8 @@ api_mode = "chat_completions"
|
|
|
95
95
|
# zh: 是否启用 reasoning.effort。
|
|
96
96
|
# en: Enable reasoning.effort.
|
|
97
97
|
reasoning_enabled = false
|
|
98
|
-
# zh: reasoning
|
|
99
|
-
# en: reasoning
|
|
98
|
+
# zh: reasoning effort 档位。
|
|
99
|
+
# en: reasoning effort level.
|
|
100
100
|
reasoning_effort = "medium"
|
|
101
101
|
# zh: 是否启用 thinking(思维链)。
|
|
102
102
|
# en: Enable thinking (reasoning).
|
|
@@ -107,6 +107,9 @@ thinking_budget_tokens = 20000
|
|
|
107
107
|
# zh: 是否在请求中发送 budget_tokens(关闭后由提供商决定思维预算)。
|
|
108
108
|
# en: Whether to include budget_tokens in the request (if disabled, the provider decides the thinking budget).
|
|
109
109
|
thinking_include_budget = true
|
|
110
|
+
# zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
|
|
111
|
+
# en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
|
|
112
|
+
reasoning_effort_style = "openai"
|
|
110
113
|
# zh: 思维链工具调用兼容:启用后在多轮工具调用中回传 reasoning_content,避免部分模型返回 400。
|
|
111
114
|
# en: Thinking tool-call compatibility: pass back reasoning_content in multi-turn tool calls to avoid 400 errors from some models.
|
|
112
115
|
thinking_tool_call_compat = true
|
|
@@ -155,8 +158,8 @@ api_mode = "chat_completions"
|
|
|
155
158
|
# zh: 是否启用 reasoning.effort。
|
|
156
159
|
# en: Enable reasoning.effort.
|
|
157
160
|
reasoning_enabled = false
|
|
158
|
-
# zh: reasoning
|
|
159
|
-
# en: reasoning
|
|
161
|
+
# zh: reasoning effort 档位。
|
|
162
|
+
# en: reasoning effort level.
|
|
160
163
|
reasoning_effort = "medium"
|
|
161
164
|
# zh: 是否启用 thinking(思维链)。
|
|
162
165
|
# en: Enable thinking (reasoning).
|
|
@@ -167,6 +170,9 @@ thinking_budget_tokens = 20000
|
|
|
167
170
|
# zh: 是否在请求中发送 budget_tokens(关闭后由提供商决定思维预算)。
|
|
168
171
|
# en: Whether to include budget_tokens in the request (if disabled, the provider decides the thinking budget).
|
|
169
172
|
thinking_include_budget = true
|
|
173
|
+
# zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
|
|
174
|
+
# en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
|
|
175
|
+
reasoning_effort_style = "openai"
|
|
170
176
|
# zh: 思维链工具调用兼容:启用后在多轮工具调用中回传 reasoning_content,避免部分模型返回 400。
|
|
171
177
|
# en: Thinking tool-call compatibility: pass back reasoning_content in multi-turn tool calls to avoid 400 errors from some models.
|
|
172
178
|
thinking_tool_call_compat = true
|
|
@@ -208,8 +214,8 @@ api_mode = "chat_completions"
|
|
|
208
214
|
# zh: 是否启用 reasoning.effort。
|
|
209
215
|
# en: Enable reasoning.effort.
|
|
210
216
|
reasoning_enabled = false
|
|
211
|
-
# zh: reasoning
|
|
212
|
-
# en: reasoning
|
|
217
|
+
# zh: reasoning effort 档位。
|
|
218
|
+
# en: reasoning effort level.
|
|
213
219
|
reasoning_effort = "medium"
|
|
214
220
|
# zh: 是否启用 thinking(思维链)。
|
|
215
221
|
# en: Enable thinking (reasoning).
|
|
@@ -220,6 +226,9 @@ thinking_budget_tokens = 0
|
|
|
220
226
|
# zh: 是否在请求中发送 budget_tokens(关闭后由提供商决定思维预算)。
|
|
221
227
|
# en: Whether to include budget_tokens in the request (if disabled, the provider decides the thinking budget).
|
|
222
228
|
thinking_include_budget = true
|
|
229
|
+
# zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
|
|
230
|
+
# en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
|
|
231
|
+
reasoning_effort_style = "openai"
|
|
223
232
|
# zh: 思维链工具调用兼容:启用后在多轮工具调用中回传 reasoning_content,避免部分模型返回 400。
|
|
224
233
|
# en: Thinking tool-call compatibility: pass back reasoning_content in multi-turn tool calls to avoid 400 errors from some models.
|
|
225
234
|
thinking_tool_call_compat = true
|
|
@@ -234,6 +243,61 @@ responses_force_stateless_replay = false
|
|
|
234
243
|
# en: Extra request-body params (optional), e.g. temperature or vendor-specific fields.
|
|
235
244
|
[models.security.request_params]
|
|
236
245
|
|
|
246
|
+
# zh: Naga 外发消息审核模型配置(仅用于 Naga 通过 Runtime API 发消息前的内容审核)。
|
|
247
|
+
# zh: 若无必要可不填写;未配置时回退到 [models.security]。
|
|
248
|
+
# en: Naga outbound moderation model config (used only before Naga sends messages through the Runtime API).
|
|
249
|
+
# en: Optional; falls back to [models.security] when omitted.
|
|
250
|
+
[models.naga]
|
|
251
|
+
# zh: OpenAI-compatible 基址 URL,例如 https://api.openai.com/v1(legacy "/chat/completions" 已弃用但仍兼容)。
|
|
252
|
+
# en: OpenAI-compatible base URL, e.g. https://api.openai.com/v1. Note: legacy "/chat/completions" is deprecated but still supported.
|
|
253
|
+
api_url = ""
|
|
254
|
+
# zh: Naga 审核模型 API Key。
|
|
255
|
+
# en: Naga moderation model API key.
|
|
256
|
+
api_key = ""
|
|
257
|
+
# zh: Naga 审核模型名称。
|
|
258
|
+
# en: Naga moderation model name.
|
|
259
|
+
model_name = ""
|
|
260
|
+
# zh: 可选限制:最大生成 tokens。
|
|
261
|
+
# en: Optional limit: max generation tokens.
|
|
262
|
+
max_tokens = 160
|
|
263
|
+
# zh: 队列发车间隔(秒)。
|
|
264
|
+
# en: Queue interval (seconds).
|
|
265
|
+
queue_interval_seconds = 1.0
|
|
266
|
+
# zh: API 模式:传统 chat.completions 或新版 responses。
|
|
267
|
+
# en: API mode: classic chat.completions or the newer responses API.
|
|
268
|
+
api_mode = "chat_completions"
|
|
269
|
+
# zh: 是否启用 reasoning.effort。
|
|
270
|
+
# en: Enable reasoning.effort.
|
|
271
|
+
reasoning_enabled = false
|
|
272
|
+
# zh: reasoning effort 档位。
|
|
273
|
+
# en: reasoning effort level.
|
|
274
|
+
reasoning_effort = "medium"
|
|
275
|
+
# zh: 是否启用 thinking(思维链)。
|
|
276
|
+
# en: Enable thinking (reasoning).
|
|
277
|
+
thinking_enabled = false
|
|
278
|
+
# zh: thinking 预算 tokens。
|
|
279
|
+
# en: Thinking-budget tokens.
|
|
280
|
+
thinking_budget_tokens = 0
|
|
281
|
+
# zh: 是否在请求中发送 budget_tokens(关闭后由提供商决定思维预算)。
|
|
282
|
+
# en: Whether to include budget_tokens in the request (if disabled, the provider decides the thinking budget).
|
|
283
|
+
thinking_include_budget = true
|
|
284
|
+
# zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
|
|
285
|
+
# en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
|
|
286
|
+
reasoning_effort_style = "openai"
|
|
287
|
+
# zh: 思维链工具调用兼容:启用后在多轮工具调用中回传 reasoning_content,避免部分模型返回 400。
|
|
288
|
+
# en: Thinking tool-call compatibility: pass back reasoning_content in multi-turn tool calls to avoid 400 errors from some models.
|
|
289
|
+
thinking_tool_call_compat = true
|
|
290
|
+
# zh: Responses API 的 tool_choice 兼容模式。
|
|
291
|
+
# en: Responses API tool_choice compatibility mode.
|
|
292
|
+
responses_tool_choice_compat = false
|
|
293
|
+
# zh: Responses API 续轮强制降级。
|
|
294
|
+
# en: Responses API force stateless replay.
|
|
295
|
+
responses_force_stateless_replay = false
|
|
296
|
+
|
|
297
|
+
# zh: 额外请求体参数(可选),可用于 temperature 或供应商私有参数。
|
|
298
|
+
# en: Extra request-body params (optional), e.g. temperature or vendor-specific fields.
|
|
299
|
+
[models.naga.request_params]
|
|
300
|
+
|
|
237
301
|
# zh: Agent 模型配置(用于执行 agents)。
|
|
238
302
|
# en: Agent model config (used to run agents).
|
|
239
303
|
[models.agent]
|
|
@@ -258,8 +322,8 @@ api_mode = "chat_completions"
|
|
|
258
322
|
# zh: 是否启用 reasoning.effort。
|
|
259
323
|
# en: Enable reasoning.effort.
|
|
260
324
|
reasoning_enabled = false
|
|
261
|
-
# zh: reasoning
|
|
262
|
-
# en: reasoning
|
|
325
|
+
# zh: reasoning effort 档位。
|
|
326
|
+
# en: reasoning effort level.
|
|
263
327
|
reasoning_effort = "medium"
|
|
264
328
|
# zh: 是否启用 thinking(思维链)。
|
|
265
329
|
# en: Enable thinking (reasoning).
|
|
@@ -270,6 +334,9 @@ thinking_budget_tokens = 0
|
|
|
270
334
|
# zh: 是否在请求中发送 budget_tokens(关闭后由提供商决定思维预算)。
|
|
271
335
|
# en: Whether to include budget_tokens in the request (if disabled, the provider decides the thinking budget).
|
|
272
336
|
thinking_include_budget = true
|
|
337
|
+
# zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
|
|
338
|
+
# en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
|
|
339
|
+
reasoning_effort_style = "openai"
|
|
273
340
|
# zh: 思维链工具调用兼容:启用后在多轮工具调用中回传 reasoning_content,避免部分模型返回 400。
|
|
274
341
|
# en: Thinking tool-call compatibility: pass back reasoning_content in multi-turn tool calls to avoid 400 errors from some models.
|
|
275
342
|
thinking_tool_call_compat = true
|
|
@@ -321,8 +388,8 @@ api_mode = "chat_completions"
|
|
|
321
388
|
# zh: 是否启用 reasoning.effort。
|
|
322
389
|
# en: Enable reasoning.effort.
|
|
323
390
|
reasoning_enabled = false
|
|
324
|
-
# zh: reasoning
|
|
325
|
-
# en: reasoning
|
|
391
|
+
# zh: reasoning effort 档位。
|
|
392
|
+
# en: reasoning effort level.
|
|
326
393
|
reasoning_effort = "medium"
|
|
327
394
|
# zh: 是否启用 thinking(思维链)。
|
|
328
395
|
# en: Enable thinking (reasoning).
|
|
@@ -333,6 +400,9 @@ thinking_budget_tokens = 0
|
|
|
333
400
|
# zh: 是否在请求中发送 budget_tokens(关闭后由提供商决定思维预算)。
|
|
334
401
|
# en: Whether to include budget_tokens in the request (if disabled, the provider decides the thinking budget).
|
|
335
402
|
thinking_include_budget = true
|
|
403
|
+
# zh: reasoning effort 传参风格:openai(reasoning.effort)/ anthropic(output_config.effort)。
|
|
404
|
+
# en: Reasoning effort wire format: openai (reasoning.effort) / anthropic (output_config.effort).
|
|
405
|
+
reasoning_effort_style = "openai"
|
|
336
406
|
# zh: 思维链工具调用兼容:启用后在多轮工具调用中回传 reasoning_content,避免部分模型返回 400。
|
|
337
407
|
# en: Thinking tool-call compatibility: pass back reasoning_content in multi-turn tool calls to avoid 400 errors from some models.
|
|
338
408
|
thinking_tool_call_compat = true
|
|
@@ -871,9 +941,9 @@ job_max_retries = 3
|
|
|
871
941
|
# en: To get NagaAgent answering without external callbacks, only enable nagaagent_mode_enabled.
|
|
872
942
|
# en: ⚠️ Advanced feature for NagaAgent integration. Not recommended for regular users.
|
|
873
943
|
[naga]
|
|
874
|
-
# zh:
|
|
944
|
+
# zh: 是否启用外部网关集成(/naga bind/unbind、远端绑定回调、消息发送、解绑 API)。
|
|
875
945
|
# zh: 需同时开启 [features].nagaagent_mode_enabled 才生效。
|
|
876
|
-
# en: Enable external gateway integration (
|
|
946
|
+
# en: Enable external gateway integration (/naga bind/unbind, bind callback, message send, unbind API).
|
|
877
947
|
# en: Requires [features].nagaagent_mode_enabled = true to take effect.
|
|
878
948
|
enabled = false
|
|
879
949
|
# zh: Naga 服务器 API 地址。
|
|
@@ -882,6 +952,6 @@ api_url = ""
|
|
|
882
952
|
# zh: 双方共享密钥(Undefined ↔ Naga 身份验证)。
|
|
883
953
|
# en: Shared secret key for authentication between Undefined and Naga.
|
|
884
954
|
api_key = ""
|
|
885
|
-
# zh: Naga
|
|
886
|
-
# en:
|
|
955
|
+
# zh: Naga 白名单群:/naga 在这些群中才可见;绑定和群聊投递也仅限这些群。
|
|
956
|
+
# en: Naga allowlisted groups: /naga is only visible here, and binding/group delivery are restricted to these groups.
|
|
887
957
|
allowed_groups = []
|
|
Binary file
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
你是 Undefined 的 Naga 外发消息审核器。
|
|
2
|
+
|
|
3
|
+
任务:
|
|
4
|
+
1. 审核 Naga 准备发送到 QQ 的内容是否存在以下明确风险:
|
|
5
|
+
- pornography:涉黄、淫秽、性交易、未成年人性暗示等
|
|
6
|
+
- politics_illegal:违法涉政、煽动违法、危害国家安全、鼓动暴力或颠覆等
|
|
7
|
+
- personal_privacy:明确泄露个人隐私,如手机号、住址、身份证号、银行卡号、真实姓名+敏感联系方式等
|
|
8
|
+
2. 输入里同时提供了:
|
|
9
|
+
- raw:原始内容
|
|
10
|
+
- plain_text:去渲染/去标签后的纯文本视图
|
|
11
|
+
你必须同时判断这两种视图下的风险,尤其要检查“未渲染直接发送时”的安全风险。
|
|
12
|
+
3. 只有在风险明确成立时才输出 block。无法确认、语义正常、只是普通讨论时输出 allow。
|
|
13
|
+
|
|
14
|
+
输出要求:
|
|
15
|
+
- 必须调用提供的函数工具 `submit_naga_moderation_result`
|
|
16
|
+
- 不要把 JSON 写在正文里
|
|
17
|
+
- 不要输出 Markdown,不要解释,不要加代码块
|
|
18
|
+
- 通过函数参数提交:
|
|
19
|
+
- `decision`: `allow` 或 `block`
|
|
20
|
+
- `categories`: 风险类别数组
|
|
21
|
+
- `reason`: 简短中文原因
|
|
22
|
+
|
|
23
|
+
规则:
|
|
24
|
+
- 若 `decision=allow`,则 `categories` 为空数组。
|
|
25
|
+
- 若 `decision=block`,则 `categories` 里至少包含一个上面的枚举值。
|
|
26
|
+
- 不要发明新字段,不要输出额外文本。
|
|
@@ -25,7 +25,9 @@ from Undefined.ai.transports import (
|
|
|
25
25
|
API_MODE_RESPONSES,
|
|
26
26
|
build_responses_request_body,
|
|
27
27
|
get_api_mode,
|
|
28
|
-
|
|
28
|
+
get_effort_payload,
|
|
29
|
+
get_effort_style,
|
|
30
|
+
get_thinking_payload,
|
|
29
31
|
normalize_responses_result,
|
|
30
32
|
)
|
|
31
33
|
from Undefined.ai.retrieval import RetrievalRequester
|
|
@@ -117,8 +119,10 @@ _CHAT_COMPLETIONS_RESERVED_FIELDS: frozenset[str] = (
|
|
|
117
119
|
"tool_choice",
|
|
118
120
|
"stream",
|
|
119
121
|
"stream_options",
|
|
122
|
+
"thinking",
|
|
120
123
|
"reasoning",
|
|
121
124
|
"reasoning_effort",
|
|
125
|
+
"output_config",
|
|
122
126
|
}
|
|
123
127
|
)
|
|
124
128
|
| _SDK_REQUEST_OPTION_FIELDS
|
|
@@ -139,6 +143,7 @@ _RESPONSES_RESERVED_FIELDS: frozenset[str] = (
|
|
|
139
143
|
"thinking",
|
|
140
144
|
"reasoning",
|
|
141
145
|
"reasoning_effort",
|
|
146
|
+
"output_config",
|
|
142
147
|
}
|
|
143
148
|
)
|
|
144
149
|
| _SDK_REQUEST_OPTION_FIELDS
|
|
@@ -870,6 +875,8 @@ def _build_effective_request_kwargs(
|
|
|
870
875
|
getattr(model_config, "request_params", {}),
|
|
871
876
|
overrides,
|
|
872
877
|
)
|
|
878
|
+
thinking_override = overrides["thinking"] if "thinking" in overrides else None
|
|
879
|
+
has_thinking_override = "thinking" in overrides
|
|
873
880
|
reserved_fields = (
|
|
874
881
|
_RESPONSES_RESERVED_FIELDS
|
|
875
882
|
if get_api_mode(model_config) == API_MODE_RESPONSES
|
|
@@ -879,11 +886,15 @@ def _build_effective_request_kwargs(
|
|
|
879
886
|
merged,
|
|
880
887
|
reserved_fields,
|
|
881
888
|
)
|
|
889
|
+
if has_thinking_override:
|
|
890
|
+
ignored.pop("thinking", None)
|
|
882
891
|
_warn_ignored_request_params(
|
|
883
892
|
call_type=call_type,
|
|
884
893
|
model_name=model_config.model_name,
|
|
885
894
|
ignored=ignored,
|
|
886
895
|
)
|
|
896
|
+
if has_thinking_override:
|
|
897
|
+
allowed["thinking"] = thinking_override
|
|
887
898
|
return allowed
|
|
888
899
|
|
|
889
900
|
|
|
@@ -1447,12 +1458,20 @@ def build_request_body(
|
|
|
1447
1458
|
"""构建 API 请求体。"""
|
|
1448
1459
|
api_mode = get_api_mode(model_config)
|
|
1449
1460
|
extra_kwargs: dict[str, Any] = dict(kwargs)
|
|
1450
|
-
|
|
1461
|
+
|
|
1462
|
+
if "thinking" in extra_kwargs:
|
|
1463
|
+
normalized = _normalize_thinking_override(
|
|
1464
|
+
extra_kwargs.get("thinking"), model_config
|
|
1465
|
+
)
|
|
1466
|
+
if normalized is None:
|
|
1467
|
+
extra_kwargs.pop("thinking", None)
|
|
1468
|
+
else:
|
|
1469
|
+
extra_kwargs["thinking"] = normalized
|
|
1451
1470
|
|
|
1452
1471
|
if api_mode == API_MODE_RESPONSES:
|
|
1453
|
-
extra_kwargs.pop("thinking", None)
|
|
1454
1472
|
extra_kwargs.pop("reasoning", None)
|
|
1455
1473
|
extra_kwargs.pop("reasoning_effort", None)
|
|
1474
|
+
extra_kwargs.pop("output_config", None)
|
|
1456
1475
|
return build_responses_request_body(
|
|
1457
1476
|
model_config,
|
|
1458
1477
|
messages,
|
|
@@ -1470,28 +1489,21 @@ def build_request_body(
|
|
|
1470
1489
|
"max_tokens": max_tokens,
|
|
1471
1490
|
}
|
|
1472
1491
|
|
|
1473
|
-
if "thinking" in extra_kwargs:
|
|
1474
|
-
normalized = _normalize_thinking_override(
|
|
1475
|
-
extra_kwargs.get("thinking"), model_config
|
|
1476
|
-
)
|
|
1477
|
-
if normalized is None:
|
|
1478
|
-
extra_kwargs.pop("thinking", None)
|
|
1479
|
-
else:
|
|
1480
|
-
extra_kwargs["thinking"] = normalized
|
|
1481
|
-
|
|
1482
1492
|
extra_kwargs.pop("reasoning", None)
|
|
1483
1493
|
extra_kwargs.pop("reasoning_effort", None)
|
|
1494
|
+
extra_kwargs.pop("output_config", None)
|
|
1484
1495
|
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
thinking_param["budget_tokens"] = getattr(
|
|
1489
|
-
model_config, "thinking_budget_tokens", 0
|
|
1490
|
-
)
|
|
1491
|
-
body["thinking"] = thinking_param
|
|
1496
|
+
thinking = get_thinking_payload(model_config)
|
|
1497
|
+
if thinking is not None:
|
|
1498
|
+
body["thinking"] = thinking
|
|
1492
1499
|
|
|
1493
|
-
|
|
1494
|
-
|
|
1500
|
+
effort_payload = get_effort_payload(model_config)
|
|
1501
|
+
if effort_payload is not None:
|
|
1502
|
+
style = get_effort_style(model_config)
|
|
1503
|
+
if style == "anthropic":
|
|
1504
|
+
body["output_config"] = effort_payload
|
|
1505
|
+
else:
|
|
1506
|
+
body["reasoning"] = effort_payload
|
|
1495
1507
|
|
|
1496
1508
|
if tools:
|
|
1497
1509
|
body["tools"] = tools
|
|
@@ -5,7 +5,10 @@ from .openai_transport import (
|
|
|
5
5
|
API_MODE_RESPONSES,
|
|
6
6
|
build_responses_request_body,
|
|
7
7
|
get_api_mode,
|
|
8
|
+
get_effort_payload,
|
|
9
|
+
get_effort_style,
|
|
8
10
|
get_reasoning_payload,
|
|
11
|
+
get_thinking_payload,
|
|
9
12
|
normalize_api_mode,
|
|
10
13
|
normalize_reasoning_effort,
|
|
11
14
|
normalize_responses_result,
|
|
@@ -16,7 +19,10 @@ __all__ = [
|
|
|
16
19
|
"API_MODE_RESPONSES",
|
|
17
20
|
"build_responses_request_body",
|
|
18
21
|
"get_api_mode",
|
|
22
|
+
"get_effort_payload",
|
|
23
|
+
"get_effort_style",
|
|
19
24
|
"get_reasoning_payload",
|
|
25
|
+
"get_thinking_payload",
|
|
20
26
|
"normalize_api_mode",
|
|
21
27
|
"normalize_reasoning_effort",
|
|
22
28
|
"normalize_responses_result",
|
|
@@ -6,7 +6,6 @@ from typing import Any
|
|
|
6
6
|
API_MODE_CHAT_COMPLETIONS = "chat_completions"
|
|
7
7
|
API_MODE_RESPONSES = "responses"
|
|
8
8
|
_VALID_API_MODES = {API_MODE_CHAT_COMPLETIONS, API_MODE_RESPONSES}
|
|
9
|
-
_VALID_REASONING_EFFORTS = {"none", "minimal", "low", "medium", "high", "xhigh"}
|
|
10
9
|
|
|
11
10
|
|
|
12
11
|
def normalize_api_mode(value: Any, default: str = API_MODE_CHAT_COMPLETIONS) -> str:
|
|
@@ -23,13 +22,28 @@ def get_api_mode(model_config: Any) -> str:
|
|
|
23
22
|
|
|
24
23
|
|
|
25
24
|
def normalize_reasoning_effort(value: Any, default: str = "medium") -> str:
|
|
26
|
-
|
|
27
|
-
if text not in _VALID_REASONING_EFFORTS:
|
|
28
|
-
return default
|
|
29
|
-
return text
|
|
25
|
+
return str(value or default).strip().lower()
|
|
30
26
|
|
|
31
27
|
|
|
32
28
|
def get_reasoning_payload(model_config: Any) -> dict[str, Any] | None:
|
|
29
|
+
return get_effort_payload(model_config)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
_VALID_REASONING_EFFORT_STYLES = {"openai", "anthropic"}
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def get_thinking_payload(model_config: Any) -> dict[str, Any] | None:
|
|
36
|
+
"""构建 thinking 请求参数,仅由 thinking_* 配置控制。"""
|
|
37
|
+
if not bool(getattr(model_config, "thinking_enabled", False)):
|
|
38
|
+
return None
|
|
39
|
+
param: dict[str, Any] = {"type": "enabled"}
|
|
40
|
+
if bool(getattr(model_config, "thinking_include_budget", True)):
|
|
41
|
+
param["budget_tokens"] = int(getattr(model_config, "thinking_budget_tokens", 0))
|
|
42
|
+
return param
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def get_effort_payload(model_config: Any) -> dict[str, Any] | None:
|
|
46
|
+
"""构建 effort 请求参数(仅在 reasoning_enabled 启用时生效)。"""
|
|
33
47
|
if not bool(getattr(model_config, "reasoning_enabled", False)):
|
|
34
48
|
return None
|
|
35
49
|
return {
|
|
@@ -39,6 +53,15 @@ def get_reasoning_payload(model_config: Any) -> dict[str, Any] | None:
|
|
|
39
53
|
}
|
|
40
54
|
|
|
41
55
|
|
|
56
|
+
def get_effort_style(model_config: Any) -> str:
|
|
57
|
+
style = (
|
|
58
|
+
str(getattr(model_config, "reasoning_effort_style", "openai") or "openai")
|
|
59
|
+
.strip()
|
|
60
|
+
.lower()
|
|
61
|
+
)
|
|
62
|
+
return style if style in _VALID_REASONING_EFFORT_STYLES else "openai"
|
|
63
|
+
|
|
64
|
+
|
|
42
65
|
def _stringify_content(value: Any) -> str:
|
|
43
66
|
if value is None:
|
|
44
67
|
return ""
|
|
@@ -334,9 +357,16 @@ def build_responses_request_body(
|
|
|
334
357
|
"model": getattr(model_config, "model_name"),
|
|
335
358
|
"max_output_tokens": max_tokens,
|
|
336
359
|
}
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
360
|
+
thinking = get_thinking_payload(model_config)
|
|
361
|
+
effort_payload = get_effort_payload(model_config)
|
|
362
|
+
if effort_payload is not None:
|
|
363
|
+
style = get_effort_style(model_config)
|
|
364
|
+
if style == "anthropic":
|
|
365
|
+
body["output_config"] = effort_payload
|
|
366
|
+
else:
|
|
367
|
+
body["reasoning"] = effort_payload
|
|
368
|
+
if thinking is not None:
|
|
369
|
+
body["thinking"] = thinking
|
|
340
370
|
if tools:
|
|
341
371
|
normalized_tools = _normalize_responses_tools(tools, internal_to_api)
|
|
342
372
|
normalized_tool_choice, selected_tool_name = _normalize_responses_tool_choice(
|