接入入口
工具通常通过Agent.builder().tools(...) 传入。可以混用 BaseTool、Toolset 和 ADK Java 的 FunctionTool。
agent.close().blockingAwait(),让底层会话和连接按预期释放。
内置工具速览
Web Search 和 Web Fetch
WebSearchTool 适合单次搜索,ParallelWebSearchTool 适合把一个问题拆成多个查询并发执行。WebFetchTool 负责读取明确 URL 的正文内容,可以处理公开 HTML 和 PDF。
web_fetch 的参数包括 url、extract_mode 和 max_chars。extract_mode 默认为 markdown,也可以使用 text。工具会限制私网、回环地址、保留地址、重定向跳数和响应大小,适合读取公开资料,不适合访问需要登录的后台页面。
MCP Router
如果工具已经由平台统一注册到 MCP Router,可以直接把 Router 暴露为一个 Toolset。默认构造会读取环境变量,也可以显式传入 URL、API Key 和允许调用的工具名。McpRouterToolset.create() 会读取 TOOL_MCP_ROUTER_URL 和可选的 TOOL_MCP_ROUTER_API_KEY。如果配置了 API Key,客户端会为请求附加 Bearer 鉴权。
Skills
Skills 有两种常见接法。第一种是把 Skill Source 暴露成普通工具,让模型像调用其他工具一样调用技能。ExecuteSkillsTool,它会把 workflow_prompt 交给远端技能空间处理并等待结果。
InvokeSkillTool 和 PollSkillTool。模型先调用 invoke_skill 创建远端任务,再使用 poll_skill 根据 task_id 查询执行状态,适合耗时较长的审批、检索、生成类流程。
Code Sandbox
RunCodeTool 让模型在 AgentKit Code Sandbox 中执行代码,适合数据处理、临时代码验证和产物生成。工具参数包括 code、language 和可选的 timeout。
CodeSandboxToolset 接入。
SandboxClient。路径都以远端 /workspace 为根,客户端会拒绝路径穿越和不安全的绝对路径。
常用环境变量
自动工具
当 Agent 配置了知识库或长期记忆时,VeADK Java 会自动补充对应检索工具,例如loadKnowledgebase 和 loadMemory。当使用本地 Skills 且没有显式传入 SkillToolset 时,框架也会根据 Skills 配置准备对应工具。对于 skills_sandbox 模式,需要显式传入 ExecuteSkillsTool。