Skip to content

Agent 工具

第 11 章:Agent 工具——AI 能调用哪些能力 ​

模型只负责决定下一步,真正的文件、网络或系统操作由工具执行。每个工具有固定参数、权限范围和返回结果。

11.1 在哪里查看和开关 ​

打开 设置 → AI Agent 工具:

  1. 用搜索框输入名称或用途;
  2. 查看工具说明;
  3. 打开或关闭单个工具;
  4. 注意页面上的依赖提示,例如 Termux 未授权、SSH 未配置;
  5. 带保护标记的工具有额外风险控制;
  6. 外部 MCP 工具也会出现在列表中。

新手不需要“全开”。只启用当前任务确实需要的功能,Root、Shizuku、发信、远程写入等不用时关闭。

11.2 审批和结果记录 ​

不同工具按风险采用不同规则:只读工具可能直接执行,写入、删除、命令、发信或远程变更通常有更严格确认。具体以实际审批弹窗为准。

每次调用后查看:

  • 工具名和参数;
  • 路径、服务器 ID 或账号 ID;
  • 成功/失败状态;
  • 命令退出码和 stdout/stderr;
  • 文件变更 diff;
  • 下载或远程操作的最终目标。

ok=true 只表示工具层完成,不一定代表业务目标达成。例如命令能启动但内部测试仍可能失败。

11.3 工作区文件工具 ​

工具用途
list_directory列出工作区目录
read_file读取文本文件
read_file_lines按真实行号分段读大文件
write_file新建或整体覆盖文本文件
edit_file按唯一原文或行号范围局部修改
append_file在文件末尾追加
create_folder新建目录
rename_move工作区内重命名或移动
delete_file_or_folder删除文件或允许删除的目录
search_files按文件名/路径搜索
get_file_info获取文件属性

路径通常相对工作区。当前对话没有选择工作区时,这组工具无法正常处理项目文件。

11.4 全局共享存储工具 ​

名称以 global_ 开头,对工作区外的 Android 共享存储执行列目录、读取、分段读取、写入、精确编辑、追加、新建、删除、移动和搜索。

它们的范围更大,写操作风险更高。审批时必须核对完整绝对路径。不能用它绕过 Android 权限,也不能读取其他 App 的私有数据。

11.5 下载和联网 ​

  • download_file:原生 HTTP/HTTPS 下载,支持重定向、Header、进度和可选 SHA-256;
  • web_search:搜索候选页面;
  • read_web_page:读取页面正文;
  • mark_web_sources:记录实际引用来源。

设置里的 联网搜索 页面可以维护网站黑名单。example.com 只精确拦截根域名;*.example.com 拦截子域名。要全部拦截,两个都添加。

搜索摘要只是线索,关键事实应打开原始页面核对。下载带授权 Header 时不要把参数展示给不可信页面。

11.6 命令和系统工具 ​

  • run_command:通过外部 Termux RunCommandService;
  • proot_command:在指定 Linux ID 的应用内 PRoot 环境执行;
  • execute_shell_command:通过 Shizuku Shell;
  • execute_root_command:通过自定义 su 命令获取 Root;
  • list_installed_apps:读取已安装应用信息;
  • get_device_hardware_info:获取设备硬件和系统信息。

命令工具不是聊天模拟器,参数会真的在设备执行。详细权限和安全示例见命令执行与PRoot Linux。

11.7 计划与追问 ​

  • ask_user:复杂任务出现关键歧义时暂停并向你追问;
  • set_todo_list:建立多步任务清单;
  • update_todo_item:更新待办状态;
  • manage_scheduled_tasks:创建、修改、启停或删除定时任务。

TODO 是过程可见性,不是实际定时器。定时执行必须使用定时任务功能。

11.8 会话与记忆 ​

  • search_conversation_history:搜索旧会话;
  • read_conversation_history:读取指定会话内容;
  • read_memories:列出记忆及 ID;
  • save_memory、update_memory、delete_memory:管理长期偏好。

旧聊天和记忆可能包含隐私。只在任务确实需要时读取,不要把密钥存进记忆。

11.9 远程工具 ​

SSH ​

list_ssh_servers 和 ssh_exec 用于列服务器及执行远程命令。

邮件 ​

列账号、列文件夹、列邮件、读正文、改状态、隔离下载附件、记录扫描结果、存草稿和发送邮件。发送每次必须单独确认。

WebDAV ​

列服务器、列目录、搜索、下载到工作区、从工作区上传。

FTP/FTPS/SFTP ​

列服务器、列目录、搜索、下载和上传。

所有远程工具都先确认服务器/账号 ID。具体配置见远程服务。

11.10 微型服务器、备份与配置管理 ​

  • get_mini_server_status:查看状态和地址;
  • read_mini_server_logs:读取请求及客户端错误;
  • manage_mini_server:保存配置、启动、重启或停止;
  • export_backup、import_backup:导出和恢复数据;
  • manage_app_config:管理 MCP、SSH、邮件、WebDAV、文件传输、Skills 和工具配置。

配置管理可能涉及凭据,优先在设置页手动填写。备份是否包含密钥必须明确选择。

11.11 Skills 工具 ​

  • 列出 Skill 文件;
  • 读取 SKILL.md 或内部参考文件;
  • 对话中强制选择本轮 Skill。

Skill 是操作说明,不会凭空增加 Android 权限。它要求调用高风险工具时,仍受工具开关和审批约束。

11.12 新手标准用法 ​

提出任务时说明目标、范围和禁止事项:

在当前工作区只读检查项目结构和 README,列出需要修改的文件。暂时不要写入、不要执行命令、不要访问工作区外路径。

同意方案后再说:

按刚才方案修改。每次写入前核对路径,完成后运行最相关的测试,并展示文件变更和测试结果。

11.13 常见问题 ​

AI 说没有工具 ​

到 Agent 工具页检查开关和依赖;SSH、MCP、邮箱等还需要先添加并启用配置。

工具路径越界 ​

工作区工具收到绝对共享存储路径,或路径试图离开工作区。重新选择工作区,或在明确授权下使用对应全局工具。

工具成功但结果不对 ​

查看结构化输出、退出码、stderr 和最终文件/远程状态。让 AI 做一次独立只读验证。

关闭工具后旧对话还能用吗 ​

关闭后模型不应再获得该工具;若界面仍显示旧记录,那只是历史调用卡片,不代表当前可用。


下一章:文件管理与代码编辑

AGPLv3