Skip to content

直接运行 Agent(Agent Send)

openclaw agent 命令让你可以直接向 Agent 发送消息并获取响应,完全不需要打开聊天界面。这非常适合在脚本、CI/CD 流水线或命令行自动化中集成 AI 能力。


快速上手

最简单的使用方式:

bash
openclaw agent --message "帮我总结今天的工作内容"

Agent 会处理请求并将结果输出到终端。


基本示例

发送单条消息

bash
openclaw agent --message "用一句话解释什么是递归"

指定特定 Agent

bash
openclaw agent --agent "code-reviewer" --message "请审查以下代码:$(cat main.py)"

读取文件内容作为消息

bash
openclaw agent --message "$(cat prompt.txt)"

在脚本中使用

bash
#!/bin/bash

# 自动生成提交说明
DIFF=$(git diff --staged)
COMMIT_MSG=$(openclaw agent --message "根据以下 git diff 生成简洁的提交说明:

$DIFF" --output text)

echo "生成的提交说明:$COMMIT_MSG"
git commit -m "$COMMIT_MSG"

常用标志(Flags)

标志类型说明
--agentstring指定要使用的 Agent 名称(默认使用默认 Agent)
--messagestring发送给 Agent 的消息内容(必填)
--sessionstring指定会话 Key(用于保持对话连续性)
--outputstring输出格式:text(默认)或 json
--timeoutnumber等待响应的超时时间(秒,默认 60)
--no-streamflag禁用流式输出,等待完整响应后输出

会话持久化

通过 --session 标志,多次调用可以共享同一个会话上下文:

bash
# 第一次调用,创建会话
openclaw agent --session "my-work-session" --message "我今天要重构用户认证模块"

# 第二次调用,继续同一会话
openclaw agent --session "my-work-session" --message "刚才说的模块,从哪个文件开始比较好?"

# Agent 会记住第一次的上下文,给出相关建议

TIP

会话 Key 可以自定义,建议使用有意义的名称(如项目名 + 日期)便于管理。不指定 --session 时,每次调用都是独立的无状态请求。


输出格式

文本格式(默认)

bash
openclaw agent --message "2+2等于几" --output text

# 输出:
# 4

JSON 格式

适合在脚本中解析 Agent 的结构化响应:

bash
openclaw agent --message "用 JSON 格式列出三种编程语言" --output json

# 输出:
# {
#   "response": "...",
#   "sessionId": "abc123",
#   "tokensUsed": 150,
#   "model": "claude-sonnet-4-6",
#   "duration": 1234
# }
使用 jq 解析 JSON 输出
bash
# 只提取响应文本
openclaw agent --message "问题" --output json | jq -r '.response'

# 提取 Token 使用量
openclaw agent --message "问题" --output json | jq '.tokensUsed'

在 CI/CD 中使用

将 AI 能力集成到自动化流水线:

yaml
# GitHub Actions 示例
- name: AI Code Review
  run: |
    PR_DIFF=$(git diff main...HEAD)
    REVIEW=$(openclaw agent \
      --agent "code-reviewer" \
      --message "请审查以下 PR 变更,指出潜在问题:

$PR_DIFF" \
      --output text)
    echo "$REVIEW" >> $GITHUB_STEP_SUMMARY
  env:
    OPENCLAW_API_KEY: ${{ secrets.OPENCLAW_API_KEY }}

流式输出

默认情况下,openclaw agent 会以流式方式逐步输出 Agent 的响应(类似打字效果)。如果你需要等待完整响应后一次性输出(例如赋值给变量),使用 --no-stream

bash
# 流式输出(实时显示)
openclaw agent --message "写一首关于编程的诗"

# 等待完整响应(适合脚本赋值)
RESULT=$(openclaw agent --message "写一首关于编程的诗" --no-stream)
echo "$RESULT"

超时设置

对于可能耗时较长的任务,可以延长超时时间:

bash
openclaw agent \
  --message "分析整个项目的代码质量并生成详细报告" \
  --timeout 300   # 5 分钟超时

与聊天界面的区别

openclaw agent 是无状态的单次调用模式(除非指定 --session)。它不会显示工具调用过程、不支持交互式确认,适合自动化场景。如果你需要交互式的多轮对话,请使用聊天界面。


下一步:子智能体(Sub-Agents) | 工具系统总览

用工程视角拆解 AI 智能体框架