跳转至

OpenClaw /exec 命令使用指南

创建时间:2026-03-15
用途:快速掌握 OpenClaw 中执行 shell 命令的两种方式


📋 概述

OpenClaw 提供两种使用 exec 的方式:

  1. Slash Command(用户直接使用) - /exec <shell 命令>
  2. AI 调用 exec 工具 - AI 在后台帮你执行

🔹 方式 1:Slash Command(推荐)

这是**你在聊天中直接输入**的命令,格式为 /exec <shell 命令>

基本用法

1
2
3
/exec pwd
/exec ls -la
/exec cat package.json

带参数的用法

# 设置工作目录
/exec --workdir=/home/admin/.openclaw/workspace git status

# 设置环境变量
/exec --env.NODE_ENV=production npm run build

# 设置超时(秒)
/exec --timeout=60 npm install

# 后台运行
/exec --background node server.js

# 使用 PTY(需要终端交互)
/exec --pty vim config.js

完整参数列表

参数 简写 说明
--workdir=<path> -w 工作目录
--env.<KEY>=<value> -e 环境变量
--timeout=<seconds> -t 超时秒数
--background -b 后台运行
--pty 伪终端模式
--yield-ms=<ms> 延迟后台毫秒数

📚 实际项目示例

示例 1:Git 操作

1
2
3
4
5
6
7
8
# 检查 git 状态
/exec --workdir=~/workspace git status

# 提交更改
/exec git add . && git commit -m '更新功能'

# 查看提交历史
/exec --workdir=./projects git log --oneline -5

示例 2:项目管理

1
2
3
4
5
6
7
8
# 安装依赖(设置超时)
/exec --timeout=120 npm install

# 运行构建
/exec npm run build

# 运行测试
/exec npm test -- --coverage

示例 3:系统监控

# 查看磁盘使用
/exec df -h

# 查看内存
/exec free -m

# 查看 CPU
/exec top -bn1 | head -20

# 查看进程
/exec ps aux | grep node

示例 4:文件操作

# 创建目录
/exec mkdir -p ./docs/backup

# 复制文件
/exec cp config.js config.backup.js

# 查找文件
/exec find . -name '*.md' -type f

# 统计代码行数
/exec find . -name '*.js' | xargs wc -l

示例 5:Docker 操作

1
2
3
4
5
6
7
8
# 构建镜像
/exec --timeout=300 docker build -t myapp:latest .

# 运行容器
/exec --background docker run -d -p 3000:3000 myapp:latest

# 查看日志
/exec docker logs --tail 50 myapp:latest

🔹 方式 2:AI 调用 exec 工具

这是**AI 在后台调用**的 exec 工具,用于帮你执行复杂任务。

使用场景

当你说: - "帮我把项目构建一下" - "查看当前目录的文件" - "运行测试并告诉我结果"

AI 会自动调用 exec 工具执行命令,然后处理后给你总结。

示例

你:帮我把项目构建一下,如果失败告诉我原因

AI:(自动调用 exec 工具)
exec({
  command: "npm run build",
  workdir: "/home/admin/.openclaw/workspace/projects/zhishou",
  timeout: 120
})

然后给你总结构建结果...

📊 两种方式对比

特性 Slash Command (/exec) AI 调用 (exec 工具)
使用者 你(用户) 我(AI)
格式 /exec <命令> [参数] 自动调用
参数 命令行参数 JavaScript 对象
输出 直接显示在聊天 AI 处理后告诉你
适用场景 快速执行简单命令 复杂任务、多步骤

💡 推荐用法

你直接使用 /exec(快速、直接)

1
2
3
4
5
6
7
8
# 快速检查
/exec git status
/exec node --version
/exec df -h

# 带参数
/exec --timeout=60 npm install
/exec --workdir=./projects git log --oneline -5

让 AI 调用 exec(复杂任务)

你:帮我把项目构建一下,如果失败告诉我原因
AI:(自动调用 exec 工具,处理输出,给你总结)

⚠️ 注意事项

安全限制

1
2
3
4
5
# ❌ 避免危险命令
/exec rm -rf /  # 禁止!

# ✅ 使用安全替代
/exec trash file.txt  # 可恢复删除

输出限制

  • 命令输出默认限制 50KB2000 行
  • 超长输出会被截断
  • 使用 head/tail 限制输出:
/exec cat large.log | tail -100

超时设置

1
2
3
# 默认超时:10 秒
# 长命令必须设置超时
/exec --timeout=120 npm install

🔍 调试技巧

1. 查看命令执行日志

1
2
3
4
5
# 先测试命令
/exec echo '测试'

# 查看完整输出
/exec your-command 2>&1 | tee /tmp/debug.log

2. 处理失败

1
2
3
# 命令失败会返回错误信息
# 添加错误处理
/exec npm run build || echo '构建失败'

3. 分步执行复杂命令

1
2
3
4
5
6
7
# ❌ 不要一次性执行太多
/exec npm install && npm run build && npm test && npm deploy

# ✅ 分步执行
/exec npm install
# 等待完成后再执行下一步
/exec npm run build

📋 参数速查表

参数 类型 说明 示例
command string 必填 - Shell 命令 "ls -la"
workdir string 工作目录 "/home/admin/workspace"
env object 环境变量 {NODE_ENV: "prod"}
timeout number 超时秒数 60
yieldMs number 延迟后台毫秒 10000
background boolean 立即后台 true
pty boolean 伪终端模式 true
elevated boolean 提升权限 true

🎯 最佳实践

  1. 短命令直接执行 - 5 秒内完成的命令
  2. 长命令设置超时 - 避免无限等待
  3. 后台任务用 background - 服务器、监控等
  4. 敏感操作先确认 - 删除、覆盖等
  5. 使用 workdir 而非 cd - 更清晰
  6. 环境变量显式声明 - 避免依赖系统环境

📞 常见问题

Q: 命令执行超时怎么办?

A: 使用 --timeout 参数增加超时时间,如 --timeout=300(5 分钟)

Q: 如何查看后台进程?

A: 使用 process list 命令查看所有后台进程

Q: 如何终止后台进程?

A: 使用 process kill <sessionId> 终止指定进程

Q: 命令输出太长被截断了?

A: 使用 head/tail 限制输出,或重定向到文件后查看


最后更新: 2026-03-15
维护: OpenClaw 自动化系统