指南内置工具
shell_exec — 执行命令
在本地系统执行 shell 命令并返回标准输出、标准错误和退出码
在本地系统执行 shell 命令并返回标准输出、标准错误和退出码。
适用场景:让 AI 运行代码检查、查询系统信息、操作文件、执行 git 命令等。
参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
command | string | 是 | 要执行的 shell 命令 |
description | string | 是 | 向用户解释为什么执行此命令及预期效果 |
working_directory | string | 否 | 命令执行的工作目录(绝对路径),不指定则使用当前目录 |
安全机制
交互模式(TTY)下,AI Agent 每次执行命令前都会弹出确认提示,由你决定是否授权:
⚠️ 准备执行命令:
└ 描述: 检查当前目录下 Rust 文件的编码格式
└ 命令: file src/*.rs
? 是否确认执行?
▸ 1. 允许
0. 拒绝- 允许 — 按
Enter或1,命令将被执行 - 拒绝 — 按
0,命令被取消 Ctrl+C— 安全退出
非交互环境(管道、CI、重定向等):默认拒绝所有命令执行,这是安全设计。
约束与限制
| 限制项 | 值 |
|---|---|
| 执行超时 | 30 秒 |
| 输出最大长度 | 100,000 字符(stdout + stderr 合计) |
| Shell(Unix) | sh -c |
| Shell(Windows) | cmd.exe /C |
错误场景
| 错误类型 | 说明 |
|---|---|
| 超时 | 命令执行超过 30 秒 |
| 命令未找到 | Shell 无法找到指定的可执行文件 |
| 输出过大 | stdout + stderr 超过 100K 字符限制 |
| 用户拒绝 | 用户在确认提示中选择了"拒绝"或 Ctrl+C |
使用示例
zapmyco run '列出当前目录的文件'
zapmyco run '运行测试并显示结果'
zapmyco run --profile advanced '重构 src/cli.rs 中的重复代码,然后运行 cargo fmt'相关文档
- 内置工具目录 — 查看所有工具