Shell 工具 (run_shell_command
)
使用 run_shell_command
与底层系统交互、运行脚本或执行命令行操作。该工具在 Windows 上使用 cmd.exe /c
执行命令,在其他平台上使用 bash -c
执行。
参数
command
(string, 必需): 要执行的确切 shell 命令。description
(string, 可选): 命令用途的简要说明,将显示给用户。directory
(string, 可选): 执行命令的目录(相对于项目根目录)。
如何使用
该命令作为子进程执行,可以启动后台进程。工具返回详细的执行信息,包括标准输出、标准错误、退出代码等。
run_shell_command(command="你的命令", description="命令描述", directory="执行目录")
示例
列出当前目录的文件:
run_shell_command(command="ls -la")
在后台启动一个开发服务器:
run_shell_command(command="npm run dev &", description="在后台启动开发服务器")
命令限制
您可以在配置文件中使用 coreTools
和 excludeTools
来限制可执行的命令。
coreTools
: 白名单。例如,["run_shell_command(git)"]
只允许git
命令。excludeTools
: 黑名单。例如,["run_shell_command(rm)"]
将阻止rm
命令。
验证逻辑使用前缀匹配,并且黑名单(excludeTools
)的优先级高于白名单(coreTools
)。
安全说明
excludeTools
中的命令特定限制是基于简单的字符串匹配,可以轻松绕过。此功能不是安全机制,不应依赖它来安全地执行不受信任的代码。建议使用 coreTools
明确选择可以执行的命令。
同时,避免需要交互式用户输入的命令,因为这可能导致工具挂起。