feat: add 10 new tools + agent self-evolution system (31 tools total)
New tools (10): - code_execute: Python/JS sandbox execution - git_operation: Git read-only operations (log/diff/blame/status) - web_search: DuckDuckGo web search - pdf_generate: Markdown to PDF/HTML report generation - project_scaffold: Project template generator (fastapi/vue/react) - task_plan: Task decomposition and progress tracking - excel_process: Excel read/write with chart support - browser_use: Headless browser control (playwright) - docker_manage: Docker container management (read-only) - deploy_push: File deployment (copy/rsync) Self-evolution tools: - agent_create: Dynamically create specialized sub-agents at runtime - tool_register: Dynamically register HTTP tools at runtime Documentation: - Add 使用文档.md with full tool reference and project examples - Update 创建agent.md (19→31 tools, add self-evolution chapter) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -8,11 +8,11 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
_registered = False
|
||||
|
||||
_EXPECTED_BUILTIN = 19
|
||||
_EXPECTED_BUILTIN = 31
|
||||
|
||||
|
||||
def ensure_builtin_tools_registered() -> None:
|
||||
"""幂等:注册 file_write / system_info 等内置工具,供工作流 LLM 节点使用。"""
|
||||
"""幂等:注册所有内置工具,供工作流 LLM 节点使用。"""
|
||||
global _registered
|
||||
if _registered:
|
||||
return
|
||||
@@ -37,6 +37,18 @@ def ensure_builtin_tools_registered() -> None:
|
||||
url_parse_tool,
|
||||
regex_test_tool,
|
||||
agent_call_tool,
|
||||
code_execute_tool,
|
||||
git_operation_tool,
|
||||
web_search_tool,
|
||||
pdf_generate_tool,
|
||||
project_scaffold_tool,
|
||||
task_plan_tool,
|
||||
excel_process_tool,
|
||||
browser_use_tool,
|
||||
docker_manage_tool,
|
||||
deploy_push_tool,
|
||||
agent_create_tool,
|
||||
tool_register_tool,
|
||||
HTTP_REQUEST_SCHEMA,
|
||||
FILE_READ_SCHEMA,
|
||||
FILE_WRITE_SCHEMA,
|
||||
@@ -56,6 +68,18 @@ def ensure_builtin_tools_registered() -> None:
|
||||
URL_PARSE_SCHEMA,
|
||||
REGEX_TEST_SCHEMA,
|
||||
AGENT_CALL_SCHEMA,
|
||||
CODE_EXECUTE_SCHEMA,
|
||||
GIT_OPERATION_SCHEMA,
|
||||
WEB_SEARCH_SCHEMA,
|
||||
PDF_GENERATE_SCHEMA,
|
||||
PROJECT_SCAFFOLD_SCHEMA,
|
||||
TASK_PLAN_SCHEMA,
|
||||
EXCEL_PROCESS_SCHEMA,
|
||||
BROWSER_USE_SCHEMA,
|
||||
DOCKER_MANAGE_SCHEMA,
|
||||
DEPLOY_PUSH_SCHEMA,
|
||||
AGENT_CREATE_SCHEMA,
|
||||
TOOL_REGISTER_SCHEMA,
|
||||
)
|
||||
|
||||
tool_registry.register_builtin_tool("http_request", http_request_tool, HTTP_REQUEST_SCHEMA)
|
||||
@@ -77,6 +101,18 @@ def ensure_builtin_tools_registered() -> None:
|
||||
tool_registry.register_builtin_tool("url_parse", url_parse_tool, URL_PARSE_SCHEMA)
|
||||
tool_registry.register_builtin_tool("regex_test", regex_test_tool, REGEX_TEST_SCHEMA)
|
||||
tool_registry.register_builtin_tool("agent_call", agent_call_tool, AGENT_CALL_SCHEMA)
|
||||
tool_registry.register_builtin_tool("code_execute", code_execute_tool, CODE_EXECUTE_SCHEMA)
|
||||
tool_registry.register_builtin_tool("git_operation", git_operation_tool, GIT_OPERATION_SCHEMA)
|
||||
tool_registry.register_builtin_tool("web_search", web_search_tool, WEB_SEARCH_SCHEMA)
|
||||
tool_registry.register_builtin_tool("pdf_generate", pdf_generate_tool, PDF_GENERATE_SCHEMA)
|
||||
tool_registry.register_builtin_tool("project_scaffold", project_scaffold_tool, PROJECT_SCAFFOLD_SCHEMA)
|
||||
tool_registry.register_builtin_tool("task_plan", task_plan_tool, TASK_PLAN_SCHEMA)
|
||||
tool_registry.register_builtin_tool("excel_process", excel_process_tool, EXCEL_PROCESS_SCHEMA)
|
||||
tool_registry.register_builtin_tool("browser_use", browser_use_tool, BROWSER_USE_SCHEMA)
|
||||
tool_registry.register_builtin_tool("docker_manage", docker_manage_tool, DOCKER_MANAGE_SCHEMA)
|
||||
tool_registry.register_builtin_tool("deploy_push", deploy_push_tool, DEPLOY_PUSH_SCHEMA)
|
||||
tool_registry.register_builtin_tool("agent_create", agent_create_tool, AGENT_CREATE_SCHEMA)
|
||||
tool_registry.register_builtin_tool("tool_register", tool_register_tool, TOOL_REGISTER_SCHEMA)
|
||||
_registered = True
|
||||
|
||||
n = tool_registry.builtin_tool_count()
|
||||
|
||||
Reference in New Issue
Block a user