Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
17f2ce5
docs(rum): add Electron SDK integration docs (zh + en)
Fiona2016 Jul 28, 2026
06733d2
docs(rum): correct Electron bridge and renderer source semantics
Fiona2016 Jul 28, 2026
88ecada
docs(rum): document the beforeSend source map normalization flow
Fiona2016 Jul 30, 2026
502642f
docs(rum): make site optional and rewrite the self-hosted section
Fiona2016 Jul 30, 2026
ed5088b
docs(rum): re-sync against publish — main-process stacks, process-gon…
Fiona2016 Jul 31, 2026
6585e8c
docs(rum): document Electron stack path normalization and paint metri…
Fiona2016 Aug 3, 2026
7a727e5
fix(api-reference): status-page info response schema is StatusPageIte…
ysyneu Aug 4, 2026
5352ce6
fix(api-reference): status-page info response schema is StatusPageIte…
ysyneu Aug 4, 2026
11280b0
Merge pull request #241 from flashcatcloud/fix/status-page-info-schema
ysyneu Aug 4, 2026
d7ce8ad
docs(rum): sync HarmonyOS SDK docs to 0.3.1 and hvigor-plugin 0.1.2
Fiona2016 Aug 4, 2026
de6407f
docs(rum): drop the setTrackNetworkRequests upgrade warning
Fiona2016 Aug 4, 2026
e5c20f6
docs(rum): drop the hvigor-plugin task-ordering warning
Fiona2016 Aug 4, 2026
c52155a
docs(rum): sync HarmonyOS SDK docs to 0.3.2
Fiona2016 Aug 4, 2026
e795829
Merge pull request #242 from flashcatcloud/docs/harmony-sdk-0.3.0
Fiona2016 Aug 4, 2026
d02fdf8
Update Flashduty icon download URL
pijiang3 Aug 5, 2026
9878a3b
docs(rum): state the setTrackNetworkRequests prerequisite for Harmony…
Fiona2016 Aug 5, 2026
6ad8d3c
docs(rum): document three silent-failure pitfalls of the Electron SDK
Fiona2016 Aug 5, 2026
ff18262
docs(rum): correct what a replay segment outage actually loses
Fiona2016 Aug 6, 2026
a0b5761
fix(api): RUM application timestamps are milliseconds, not seconds
Aug 6, 2026
55baad2
Merge pull request #244 from flashcatcloud/fix/rum-application-timest…
ysyneu Aug 6, 2026
1ff40a1
docs: sync doc-review findings (2026-08-06)
ysyneu Aug 6, 2026
3e361ab
docs(changelog): announce public artifact links and ServiceMap (Beta)
ysyneu Aug 6, 2026
6e7374e
docs(api): publish ServiceMap and RUM rule endpoints, fix reference d…
ysyneu Aug 6, 2026
87b2f89
Merge pull request #245 from flashcatcloud/automation/doc-review-2026…
ysyneu Aug 6, 2026
04347a5
docs(api): correct six RUM claims that contradict the handlers
ysyneu Aug 6, 2026
79b10fd
Merge pull request #246 from flashcatcloud/docs/api-review-20260806
ysyneu Aug 6, 2026
4998a53
Merge pull request #247 from flashcatcloud/feat/api-review-auto-fix-2…
ysyneu Aug 6, 2026
d92fcd1
docs(api): make the reference examples internally consistent
ysyneu Aug 6, 2026
295ca6f
Merge pull request #248 from flashcatcloud/docs/api-example-fixes
ysyneu Aug 6, 2026
0c80c31
Merge pull request #249 from flashcatcloud/feat/api-review-auto-fix-2…
ysyneu Aug 6, 2026
eba14aa
docs(rum): expand the errors-only sampling FAQ
Fiona2016 Aug 10, 2026
49d7503
docs(monitors): add Entity Tree guide
UlricQin Aug 10, 2026
581ec57
Merge pull request #251 from flashcatcloud/doc-review/2026-08-10-123348
UlricQin Aug 10, 2026
2df9ec7
Merge pull request #250 from flashcatcloud/docs/rum-sampling-error-on…
Fiona2016 Aug 10, 2026
8c35b05
docs(rum): document Electron native crash symbolication
Fiona2016 Aug 10, 2026
0df14a3
docs(rum): pin the browser-rum minimum and document native crash grou…
Fiona2016 Aug 10, 2026
b32f1bf
fix: add redirects for legacy /{lang}/flashduty/* paths
ysyneu Aug 10, 2026
af9f7ed
Merge pull request #252 from flashcatcloud/fix/legacy-docs-redirects
ysyneu Aug 10, 2026
c4f83d7
docs(rum): align Electron guide with v0.2.1 behavior
Fiona2016 Aug 10, 2026
148f9ac
Merge pull request #222 from flashcatcloud/feat/rum-electron-sdk-docs
Fiona2016 Aug 10, 2026
c8cc36d
docs(rum): simplify Electron SDK guides
Fiona2016 Aug 10, 2026
5d9bf36
docs(rum): keep Electron app running on SDK failure
Fiona2016 Aug 10, 2026
eb6d321
Merge pull request #253 from flashcatcloud/docs/electron-user-first-g…
Fiona2016 Aug 10, 2026
1ea73a6
docs(api): enrich request parameter descriptions
ysyneu Aug 11, 2026
f7bde6b
Merge pull request #254 from flashcatcloud/feat/api-review-auto-fix-2…
ysyneu Aug 11, 2026
ffa1009
docs: replace IP whitelist placeholder and document SSO network requi…
ysyneu Aug 11, 2026
5e00854
docs: scope egress IPs to SaaS, not private deployments
ysyneu Aug 11, 2026
6cc8a33
docs: keep the {ip_whitelist} placeholder in the webhook FAQ answers
ysyneu Aug 11, 2026
2099abf
docs: answer the IP whitelist FAQ on the docs site as well
ysyneu Aug 11, 2026
864b9c8
docs: keep the IP whitelist FAQ byte-identical for the console build
ysyneu Aug 11, 2026
36604e1
docs: add status page widget docs + changelog, fix 24 doc-drift findings
ysyneu Aug 11, 2026
1c8fba6
Merge pull request #255 from flashcatcloud/work/sso-network-docs
ysyneu Aug 11, 2026
105bd73
Merge pull request #256 from flashcatcloud/doc-review/2026-08-11-024302
ysyneu Aug 11, 2026
99d2a21
Merge pull request #243 from flashcatcloud/docs/harmony-network-track…
ysyneu Aug 11, 2026
27fcbff
api-reference: document the 8 AI SRE knowledge endpoints
ysyneu Aug 11, 2026
a230768
api-reference: add the knowledge file/delete operation
ysyneu Aug 11, 2026
840749e
Merge pull request #257 from flashcatcloud/feat/knowledge-openapi
ysyneu Aug 11, 2026
a4b2d91
fix(rum): HarmonyOS symbol upload uses ci.flashcat.cloud
Fiona2016 Aug 12, 2026
4225c85
Merge pull request #259 from flashcatcloud/docs/harmony-sourcemap-host
Fiona2016 Aug 12, 2026
c125755
docs(compliance): add privacy policy and refund policy as first-class…
ysyneu Aug 12, 2026
f52236e
fix(api): preserve incident notification preference override
pijiang3 Aug 12, 2026
548b352
docs(compliance): use plain markdown links in the English documents
ysyneu Aug 12, 2026
2c4a9fd
Merge pull request #261 from codex/fix-notify-follow-preference
pijiang3 Aug 12, 2026
9fe5d08
Merge pull request #260 from flashcatcloud/feat/consolidate-legal-pol…
ysyneu Aug 12, 2026
07dedf5
Merge pull request #262 from flashcatcloud/feat/notify-follow-preference
ysyneu Aug 12, 2026
261ffb3
fix(api): make zero-value request fields nullable, fix wrong property…
ysyneu Aug 12, 2026
858ff24
docs(ai-sre): document the two-level A2A instructions format
ysyneu Aug 12, 2026
9c88f35
docs(ai-sre): clarify that the summary drives delegation, not list pr…
ysyneu Aug 12, 2026
5724955
docs(api): document country_code as a validated ISO region code
ysyneu Aug 12, 2026
fa2e6bf
Merge pull request #265 from flashcatcloud/docs/country-code-region
ysyneu Aug 12, 2026
cb92047
Merge pull request #263 from flashcatcloud/fix/zero-value-request-fields
ysyneu Aug 12, 2026
001c626
Merge pull request #264 from flashcatcloud/feat/a2a-instructions-doc
ysyneu Aug 12, 2026
57631df
docs: remove Electron operation monitoring section
Fiona2016 Aug 12, 2026
18da085
Merge pull request #266 from flashcatcloud/docs/remove-electron-opera…
Fiona2016 Aug 12, 2026
a3f1c99
docs(rum): document the axios integration for HarmonyOS
Fiona2016 Aug 12, 2026
58c0e1c
Merge pull request #267 from flashcatcloud/docs/harmony-axios-integra…
Fiona2016 Aug 13, 2026
f974567
docs: 同步各模块最新功能文档,修复 40 条文档漂移(doc-review 2026-08-13)
ysyneu Aug 13, 2026
1a50ea6
docs: 移除私有化部署相关内容(由技术支持负责,不进公开文档)
ysyneu Aug 13, 2026
7be42be
Merge pull request #268 from flashcatcloud/doc-review/2026-08-13-024019
ysyneu Aug 13, 2026
2e63c6c
docs(ai-sre): mention On-call incident trigger in Automations overvie…
ysyneu Aug 14, 2026
9a802c7
docs: apply doc-review diff fixes (2026-08-14, 61 findings)
Aug 14, 2026
02db077
docs(api): api-review daily audit — fix zh consolidated drift, restor…
Aug 14, 2026
e8780a3
Merge pull request #272 from flashcatcloud/api-review/20260814-064021
ysyneu Aug 14, 2026
d6de06e
docs: revert wecom.mdx egress IP list (f059) — IPs are internal; cons…
Aug 14, 2026
68c832b
Merge pull request #271 from flashcatcloud/doc-review/2026-08-14-061500
ysyneu Aug 14, 2026
7441208
docs: doc-review diff fixes (2026-08-14) — monitors rule mgmt, on-cal…
Aug 14, 2026
3e838ff
Merge pull request #273 from flashcatcloud/doc-review/2026-08-14-084107
ysyneu Aug 14, 2026
74a1859
docs(api): document structured monitor queries
UlricQin Aug 15, 2026
1eeac8d
Merge pull request #274 from flashcatcloud/codex/monit-query-data-ope…
ysyneu Aug 16, 2026
ca40b8a
docs(api): align monit query rate limits with the gateway
ysyneu Aug 16, 2026
0a28ff7
Merge pull request #275 from flashcatcloud/fix/query-docs-rate-limits
ysyneu Aug 16, 2026
5477194
fix(docs): escape entity tree template placeholders
UlricQin Aug 17, 2026
c502ec5
Merge pull request #276 from flashcatcloud/codex/fix-entity-tree-mdx-…
UlricQin Aug 17, 2026
bd51ca9
docs: doc-review 2026-08-17 — monit-query data, API op counts, monito…
Aug 17, 2026
2582559
Merge pull request #277 from flashcatcloud/doc-review/2026-08-17-083307
ysyneu Aug 17, 2026
3db7ca0
docs(rum): document the HarmonyOS batching configuration
Fiona2016 Aug 18, 2026
9c1c7ca
docs: doc-review 2026-08-18 (k8s app permissions, quick-silence label…
Aug 18, 2026
d9793cb
Merge pull request #279 from flashcatcloud/doc-review/2026-08-18-082056
ysyneu Aug 18, 2026
aeb8e11
Merge pull request #278 from flashcatcloud/docs/harmony-sdk-0.5.0-bat…
Fiona2016 Aug 19, 2026
d31f29a
docs(rum): document how to keep RUM uploads off a narrow uplink
Fiona2016 Aug 19, 2026
d564c8d
docs(rum): restore the batching migration note on the English page
Fiona2016 Aug 19, 2026
e7ab14d
docs(rum): drop the Web aside from the Android and iOS pages
Fiona2016 Aug 19, 2026
5cc6888
Merge pull request #280 from flashcatcloud/docs/rum-network-contentio…
Fiona2016 Aug 19, 2026
bd457af
docs: enable search indexing for hidden API reference tabs
ysyneu Aug 19, 2026
e7d159b
Merge pull request #283 from flashcatcloud/docs/seo-indexing-all
ysyneu Aug 19, 2026
cc2b1ae
docs: doc-review 2026-08-19 — incident timeline, alert detail deep li…
Aug 19, 2026
e7a37eb
Merge pull request #284 from flashcatcloud/doc-review/2026-08-19-083500
ysyneu Aug 19, 2026
2c6b597
docs(rum): add sampling FAQ for full error capture at reduced volume
Fiona2016 Aug 19, 2026
42e0a72
docs(rum): explain why per-event random breaks session-level investig…
Fiona2016 Aug 19, 2026
d688f02
docs(rum): align Session Replay with the bucket, and mark sampled ses…
Fiona2016 Aug 19, 2026
4cbaada
docs(rum): correct how Session Replay relates to session sampling
Fiona2016 Aug 19, 2026
860949e
docs(rum): promote the error-first sampling recipe to its own section
Fiona2016 Aug 19, 2026
7293ada
docs(rum): clear FAQ-era wording left over from the section promotion
Fiona2016 Aug 19, 2026
3d4b4da
docs(ai-sre): document supported A2A protocol version and Agent Card …
ysyneu Aug 19, 2026
5629e4f
docs(rum): restructure error-first sampling recipe into self-containe…
Fiona2016 Aug 19, 2026
a0a9d21
Merge pull request #285 from flashcatcloud/docs/rum-sampling-faq-full…
Fiona2016 Aug 19, 2026
4125f34
Merge pull request #286 from flashcatcloud/docs/a2a-protocol-version
ysyneu Aug 19, 2026
d6b93dd
docs: move AI SRE tab before On-call in top navigation
ysyneu Aug 19, 2026
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
5,386 changes: 4,036 additions & 1,350 deletions api-reference/monitors.openapi.en.json

Large diffs are not rendered by default.

5,386 changes: 4,036 additions & 1,350 deletions api-reference/monitors.openapi.zh.json

Large diffs are not rendered by default.

364 changes: 210 additions & 154 deletions api-reference/on-call.openapi.en.json

Large diffs are not rendered by default.

364 changes: 210 additions & 154 deletions api-reference/on-call.openapi.zh.json

Large diffs are not rendered by default.

42,563 changes: 24,684 additions & 17,879 deletions api-reference/openapi.en.json

Large diffs are not rendered by default.

42,405 changes: 24,605 additions & 17,800 deletions api-reference/openapi.zh.json

Large diffs are not rendered by default.

99 changes: 58 additions & 41 deletions api-reference/platform.openapi.en.json

Large diffs are not rendered by default.

99 changes: 58 additions & 41 deletions api-reference/platform.openapi.zh.json

Large diffs are not rendered by default.

5,915 changes: 4,308 additions & 1,607 deletions api-reference/rum.openapi.en.json

Large diffs are not rendered by default.

5,903 changes: 4,302 additions & 1,601 deletions api-reference/rum.openapi.zh.json

Large diffs are not rendered by default.

1,757 changes: 1,538 additions & 219 deletions api-reference/safari.openapi.en.json

Large diffs are not rendered by default.

1,777 changes: 1,548 additions & 229 deletions api-reference/safari.openapi.zh.json

Large diffs are not rendered by default.

1,779 changes: 1,646 additions & 133 deletions docs.json

Large diffs are not rendered by default.

85 changes: 76 additions & 9 deletions en/ai-sre/agents.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ sidebarTitle: Agent
Delegation does not make you wait: after AI SRE hands a task to a remote agent, the conversation continues immediately, so you can keep working or delegate several tasks at once. When the remote agent finishes, its result appears in the conversation as a new message. Each A2A delegation appears in the conversation stream as a **task card** carrying an `A2A` badge, showing the remote agent name, task intent, run status (initializing / in progress / completed / failed / interrupted), and usage metrics such as tool call count, tokens, and elapsed time. Click the card to view the full delegation trace in the right-hand panel.

<Tip>
**Instructions are the agent-selection signal.** Before delegating, AI SRE sees a list of available agents where each entry is `name: instructions`. Do not treat this as one line of display copy; use the form's multi-line editor to write prescriptive guidance (for example, "USE THIS FIRST for …" or "prefer-over-X when …") that clearly states **when to prefer this agent, what it excels at, and what it is not suited for**. The more precise the instructions, the better AI SRE can delegate the right task to the right agent.
**Instructions have two levels and act as the agent-selection signal.** Before delegating, AI SRE sees a list of available agents where each entry is just `name: summary` — the summary comes from a `summary:` line at the top of the instructions (if omitted, the beginning of the body is excerpted automatically). AI SRE uses it to decide **whether and when** to delegate to this agent, so state clearly when to prefer it, what it excels at, and what it is not suited for. The body that follows the summary is not kept in the list — it is delivered to AI SRE in full only the **first time it delegates to this agent**, so you can write it as long and detailed as needed (procedures, hard rules, examples) without slowing down everyday conversations. See "[Writing Instructions](#writing-instructions)" below for the format.
</Tip>

The A2A agent list and management entry point are on the **Plugins → Agents** page (menu tab labeled **Agents**).
Expand Down Expand Up @@ -71,21 +71,88 @@ 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 |
| Execution Environment | Cloud / BYOC Runners (multiple) | All environments | Controls where this A2A agent is available. Select Cloud and one or more visible BYOC Runners; leave empty to make it available everywhere. It does not route delegated calls: an A2A call still runs in the current AI SRE session's environment. For a remote agent available only on a private network, select only the Runner(s) that can reach it |
| Instructions | string | — | The agent-selection signal shown to AI SRE. It is inserted into AI SRE's system prompt and available-agent list to decide when to call this A2A agent. Required; write prescriptive guidance that explains when to use the agent, its capability boundaries, and when not to use it. Maximum 2,000 characters |
| 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 only validates that the URL is well-formed (scheme is http/https, host is non-empty) — it does not classify hosts or IPs; actual network reachability and egress restrictions depend on the current AI SRE session's execution environment. The Execution Environment field above only limits where this agent is available |
| Instructions | string | — | The agent-selection signal shown to AI SRE, as **a single document**: an optional `summary:` frontmatter block plus a body. The summary appears in the available-agent list; the body is delivered in full only on first delegation. Required; the whole document is at most 50 KB, and `summary` is at most 1,024 characters and must not contain `<` or `>`. See "[Writing Instructions](#writing-instructions)" below for the format |
| 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 only validates that the URL is well-formed (scheme is http/https, host is non-empty) — it does not classify hosts or IPs; actual network reachability and egress restrictions depend on the current AI SRE session's execution environment. The Execution Environment field above only limits where this agent is available. The remote agent must implement A2A Protocol 1.0 — see "[Protocol Version and Agent Card Requirements](#protocol-version-and-agent-card-requirements)" below |
| 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 |
| Skip TLS certificate verification | bool | off | Shown only when the Card URL uses HTTPS. Enable only when the remote endpoint uses a self-signed certificate inside a controlled network; this skips certificate-chain and hostname verification |
| Allow OAuth discovery over HTTP | bool | off | Required only when "Per-user OAuth" is selected and the Card URL is a non-local HTTP URL. Use only in controlled test environments; after you enable it, the AI SRE service can fetch OAuth metadata from that host |
| Allow fetching OAuth configuration over HTTP (testing only) | bool | off | Required only when "Per-user OAuth" is selected and the Card URL is a non-local HTTP URL. Use only in controlled test environments; after you enable it, the AI SRE service can fetch OAuth metadata from that host |

### Protocol Version and Agent Card Requirements

When calling a remote agent as an A2A client, the platform implements **A2A Protocol 1.0** (with the `JSONRPC` or `HTTP+JSON` protocol binding). **Protocol 0.x and other major versions are not supported**: the remote agent's Agent Card must be in the 1.0 format, or delegated calls will fail.

A 1.0-format Agent Card declares its endpoints via the `supportedInterfaces` array, where at least one entry must contain `url`, `protocolBinding` (`JSONRPC` or `HTTP+JSON`), and `protocolVersion: "1.0"`. A minimal valid card looks like this:

```json
{
"name": "metrics-analyzer",
"description": "Analyzes metrics for a target service",
"supportedInterfaces": [
{
"url": "https://agents.example.com/a2a",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"capabilities": { "streaming": true },
"skills": [
{
"id": "analyze_metrics",
"name": "Analyze Metrics",
"description": "Query and summarize metrics within a time window",
"tags": ["metrics"]
}
],
"defaultInputModes": ["text"],
"defaultOutputModes": ["text"]
}
```

<Note>
The `version` field on the card is the **agent's own version number**, not the protocol version. The protocol version is declared by `protocolVersion` in each `supportedInterfaces` entry.
</Note>

**Migrating from 0.x to 1.0**: if your Agent Card still uses the 0.x format, adjust it as follows before connecting:

| 0.x format | 1.0 format |
| --- | --- |
| Top-level `url` + `preferredTransport` + `additionalInterfaces` | `supportedInterfaces` array, each entry with `url` / `protocolBinding` / `protocolVersion` |
| `authentication` | `securitySchemes` + `security` |

### Writing Instructions

Instructions are **a single document** with up to two parts: an optional YAML frontmatter block at the top (a single `summary` field), followed by the body.

```yaml
---
summary: One-line summary — AI SRE uses this to decide whether to delegate
---
Body: detailed instructions for the agent…
```

- **The summary drives routing.** Every time AI SRE decides whether to delegate, all it sees is one line in the available-agent list: `name: summary`. That summary is exactly this field's content, so state clearly **when to prefer this agent, what it excels at, and what it is not suited for** — use concrete capability words (product names, verbs, scenarios), not marketing slogans. Overlong summaries get truncated in the list, so front-load the important part.
- **The body is delivered on demand, not kept in the list.** The body does not occupy AI SRE's context all the time. It is sent to AI SRE in full only the **first time it delegates to this agent** (progressive loading). That means the body can be as long and detailed as you need — procedures, hard rules, examples — without bloating everyday conversations.
- **Plain text without a `summary` still works.** If the instructions are plain text that doesn't start with `---`, the whole content is treated as the body, and AI SRE automatically excerpts the beginning as the summary (truncated) — this keeps older-style instructions working unchanged. Writing an explicit `summary` is still strongly recommended for more predictable routing.
- **Hard limits**: the whole document (frontmatter + body) is at most **50 KB**; `summary` is at most **1,024 characters** and must not contain `<` or `>`; the body must be non-empty.
- If the document starts with `---`, that frontmatter block must be closed with another `---` line, or saving fails.

The instructions used by "[Using the FlashAI Template](#using-the-flashai-template)" below are a working example — see its structure for reference.

### Using the FlashAI Template

**FlashAI** is the observability analysis product in the Flashcat / 快猫星云 family. It can also be connected as a remote A2A agent for AI SRE. On the A2A Agents page, expand the **Connect FlashAI observability analysis** panel to create an A2A agent from the FlashAI template.

The FlashAI template is not a blanket rule that sends every observability question to FlashAI. It configures FlashAI as the delegation target for **Flashcat / 快猫星云-originated alert and incident investigation**. For alerts or incidents from Flashcat products such as Event Wall / 事件墙, Firemap / 灭火图, and Polaris / 北极星, AI SRE should prefer delegating analysis to FlashAI.

The template prefills multi-line instructions. Its core routing rules are:
The template prefills an instructions document that opens with a `summary:` line:

```yaml
summary: Flashcat/快猫星云 observability & ops — Firemap 灭火图, Polaris 北极星/northstar, logs 日志检索/报表, metrics 指标, traces 链路/拓扑, inspections 巡检/拨测, alert rules & dashboards. Call for ANY Flashcat task; MUST dispatch first whenever integration_type is "n9e.alert".
```

That summary is what shows up in AI SRE's available-agent list, and it's the direct reason FlashAI gets picked first. The body that follows the summary carries the core routing rules:

- Prefer FlashAI when the user is investigating an alert, incident, fault, or alert group that clearly originates from Flashcat / 快猫星云.
- Event Wall / 事件墙 alert events, incidents, and alert groups are positive routing signals.
Expand All @@ -111,7 +178,7 @@ Prepare FlashAI first:
After FlashAI is prepared, enter the **FlashAI domain** in the panel (for example, `demo.flashcat.cloud`) and click **Use this template**. The page opens the **Add A2A Agent** form and prefills:

- Name: generated from the domain, for example `flashai-demo`
- Instructions: multi-line delegation guidance for AI SRE, explaining which Flashcat alerts/incidents should prefer FlashAI and which generic observability questions should not.
- Instructions: a `summary:` line plus a body — the body lists which Flashcat alerts/incidents should prefer FlashAI and which generic observability questions should not.
- Card URL: generated from the domain:

```text
Expand All @@ -121,7 +188,7 @@ https://demo.flashcat.cloud/api/fc-model/a2a/.well-known/agent-card.json
The template only prefills common values. You still choose the **Scope** (Account or Team) and configure authentication in the form. A2A agents can be installed multiple times for different scopes, so the FlashAI panel does not disappear just because one FlashAI agent already exists. Agent names must still be unique within the account; if the same FlashAI domain needs to be installed more than once, adjust the name in the form.

<Tip>
Do not remove the instructions generated by the FlashAI template unless you have more precise ones. Whether AI SRE proactively calls a remote A2A agent depends mainly on the selection signal provided by the name and instructions; when the instructions are too short or too generic, AI SRE may keep reasoning locally or incorrectly delegate ordinary metrics / logs questions to FlashAI.
Do not remove the instructions generated by the FlashAI template, especially the `summary:` line at the top — once registered, FlashAI always appears in the available-agent list, but whether AI SRE actually delegates to it hinges directly on that summary line. When the instructions are too short or too generic, AI SRE may keep reasoning locally or incorrectly delegate ordinary metrics / logs questions to FlashAI.
</Tip>

### Auth Modes
Expand All @@ -145,7 +212,7 @@ For security reasons, saved sensitive fields (such as `token`, `api_key`, and `c
</Note>

<Warning>
Use HTTPS for per-user OAuth discovery whenever possible. Enable "Allow OAuth discovery over HTTP" for a non-local HTTP Card URL only in controlled test environments. If an HTTPS endpoint uses a self-signed certificate, enable "Skip TLS certificate verification" only temporarily and only inside a trusted network.
Use HTTPS for per-user OAuth discovery whenever possible. Enable "Allow fetching OAuth configuration over HTTP (testing only)" for a non-local HTTP Card URL only in controlled test environments. If an HTTPS endpoint uses a self-signed certificate, enable "Skip TLS certificate verification" only temporarily and only inside a trusted network.
</Warning>

## Inbound: Letting External Agents Call AI SRE
Expand Down Expand Up @@ -215,7 +282,7 @@ A2A agents share the same **two-level scope** model as other resources (skills,
| Account level | Visible to all members in the account |
| Team level | Visible only to members of that team |

**Edit permissions**: the account owner or account admin can edit any agent; team members can edit team-level agents **in their own team**; there is no creator-retains-rights exception. When you do not have edit permission, the corresponding row in the list is **read-only**.
**Edit permissions**: team-level agents can be acted on only by members of that team — organization admins must join the team first; account-level agents can be acted on only by the account owner or account admin; there is no creator-retains-rights exception. When you do not have edit permission, the corresponding row in the list is **read-only**.

**Create and reassign**: to create a new team-level agent, you must belong to the target team; account-level creation is limited to the account owner or admins. When editing an existing agent, the account owner or admins can move it to any team to recover resources left behind by empty teams or departed members; regular members can move it only to teams they belong to.

Expand Down
Loading