💻 Shell 命令执行
YingClaw 可以在工作空间中安全执行 Shell 命令,将 AI 的推理能力与系统操作直接打通。
支持的 Shell 环境
| 操作系统 | Shell 类型 | 说明 |
|---|---|---|
| Windows | PowerShell | 通过 powershell -NoProfile -NonInteractive -Command 执行 |
| macOS | zsh / bash | 默认使用 zsh |
| Linux | bash | 标准 GNU bash |
安全机制
YingClaw 内置多层安全防护,确保命令执行安全可控:
自动拦截的危险命令
以下类型的命令会被自动拦截,无法执行:
- 递归强制删除:
rm -rf、rd /s /q、rmdir /s /q - 磁盘格式化:
format、mkfs - 静默删除 C 盘:
del /f /q C:*、erase /f C: - 注册表修改:
reg add、reg delete - 子 Shell 注入:反引号
`、进程替换<(…)、>(…)
审批确认机制
对于中等风险的操作,可设置 approved: true 参数来显式授权执行。
使用场景
- 🔍 系统诊断:检查 CPU、内存、磁盘、网络状态
- 🏗️ 构建部署:执行编译、打包、部署脚本
- 📂 文件批量处理:批量重命名、格式转换、归档
- ✅ 环境检查:验证依赖、版本、配置是否正确
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
command | string | 是 | 要执行的 Shell 命令 |
approved | boolean | 否 | 设为 true 显式批准中高风险命令 |
使用示例
示例一:列出文件
> 列出当前目录下所有 .md 文件
YingClaw 执行:ls *.md(或 dir *.md)
示例二:查看系统信息
> 查看系统的 CPU 使用率和内存情况
YingClaw 执行对应平台的系统命令并返回结果。
示例三:运行脚本
> 运行 build.sh 构建脚本,需要审批
YingClaw 在执行前会请求确认,用户批准后执行。
执行限制
| 限制项 | 说明 |
|---|---|
| 超时时间 | 最长 300 秒,超时自动终止 |
| 输出截断 | 输出超过 1MB 时自动截断 |
| 工作空间隔离 | 命令在指定的工作空间目录内执行 |
| 管道支持 | 支持 |、&&、||、; 等操作符 |
| 重定向 | 支持 >、>>、< 等 I/O 重定向 |
注意事项
- 命令在工作空间目录内执行,不会影响系统关键路径
- 输出超过 1MB 会被截断,大输出建议重定向到文件
- 避免执行需要交互式输入的命令(如
vim、ssh等) - 使用管道时注意错误处理,避免静默失败
下一步
了解 Shell 执行后,继续学习 📄 文件操作 掌握文件读写能力。