Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 31 additions & 1 deletion en/ai-sre/agents.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -71,11 +71,41 @@ On the A2A Agents list page, click **Add A2A Agent** and fill in the form:
| Name | string | — | A2A agent identifier (e.g., `metrics-analyzer`). Required |
| Scope | Account / Team | — | Scope: **Account** (visible account-wide) or a specific **Team** (visible and editable only to members of that team). Required — see "Scope" below |
| Description | string | — | A brief description of this A2A agent's capabilities. It appears in AI SRE's available-agent list as the selection signal — write it as a prescriptive imperative |
| Card URL | string | — | The base URL of the remote A2A agent (e.g., `https://flashai.flashcat.cloud`). Required. The platform validates that it is a legitimate http/https address and rejects loopback, private, link-local, or cloud-metadata addresses |
| Card URL | string | — | The Agent Card URL of the remote A2A agent, or just the service origin for agents that follow the default well-known location (for example, `https://agents.example.com`). If the URL includes a path, the platform reads that exact URL; if only an origin is provided, it resolves `/.well-known/agent-card.json` by A2A convention. Required. The platform validates that it is a legitimate http/https address and rejects loopback, private, link-local, or cloud-metadata addresses |
| Auth Type | enum | `none` | Credential type attached to outbound requests: `none` / `bearer` (Bearer Token) / `api_key` (custom Header + Key) |
| Streaming | bool | on | Whether to communicate with the remote agent in streaming mode |
| User Auth Mode | enum | `shared` | See "Auth Modes" below |

### FlashAI Official Integration

If the remote A2A agent is **FlashAI**, choose **FlashAI official integration** at the top of the add form. The form treats the row as a FlashAI preset:

- Name is prefilled as `flashai`.
- Description is prefilled with delegation guidance for AI SRE, telling it to call FlashAI when the task depends on FlashAI observability data such as metrics, logs, traces, flame graphs, topology, or Flashcat monitoring context.
- After you enter the **FlashAI domain** (for example, `demo.flashcat.cloud`), the Card URL is generated automatically:

```text
https://demo.flashcat.cloud/api/fc-model/a2a/.well-known/agent-card.json
```

FlashAI must be prepared first:

<Steps>
<Step title="Confirm the version">
FlashAI must be `release-24` or later.
</Step>
<Step title="Configure FlashAI /config">
In FlashAI `/config`, add `a2a_server_base_url` and set it to the customer's own FlashAI access domain, for example `https://demo.flashcat.cloud`.
</Step>
<Step title="Confirm network reachability">
Flashduty AI SRE currently reaches the FlashAI A2A address from the cloud, so the domain must be reachable from Flashduty's cloud egress. If FlashAI is only reachable inside a customer private network, first expose a reachable domain and configure the allowlist. After A2A egress is moved to Runner / envd, it will be able to reach private-network FlashAI the same way MCP does.
</Step>
</Steps>

<Tip>
Do not remove the description generated by the FlashAI template unless you have a more precise one. Whether AI SRE proactively calls a remote A2A agent depends mainly on the selection signal provided by the name and description; when the description is too generic, AI SRE may keep reasoning locally instead of delegating the task to FlashAI.
</Tip>

### Auth Modes

A2A agents support three credential-supply modes that determine how credentials are provided when different users call the same remote agent:
Expand Down
32 changes: 31 additions & 1 deletion zh/ai-sre/agents.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -71,11 +71,41 @@ A2A Agent 的列表与管理入口在 **插件 → Agents** 页面(菜单标
| 名称 | string | — | A2A Agent 标识(如 `metrics-analyzer`)。必填 |
| 范围 | 账户 / 团队 | — | 作用域:**账户**(账户内全局可见)或某个**团队**(仅该团队成员可见和可编辑)。必填,详见下文「作用域」 |
| 描述 | string | — | 简要描述此 A2A Agent 的功能。它会进入 AI SRE 的「可用 Agent 清单」,是选择信号——建议写成有指导性的祈使句 |
| Card URL | string | — | 远端 A2A Agent 的基础 URL(如 `https://flashai.flashcat.cloud`)。必填。平台会校验它是合法的 http/https 地址,并拒绝指向回环、内网、链路本地或云元数据等受限地址 |
| Card URL | string | — | 远端 A2A Agent 的 Agent Card 地址,或仅填写遵循默认 well-known 规则的服务根地址(如 `https://agents.example.com`)。如果 URL 已带路径,平台会按该地址原样读取;如果只填服务根地址,平台按 A2A 约定查找 `/.well-known/agent-card.json`。必填。平台会校验它是合法的 http/https 地址,并拒绝指向回环、内网、链路本地或云元数据等受限地址 |
| 认证类型 | enum | `none` | 出站请求附带的凭证类型:`none`(无)/ `bearer`(Bearer Token)/ `api_key`(自定义 Header + Key) |
| 流式传输 | bool | 开 | 是否以流式方式与远端交互 |
| 用户级认证模式 | enum | `shared` | 见下表「认证模式」 |

### FlashAI 官方集成

如果远端 A2A Agent 是 **FlashAI**,在添加表单顶部选择 **FlashAI 官方集成**。表单会把该 Agent 作为 FlashAI 预设处理:

- 名称预填为 `flashai`。
- 描述预填为面向 AI SRE 的委派提示,告诉 AI SRE 在需要 FlashAI 可观测数据(指标、日志、Trace、火焰图、拓扑、Flashcat 监控上下文)时优先调用它。
- 填写 **FlashAI 域名**(例如 `demo.flashcat.cloud`)后,Card URL 会自动生成:

```text
https://demo.flashcat.cloud/api/fc-model/a2a/.well-known/agent-card.json
```

FlashAI 侧需要先完成以下配置:

<Steps>
<Step title="确认版本">
FlashAI 需为 `release-24` 或更新版本。
</Step>
<Step title="配置 FlashAI /config">
在 FlashAI 的 `/config` 中添加 `a2a_server_base_url`,值填写用户自己的 FlashAI 访问域名,例如 `https://demo.flashcat.cloud`。
</Step>
<Step title="确认网络可达">
当前 Flashduty AI SRE 会从云端访问 FlashAI 的 A2A 地址,因此该域名需要能被 Flashduty 云端访问。若 FlashAI 只在客户内网可达,请先使用可公网访问的域名并配置白名单;后续 A2A 出网迁移到 Runner / envd 后,才能像 MCP 一样从客户网络内访问内网 FlashAI。
</Step>
</Steps>

<Tip>
不建议删除 FlashAI 模板生成的描述。AI SRE 是否会主动调用远端 A2A Agent,主要取决于名称与描述提供的选择信号;描述过于泛化时,AI SRE 可能继续在本地推理,而不会把任务委派给 FlashAI。
</Tip>

### 认证模式

A2A Agent 支持三种凭证供给方式,决定不同用户调用同一个远端 Agent 时如何提供凭证:
Expand Down