用途:为已获批的应用内 useAtlasChat UI 搭建名为 $ARGUMENTS 的 AtlasTool。若应用没有获批的 useAtlasChat,应改用 integrate-fusion-agent 实现 Fusion action。前置条件:已通过 integrate-atlas-chat 引入 vendored src/atlas-agent/ 与 @sinclair/typebox。
主要能力:客户端工具让 Atlas Agent 调用浏览器端逻辑,如图表、本地状态、UI 面板、导航。Agent 决定何时调用,应用执行并返回结果。流程为:Agent 返回 clientTool action;TypeBox 校验参数;execute() 在浏览器运行并返回 { output, details };output(字符串)回传给 Agent;details 可在 message.toolCalls 中供 UI 渲染。
使用方式:第一步先读代码库,找到调用 useAtlasChat 的文件(常为 src/App.tsx 或 chat hook)中传入 tools 的位置,并参考已有工具定义匹配命名约定。第二步用 @sinclair/typebox 的 Type 定义参数 schema,导出 AtlasTool 对象,包含 snake_case 的 name、描述用途与调用时机的 description、parameters 以及 execute。工具与每个参数都应加 description,Agent 会使用这些字符串。TypeBox 支持 String、Number、Boolean、Literal、Union、Array、Object、Optional 等。注意按工具文件位置调整 ./atlas-agent/... 路径。第三步把工具加入 useAtlasChat 的 tools 数组。第四步如需渲染结构化 details,可遍历 message.toolCalls(ToolCall[],按调用顺序含客户端与服务端调用),使用 tc.name、tc.output、tc.details。
限制:仅适用于已获批的应用内 useAtlasChat;EOS 侧边栏工具应改用 integrate-fusion-agent(createAgentAction)。其他收费、平台与效果信息暂未提供。