AgentRun 控制台适合可视化创建、调试和观察 Agent。需要通过终端、脚本、CI 流水线或自动化场景执行相同操作时,AgentRun CLI 提供了命令行入口——从一条命令拉起 Super Agent 对话,到用 YAML 声明式管理 Agent 配置并纳入版本控制。
使用 AgentRun CLI 前,需要了解什么是AgentRun中介绍的基本概念。命令参数、默认值和退出码以 AgentRun CLI 仓库中的用户手册为准。
适用场景
典型使用场景包括:
在本地终端一条命令拉起 Super Agent 并直接对话。
用 YAML 声明式创建或更新 Super Agent,把配置纳入版本管理。
从容器镜像部署 Agent Runtime,或先在云上构建镜像再部署。
把已有 Runtime 导出为可再次
apply的 YAML,方便复制、迁移和审计。通过脚本以 JSON、YAML 或 quiet 格式消费命令输出结果。
CLI 入口命令是 ar,也可以使用完整命令名 agentrun,下文默认使用 ar。如果希望通过控制台可视化创建 Agent,参见快速创建Agent(无代码)。
安装 CLI
推荐直接安装预编译二进制,无需本地 Python 环境。
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/Serverless-Devs/agentrun-cli/main/scripts/install.sh | shWindows PowerShell:
irm https://raw.githubusercontent.com/Serverless-Devs/agentrun-cli/main/scripts/install.ps1 | iex安装完成后验证:
ar --version
# 或
agentrun --version也可以通过 PyPI 安装:
pip install agentrun-cli如果需要固定版本,可在安装脚本前设置 AGENTRUN_VERSION;如果需要指定安装目录,可设置 AGENTRUN_INSTALL。重新执行安装脚本即可覆盖升级到最新版本。卸载时删除 $AGENTRUN_INSTALL 目录下的 ar 二进制文件即可。
配置凭证
所有 CLI 命令都依赖 AccessKey 凭证和本地 profile 配置。首次使用前需完成以下一次性配置。
为 AccessKey 授权
CLI 使用的 AccessKey 所属 RAM 用户或角色需要具备 AliyunAgentRunFullAccess 权限。若命令返回 AccessDenied 或退出码 3,优先检查此项,具体授权方式参见授权RAM用户使用 AgentRun。
配置本地 profile
ar config set access_key_id LTAI5t...
ar config set access_key_secret ***
ar config set account_id 1234567890
ar config set region cn-hangzhou以上配置会写入 ~/.agentrun/config.json 的 default profile。也可以为不同环境建立独立 profile:
ar config set access_key_id LTAI-staging --profile staging
ar config set region cn-shanghai --profile staging
ar --profile staging runtime list凭证也可以通过环境变量提供,例如 AGENTRUN_ACCESS_KEY_ID、AGENTRUN_ACCESS_KEY_SECRET、AGENTRUN_ACCOUNT_ID 和 AGENTRUN_REGION。
一条命令拉起 Super Agent
使用 ar super-agent 相关命令前,需要先在 RAM 控制台完成 AliyunAgentRunSuperAgentRole 服务角色授权。AgentRun 通过该角色(信任主体 agentrun.fc.aliyuncs.com)管理运行时资源,角色附加以下系统策略:
AliyunAgentRunInvokeOnlyAccess(AgentRun 调用权限)AliyunAgentRunReadOnlyAccess(AgentRun 只读权限)
打开以下授权链接,在 RAM 控制台单击一键授权完成角色创建:
创建 AliyunAgentRunSuperAgentRole
如果缺少该角色,ar super-agent run 或 ar super-agent apply 会在创建阶段失败。
RAM 用户没有 ram:ListRoles 权限时,无法直接完成授权操作,需要联系主账号管理员创建角色并完成授权。
快速在终端创建一个托管 Agent 并开始对话:
ar super-agent run --prompt "你是一个 Python 专家"命令会创建一个 Super Agent 并进入交互式 REPL。创建时终端会输出 Agent 名称,格式为 super-agent-tmp-{时间戳}(例如 super-agent-tmp-20260420213045)。输入 /exit 或按 Ctrl+D 退出 REPL。退出后 Agent 会保留,后续可以使用该名称继续对话:
ar sa chat super-agent-tmp-20260420213045super-agent 的短别名是 sa。常用命令:
命令 | 用途 |
| 创建 Super Agent 并进入交互式对话 |
| 连接已有 Super Agent,默认续接上次会话 |
| 单次调用,适合脚本和 CI |
| 从 YAML 创建或更新 Super Agent |
| 删除 Super Agent |
若脚本只需获取 Assistant 回复文本,可以加 --text-only:
ar sa invoke my-helper -m "总结今天的告警" --text-only用 YAML 声明式管理 Super Agent
把 Agent 配置写成 YAML,可以像管理代码一样管理 Agent:
apiVersion: agentrun/v1
kind: SuperAgent
metadata:
name: my-helper
description: "我的助手"
spec:
prompt: "你是我的得力助手"
tools:
- mcp-time-sa
skills: []
sandboxes: []
workspaces: []
subAgents: []保存为 superagent.yaml 后执行:
ar sa apply -f superagent.yaml首次运行会创建 Agent,后续运行会更新同名 Agent。多份 YAML 可以用 --- 分隔后一次性部署。
如果想先检查 YAML 会被渲染成什么请求,不实际调用服务端:
ar sa render -f superagent.yaml从容器镜像部署 Agent Runtime
如果 Agent 已经打包成容器镜像,可以用 ar runtime apply 部署 Agent Runtime。runtime 的短别名是 rt。
最小 YAML:
apiVersion: agentrun/v1
kind: AgentRuntime
metadata:
name: my-agent
spec:
container:
image: registry.cn-hangzhou.aliyuncs.com/my-ns/my-agent:v1部署:
ar runtime apply -f runtime.yaml部署后,通过以下命令验证 Runtime 是否就绪。--wait 参数会持续轮询直到 Runtime 进入就绪状态或超时:
ar rt status my-agent --wait当 YAML 省略 spec.endpoints 时,CLI 会自动注入一个名为 default、指向 LATEST 版本的 endpoint。cpu、memory、port 未显式填写时,CLI 也会注入默认值,避免后端因为空值拒绝请求。具体默认值参见 AgentRun CLI 仓库中的用户手册。
云上构建镜像
如果需要先在云上构建镜像再部署,可以在 spec.container 下增加 cloudBuild:
apiVersion: agentrun/v1
kind: AgentRuntime
metadata:
name: my-agent
spec:
container:
image: registry.cn-hangzhou.aliyuncs.com/my-ns/my-agent:v1
cloudBuild:
dir: .
setupScript: scripts/setup.sh
baseContainerConfig:
image: serverless-registry.cn-hangzhou.cr.aliyuncs.com/functionai/docker-image-builder-worker:20260514-111141-2d80effe构建并部署:
ar runtime apply -f runtime-build.yaml只构建不部署:
ar runtime cloud-build -f runtime-build.yaml导出现有 Runtime,生成可复用 YAML
如果控制台或其他流程中已有 Runtime,可以用 CLI 导出为 YAML:
ar runtime export my-agent -f copied-runtime.yaml导出的 YAML 可以直接用于 ar runtime apply。常见用法是复制一份 Runtime:
ar runtime export my-agent -f copied-runtime.yaml
# 编辑 copied-runtime.yaml,把 metadata.name 改成 my-agent-copy
ar runtime apply -f copied-runtime.yaml导出时会刻意省略 ID、ARN、版本、状态、时间戳等服务端状态字段。镜像仓库密码等敏感字段默认不会导出;只有明确需要完整导出时才使用:
ar runtime export my-agent --include-secrets共享、提交或贴到工单前,先检查导出的 YAML,避免泄露敏感信息。
CLI 部署和管理的 Agent 同样支持集成与发布,参见Agent集成与发布。
输出格式和退出码
CLI 默认输出 JSON,方便脚本和自动化 Agent 解析。也可以通过全局参数切换输出格式:
ar --output table runtime list
ar --output yaml runtime get my-agent
ar --output quiet runtime get my-agent常见退出码:
退出码 | 含义 |
| 成功 |
| 资源不存在或进入失败态 |
| 参数错误 |
| 认证或权限失败 |
| 服务端错误或请求超时 |
| Runtime 或 endpoint 创建、更新、删除失败 |
| 轮询超过 |
| 用户中断 |
错误信息会写到 stderr,通常为 JSON 格式,便于 CI 判断失败原因。
常用命令速查
目标 | 命令 |
查看版本 |
|
配置凭证 |
|
查看当前配置 |
|
创建并对话 Super Agent |
|
续聊 Super Agent |
|
单次调用 Super Agent |
|
声明式部署 Super Agent |
|
预览 Super Agent 请求 |
|
删除 Super Agent |
|
部署 Runtime |
|
云上构建镜像 |
|
导出 Runtime |
|
查看 Runtime 状态 |
|
删除 Runtime |
|
实践建议
本地调试优先用
ar sa run或ar sa chat,确认 Agent 行为后再写 YAML。生产和 CI 场景优先使用
apply,把 YAML 放进代码仓库,变更可审计、可回滚。runtime export适合迁移和复制,但不要把导出的敏感字段直接提交到仓库。根命令全局参数要放在命令组前,例如
ar --profile staging rt list,不要写成ar rt list --profile staging。非交互脚本中建议使用
--output json或--output quiet,避免解析人类可读文本。