# 创建 Automation CDP WebSocket 流 - CreateAutomationStream
#### 功能介绍
该接口通过 WebSocket 协议透传 Chrome DevTools Protocol（CDP）消息，
供 Agent 或 SDK 以程序化方式控制浏览器。
**协议：** CDP over WebSocket（JSON 文本帧）
**连接条件：**
- Session 的 automation_stream_status 必须为 enabled；
  
- Session 内必须存在可调试的页面 Target；否则以关闭码 1011 拒绝。
  
若为 disabled（人工接管中），服务端以关闭码 1008 拒绝升级。
**关闭码说明：**
- 1000：正常关闭
  
- 1008：Session ID 不匹配 %%automation 流已禁用
  
- 1011：CDP 不可用（无页面 Target 或 DevTools URL 为空）
  
 
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-agentarts/agentarts_07_0003.html)。
#### 授权信息
当前API调用无需身份策略权限。
#### URI
GET https://agentarts.com/v1/browsers/{browser_name}/automation
表1路径参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| browser_name | 是    | String | **参数解释：** 与会话关联的浏览器工具的唯一标识符。 浏览器工具名称获取方式： 1. 进入 AgentArts 平台，在左侧导航栏选择"组件库 \> 沙箱工具"。   2. 在浏览器工具列表中"浏览器工具名称/ID"处获取名称。    **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数                                | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| Authorization                     | 是    | String | **参数解释**： 本次智能体工具调用对应的身份认证凭据。需要根据实际的智能体工具的入站身份认证方式获取对应的身份认证凭据。 API Key认证、IAM认证及OAuth 2.0认证具体请参见[认证鉴权](https://support.huaweicloud.com/api-agentarts/agentarts_07_0005.html)。 **约束限制**： 不涉及。 **取值范围**： 1-4096个字符，由字母、数字及特殊字符组成。 **默认取值**： 不涉及。 |
| X-Hw-Agentarts-Browser-Session-Id | 是    | String | **参数解释：** 要使用的浏览器会话的唯一标识符。 **约束限制：** 必须是通过 StartBrowserSession 创建的活跃会话。如果会话已过期或已停止，请求将失败。 **取值范围：** 符合正则：\^\[a-zA-Z0-9_-\]+$。 **默认取值：** 不涉及。                                                                                                                                            |
| Upgrade                           | 是    | String | **参数解释**： 固定为 websocket，表示从 HTTP 协议升级为 WebSocket 协议。 **约束限制**： 不涉及。 **取值范围**： websocket。 **默认取值**： 不涉及。                                                                                                                                                                                 |
| Connection                        | 是    | String | **参数解释**： 固定为 Upgrade，表示客户端请求升级连接协议。 **约束限制**： 不涉及。 **取值范围**： Upgrade。 **默认取值**： 不涉及。                                                                                                                                                                                                   |
| Sec-Websocket-Key                 | 是    | String | **参数解释**： 随机 Base64 字符串（24 字符），用于生成 Sec-WebSocket-Accept 响应头。 **约束限制**： 不涉及。 **取值范围**： 24个字符的Base64字符串。 **默认取值**： 不涉及。                                                                                                                                                                  |
| Sec-Websocket-Version             | 是    | String | **参数解释**： WebSocket 协议版本，固定传 13（RFC 6455 规定的当前版本号）。 **约束限制**： 不涉及。 **取值范围**： 13。 **默认取值**： 不涉及。                                                                                                                                                                                         |
   
#### 响应参数
**状态码：101**
表3响应Header参数 
| 参数                   | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| Upgrade              | String | **参数解释**： 固定为 websocket，表示从 HTTP 协议升级为 WebSocket 协议。 **约束限制**： 不涉及。 **取值范围**： websocket。 **默认取值**： 不涉及。 |
| Connection           | String | **参数解释**： 固定为 Upgrade，表示客户端请求升级连接协议。 **约束限制**： 不涉及。 **取值范围**： Upgrade。 **默认取值**： 不涉及。                   |
| Sec-WebSocket-Accept | String | **参数解释**： 由服务端基于Sec-WebSocket-Key计算并返回。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                    |
   
**状态码：200**
无
#### 请求示例
无
#### 响应示例
无
#### 状态码
| 状态码 | 描述                                                                                                                              |
|:---|:---|
| 101 | Switching Protocols ------ 连接升级成功，开始双向 CDP 消息透传。                                                                                |
| 200 | WebSocket 消息帧 ------ 升级后的双向 CDP JSON 消息。 每帧为一条完整的 Chrome DevTools Protocol JSON 文本消息。 |
| 401 | 认证失败                                                                                                                            |
| 403 | 权限不足                                                                                                                            |
| 404 | 资源不存在                                                                                                                           |
| 500 | 内部系统错误                                                                                                                          |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-agentarts/ErrorCode.html)。
