工具与功能
概述
工具是您的代理在对话中可以执行的操作。当代理需要浏览网页、运行命令、读取文件或控制设备时,它会使用工具。
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 |