AgentRun 智能体运行时组件规范
本文档详细描述了 AgentRun 组件的资源配置规范。AgentRun 组件通过 s.yaml 文件声明智能体运行时资源,并将其部署到阿里云。示例请参考 agentrun example。
智能体配置 (agent)
智能体配置是 AgentRun 组件的核心配置,包含以下参数:
| 参数名 | 必填 | 类型 | 参数描述 |
|---|---|---|---|
| name | True | String | 智能体运行时名称,全局唯一 |
| description | False | String | 智能体运行时描述信息 |
| code | True | String[本地位置]/Struct[远程位置] | 代码配置(与 customContainerConfig 二选一) |
| customContainerConfig | False | Struct | 容器配置(与 code 二选一) |
| cpu | True | Number | CPU 规格,单位为 vCPU,为 0.05 vCPU 的倍数。 和 diskSize 必须同时存在, 如果仅仅填写 memorySize, cpu 和 diskSize 可以不填 |
| memory | True | Number | 内存大小(MB),默认 2048 |
| disksize | True | Number | 磁盘大小(MB),默认 512 |
| port | True | Number | 监听端口号,默认 9000 |
| instanceconcurrency | False | Number | 实例并发数,默认 20 |
| sessionidletimeoutseconds | False | Number | 会话空闲超时时间(秒),默认 3600 |
| vpcConfig | False | Enum[简单配置]/Struct[详细配置] | VPC 网络配置 |
| internetaccess | False | Boolean | 是否允许公网访问,默认 true |
| nasConfig | False | Enum[简单配置]/Struct[详细配置] | NAS 文件存储配置 |
| ossMountConfig | False | Struct[详细配置] | OSS 挂载配置 |
| environmentVariables | False | Struct | 环境变量配置 |
| role | False | String | RAM 角色 ARN 或角色名称 |
| credentialname | False | String | 访问凭证名称 |
| logConfig | False | Struct | 日志配置 |
| protocolconfiguration | False | String | 协议配置,支持 HTTP、HTTPS,默认 HTTP |
| healthCheckConfiguration | False | Struct | 健康检查配置 |
| endpoints | False | Struct | 端点配置列表 |
| customDomain | False | Struct | 自定义域名配置 |
| workspace | False | Struct | 工作空间配置 |
| armsConfiguration | False | Struct | ARMS 应用监控配置 |
code
代码配置,用于代码模式部署。必须提供 language 字段,并且必须配置 src 或 ossBucketName + ossObjectName。
字段说明:
| 参数名 | 必填 | 类型 | 参数描述 |
|---|---|---|---|
| language | True | String | 编程语言,支持:python3.10、python3.12、nodejs18、nodejs20、java8、java11、custom |
| src | False | String | 本地代码路径(目录或 zip 文件) |
| ossBucketName | False | String | OSS Bucket 名称 |
| ossObjectName | False | String | OSS 对象名称 |
| command | False | List<String> | 运行命令 |
| checksum | False | String | CRC-64 校验值 |
示例 - 本地代码:
code:
language: python3.12
src: ./src
示例 - OSS 代码包:
code:
language: nodejs20
ossBucketName: my-bucket
ossObjectName: code/my-app.zip
customContainerConfig
容器配置,用于容器模式部署。
字段说明:
| 参数名 | 必填 | 类型 | 参数描述 |
|---|---|---|---|
| image | True | String | 容器镜像地址 |
| command | False | List<String> | 容器启动命令 |
| imageRegistryType | False | String | 镜像源类型,支持:ACR、ACREE、CUSTOM |
| acrInstanceId | False | String | ACR 实例 ID |
示例:
customContainerConfig:
image: registry.cn-hangzhou.aliyuncs.com/my-namespace/my-app:latest
command: ["python", "app.py"]
imageRegistryType: ACR
acrInstanceId: cri-xxxxxx
vpcConfig
VPC 网络配置,用于私有网络访问。
字段说明:
| 参数名 | 必填 | 类型 | 参数描述 |
|---|---|---|---|
| vpcId | True | String | VPC ID |
| vSwitchIds | True | String/List<String> | 交换机 ID,支持单个或多个 |
| securityGroupId | True | String | 安全组 ID |
示例:
vpcConfig:
vpcId: vpc-xxxxxx
vSwitchIds:
- vsw-xxxxxx1
- vsw-xxxxxx2
securityGroupId: sg-xxxxxx
nasConfig
NAS 文件存储配置,必须配合 VPC 使用。
字段说明:
| 参数名 | 必填 | 类型 | 参数描述 |
|---|---|---|---|
| userId | False | Number | userID, 默认为 0 |
| groupId | False | Number | groupID, 默认为 0 |
| mountPoints | True | List<Struct> | NAS 挂载点列表 |
mountPoints
mountPoints 为 List<Struct>,其中每个 Struct 需符合如下参数规范:
| 参数名 | 必填 | 类型 | 参数描述 |
|---|---|---|---|
| enableTLS | False | Boolean | 使用传输加密方式挂载。 说明:仅通用型 NAS 支持传输加密 |
| mountDir | True | String | 本地挂载目录 |
| serverAddr | True | String | NAS 服务器地址 |
示例:
nasConfig:
userId: 1000
groupId: 1000
mountPoints:
- serverAddr: xxxxxx.cn-hangzhou.nas.aliyuncs.com
mountDir: /mnt/nas
enableTLS: true
ossMountConfig
当ossMountConfig参数为结构时,可以参考:
| 参数名 | 必填 | 类型 | 参数描述 |
|---|---|---|---|
| mountPoints | True | List<Struct> | OSS 挂载点列表 |
ossMountPoints
| 参数名 | 必填 | 类型 | 参数描述 |
|---|---|---|---|
| bucketName | True | String | OSS bucket 名称 |
| bucketPath | False | String | 挂载的 OSS Bucket 路径。留空或者填/,都表示挂载 bucket 根目录 |
| endpoint | True | String | OSS 访问地址 |
| mountDir | True | String | 挂载目录 |
| readOnly | False | Boolean | 是否只读 |
示例:
ossMountConfig:
bucketName: my-oss-bucket
mountDir: /mnt/oss
readOnly: false
environmentVariables
环境变量配置,键值对形式。
示例:
environmentVariables:
DATABASE_URL: mysql://user:pass@host:3306/db
DEBUG: "true"
logConfig
日志配置,用于指定 SLS 日志项目。
字段说明:
| 参数名 | 必填 | 类型 | 参数描述 |
|---|---|---|---|
| project | True | String | SLS 项目名称 |
| logstore | True | String | SLS 日志库名称 |
示例:
logConfig:
project: my-log-project
logstore: agent-runtime-logs
healthCheckConfiguration
健康检查配置,用于监控实例健康状态。
字段说明:
| 参数名 | 必填 | 类型 | 参数描述 | 默认值 |
|---|---|---|---|---|
| httpGetUrl | False | String | HTTP GET URL | /health |
| initialDelaySeconds | False | Number | 初始延迟时间(秒) | 30 |
| periodSeconds | False | Number | 检查间隔时间(秒) | 30 |
| timeoutSeconds | False | Number | 超时时间(秒) | 3 |
| failureThreshold | False | Number | 失败阈值 | 3 |
| successThreshold | False | Number | 成功阈值 | 1 |
示例:
healthCheckConfiguration:
httpGetUrl: /api/health
initialDelaySeconds: 60
periodSeconds: 60
timeoutSeconds: 10
failureThreshold: 5
successThreshold: 2
endpoints
端点配置列表,用于创建和管理端点。
字段说明:
| 参数名 | 必填 | 类型 | 参数描述 |
|---|---|---|---|
| name | True | String | 端点名称 |
| version | False | Number/String | 目标版本,支持数字或 "LATEST" |
| description | False | String | 端点描述 |
| weight | False | Number | 灰度流量权重(0.0-1.0) |
示例:
endpoints:
- name: production
version: LATEST
description: Production endpoint
- name: canary
version: 2
description: Canary deployment
weight: 0.2
customDomain
自定义域名配置。
字段说明:
| 参数名 | 必填 | 类型 | 参数描述 |
|---|---|---|---|
| domainName | True | String | 域名名称,"auto" 表示自动生成 |
| protocol | False | String | 协议类型 |
| route | False | Object | 路由配置 |
| certConfig | False | Object | 证书配置 |
| tlsConfig | False | Object | TLS 配置 |
| authConfig | False | Object | 认证配置 |
| wafConfig | False | Object | WAF 配置 |
示例:
customDomain:
domainName: api.mycompany.com
protocol: HTTPS
route:
path: /api
qualifier: LATEST
methods: ["GET", "POST"]
workspace
工作空间配置。
字段说明:
| 参数名 | 必填 | 类型 | 参数描述 |
|---|---|---|---|
| name | False | String | 工作空间名称 |
| description | False | String | 工作空间描述 |
| resourceGroupId | False | String | 资源组 ID |
| id | False | String | 工作空间 ID |
示例:
workspace:
name: production-workspace
description: Production environment workspace
armsConfiguration
ARMS 应用监控配置。
字段说明:
| 参数名 | 必填 | 类型 | 参数描述 |
|---|---|---|---|
| cmsWorkspace | False | String | CMS 2.0 工作空间 |
| enableArms | False | Boolean | 是否启用应用实时监控服务(ARMS) |
权限与策略说明
使用该组件时,推荐配置系统策略:AliyunAgentRunFullAccess