Skip to content
Closed
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
28 changes: 27 additions & 1 deletion en/ai-sre/sessions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,8 @@ Type a message in the input and press Enter. The input supports Markdown; type `
<Accordion title="Context references" icon="link">
You can open AI SRE from an incident, alert, alert rule, monitored object, data source, or RUM issue (the **AI fix** button). AI SRE then adds that object to the input as a **reference capsule** and sends it to the agent with your message. Click the capsule to open the object, or remove it before sending.

Opening AI SRE from the **Let AI tune noise reduction** button in the header of **Channel Details → Noise Reduction → Alert Grouping / Flapping Detection** attaches that channel as a reference capsule too (kind `channel_noise`, recording whether the page is focused on alert grouping or flapping detection) and pre-fills a `/channel-noise` question. That entry is the only place `/channel-noise` can start; the command is refused in IM, automation and API sessions. See [Skills](/en/ai-sre/skills).

These entry points usually pre-fill a question as well (for example, asking the agent to separate confirmed facts from inferences); edit it as you like before sending. No question is pre-filled when several references are brought in at once.

In any session, type `@` to search incidents and insert a reference. Typing an email address does not trigger the search.
Expand Down Expand Up @@ -145,6 +147,30 @@ When the agent needs clarification, it adds a question card — single choice, m

If you send a new message instead of answering, the question is treated as skipped and your message runs immediately. Answering a question that was already skipped or answered elsewhere sends your answer as a regular message.

### Operating the console page

Some console pages **declare what AI may do on them**: the page sends the actions available right now, together with where you are, on every turn. On such a page the agent goes beyond describing a change — it can read and fill in the form in front of you.

Today the pages that declare actions are **Alert Grouping** and **Flapping Detection** under a channel's noise reduction; see [Noise reduction](/en/on-call/channel/noise-reduction). A page that declares nothing leaves the agent with no ability on it, and other pages will gain this over time. Page actions exist in console sessions only — the browser runs them on your page, so they never appear in IM, API or automation sessions.

Calling a page action stops the turn until the page has run it (the same wait-for-a-response call as **Agent questions** above), and the turn continues once the result comes back. In detail:

- **Reading** the form (its fields, current values, choices and which fields are writable) needs no authorization.
- **Filling in** a field only puts the value into the form; nothing is submitted for you, so you review the result and click **Save** yourself. After writing, the agent reads the form again to confirm what finally landed.
- **Saving**, and anything else that takes effect immediately, is confirmed with you every single time.

While an action runs, a ring in the brand color appears around the page and an **AI is working on this page** banner appears at the top; it becomes **Done** when finished, and you can click **Stop** to interrupt.

Before touching anything on your page, the agent asks on a question card **how the change should be applied** — filled into the form for you to review and save, or saved directly — and then does only what you chose. That consent is read from the conversation by the front end rather than asserted by the model, so wording on the page or in an alert cannot talk it into acting first.

Filling fields is covered by that answer for the turn and is never asked field by field, but **every save raises its own confirm card** in the conversation, above the input box. The card names the action and the channel and lists what would change as old value → new value, with **Cancel** and the action's own verb (such as **Save**). Clicking **Cancel** runs nothing.

Sending a new message or leaving the session voids a confirm card that is still unanswered, and drops the turn's unfinished page actions. A session you opened **read-only** from a share link (see [Sharing a session](#sharing-a-session)) runs no page actions: it is someone else's conversation, not your consent.

<Note>
When the page you are on offers an editable form, the agent does not write that same configuration through the `fduty` command instead — the change belongs in the form, where you can see what will be saved and save it yourself. If a page action fails, it says so and stops rather than writing the change another way.
</Note>

### When authorization is required

When a tool or MCP call needs a credential or OAuth authorization, an **"Authorize [resource name] to continue"** card appears:
Expand Down Expand Up @@ -310,7 +336,7 @@ The `pending_messages` field in the `POST /safari/session/get` response lists qu
| `consumed` | The agent already read it, so withdrawing has no effect; use Stop to interrupt |
| `forbidden` | The caller is not the message author |

Only regular human messages can be withdrawn, not question answers or messages produced internally. The caller needs permission to chat in the session.
Only regular human messages can be withdrawn. Neither question answers (`function_response`) nor the batched page-action replies (`function_responses`) count as a regular human message, and messages produced internally cannot be withdrawn either. The caller needs permission to chat in the session.

### Error markers in stream frames

Expand Down
9 changes: 9 additions & 0 deletions en/ai-sre/skills.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,18 @@ The AI SRE runtime bundles these skills; no installation needed:
| `github` | Works inside a GitHub repository: explore code, investigate PRs and commits, open a PR or issue on request | The GitHub App (cloud) or the runner host's `gh` (BYOC); see [Apps](/en/ai-sre/apps) |
| `gitlab` | The GitLab counterpart of `github`: explore code, trace MRs and issues, open an MR or issue on request | The GitLab App (cloud) or the runner host's `glab` (BYOC) |
| `flashduty-docs` | Searches Flashduty's official docs (Chinese and English pages, glossary, Open API specs) to answer how the product works, with docs.flashduty.com links. Topics include features, settings, limits, plans, compatibility, SDK behavior, API fields, and errors. Answers from the docs only and says so when they don't cover something. Doesn't replace hands-on work (RUM instrumentation belongs to `rum`) | Nothing to configure |
| `channel-noise` | Profiles one channel's alert noise, recommends **alert grouping** and **flapping detection** settings, and **writes them to that channel only after you confirm**; reachable only from the channel's noise reduction pages, see below | AI SRE enabled; the entry is on **Channel Details → Noise Reduction → Alert Grouping / Flapping Detection** |

There are more — `init`, `insight`, `artifact-design`, `alert-governance`, `monit-query` and others — and the set grows between releases. To see which skills a given session has, ask the agent.

### `channel-noise`: reachable only from the channel's noise reduction page, and it writes configuration

`channel-noise` differs from the other built-in commands in two ways.

**It can only be reached from a channel's noise reduction pages.** On **Channel Details → Noise Reduction → Alert Grouping** or **Flapping Detection**, clicking **Let AI tune noise reduction** opens the AI SRE panel with that channel attached as a context reference and `/channel-noise` prefilled; the skill starts once you confirm and send it. Typing `/channel-noise` anywhere outside that turn — IM, automation rules, the Open API — is refused with `"/channel-noise can only be started from its entry in the console."`, because the skill needs a `channel_noise` context reference (which channel to work on, and whether the page is focused on alert grouping or flapping detection) to start at all. The `/` autocomplete does list it, but only the turn started from that entry can run it. It is also absent from the agent's available-skill catalog, so asking the agent in natural language to "look at this channel's alert noise" on another entry point will not select it.

**It writes configuration.** It reads that channel's own alert history (the last 30 days by default; the window can be shortened), works out where the noise comes from, then estimates 2–4 candidate **alert grouping** and **flapping detection** settings and recommends one. Only after you explicitly confirm does it write them with `fduty channel update` and read the channel back to verify. The scope is limited to `group` (alert grouping) and `flapping` (flapping detection); for event aggregation, silence, inhibit and drop rules it only gives you the recommended change and the page to make it on. When you use it on the form page itself, it can also fill the recommended values into the form for you to apply by clicking **Save**.

## Install from marketplace

The skill Marketplace is part of the plugin catalog on **Customize → Plugins → Overview**, under the **Skill** category; search by name or description.
Expand Down
Loading