# 工具与功能 ## 概述 工具是您的代理在对话中可以执行的操作。当代理需要浏览网页、运行命令、读取文件或控制设备时,它会使用工具。 Neotask 提供丰富的内置工具集,涵盖文件管理、代码执行、浏览器自动化、设备控制、消息传递、网页搜索等。 ## 文件操作 代理可以在其工作空间中读取、写入和编辑文件: - **Read** -- 读取文件内容 - **Write** -- 创建或覆盖文件 - **Edit** -- 对文件的特定部分进行精确编辑 - **Apply Patch** -- 应用多段统一差异进行复杂文件修改 ## 代码执行 代理可以使用可配置的隔离运行 shell 命令: - **Gateway 执行** -- 直接在托管 Gateway 的机器上运行命令 - **沙箱执行** -- 在具有资源限制的隔离 Docker 容器中运行命令 - **节点执行** -- 在连接的伴侣设备(macOS、Linux 节点)上运行命令 ### 执行功能 - 可配置的超时(默认 30 分钟) - 后台任务管理(列出、轮询、终止、清除) - 长时间运行命令自动后台化 - TTY 支持交互式程序 - 提升模式用于特权操作(仅 Gateway 主机) ### 审批工作流 敏感命令在执行前需要用户批准: - **允许列表** -- 仅预先批准的命令可执行 - **询问** -- 未知命令提示批准 - **完全** -- 无限制 ## 浏览器自动化 代理控制基于 Chromium 的完整浏览器(Chrome、Brave 或 Edge): ### 操作 - **导航** -- 打开 URL 并在页面间导航 - **交互** -- 点击、输入、悬停、拖拽、选择、填写表单 - **捕获** -- 截图、导出 PDF - **检查** -- 快照 DOM 或无障碍树 - **执行** -- 在页面上下文中运行 JavaScript - **上传** -- 向 Web 表单上传文件 - **管理** -- 处理对话框(警告、确认)、读取控制台输出 ### 浏览器配置 用于隔离账户的多个独立浏览器配置: - 每个配置有自己的 cookie、存储和历史 - 自动分配 CDP 端口用于编程控制 - 远程浏览器支持(连接到其他机器上的浏览器) ## 画布与 A2UI Agent-to-UI(A2UI)系统让代理在连接的设备上渲染交互式视觉内容: - **Present** -- 在设备画布上显示网页或自定义内容 - **Navigate** -- 控制画布窗口中显示的内容 - **Evaluate** -- 在画布上下文中执行 JavaScript - **Snapshot** -- 捕获当前显示的内容 - **A2UI Push** -- 向画布发送结构化 UI 更新(JSONL 负载) - **A2UI Reset** -- 清除画布状态 画布渲染可在 macOS(WebKit)、iOS(SwiftUI)、Android(Jetpack Compose)和 Web(WebChat)上使用。 ## 节点设备功能 通过连接的伴侣应用,代理可以: ### 摄像头 - **Snap** -- 拍照(前置或后置摄像头) - **Clip** -- 录制具有可配置时长和帧率的视频片段 ### 屏幕 - **Record** -- 捕获具有可配置时长和质量的屏幕录制 ### 位置 - **Get** -- 获取带精度选择的 GPS 坐标 ### 通知 - **Notify** -- 发送带标题、正文和优先级的原生 OS 通知 ### 系统命令 - **Run** -- 在节点设备上执行 shell 命令 - **Which** -- 检查节点上是否有某命令可用 ## 消息 代理可以在连接的频道上发送和管理消息: - **Send** -- 向任何连接的频道/收件人发送消息 - **Edit** -- 编辑之前发送的消息 - **React** -- 对消息添加反应 - **Thread** -- 创建话题并在其中回复 - **Poll** -- 在支持的平台上创建投票 - **Voice** -- 检查语音频道状态(Discord) ## Web - **Search** -- 通过 Brave Search API 进行网页搜索 - **Fetch** -- 获取网页并将 HTML 转换为 markdown/文本 ## 记忆与上下文 - **Memory Search** -- 对代理记忆文件进行向量相似性搜索 - **Memory Get** -- 按名称检索特定记忆文件 ## 会话管理 - **List Sessions** -- 查看跨代理的活跃会话 - **Session History** -- 获取任何会话的记录 - **Send to Session** -- 向其他代理会话发送消息 - **Spawn Sub-Agent** -- 启动隔离的子代理运行 - **List Agents** -- 查看可用代理 ## 自动化 - **Cron** -- 创建、编辑、运行和管理计划任务 - **Gateway** -- 重启 Gateway、应用配置更改、运行更新 ## 图像分析 代理可以使用配置的视觉模型分析图像 -- 描述内容、提取文字、识别对象并回答关于视觉内容的问题。 ## 工具组 工具按组组织以便于权限管理: | 组 | 工具 | |-------|-------| | **runtime** | exec、bash、process | | **fs** | read、write、edit、apply_patch | | **sessions** | sessions_list、sessions_history、sessions_send、sessions_spawn、session_status | | **memory** | memory_search、memory_get | | **web** | web_search、web_fetch | | **ui** | browser、canvas | | **automation** | cron、gateway | | **messaging** | message | | **nodes** | nodes |