Skip to content

Commit b64ab3f

Browse files
authored
Merge pull request #409 from flashcatcloud/doc-review/2026-09-17-082804
docs: daily doc-review 2026-09-17 — 32 findings (2 high / 14 medium / 16 low)
2 parents bbfc0d8 + 903cbbf commit b64ab3f

32 files changed

Lines changed: 352 additions & 58 deletions

‎en/ai-sre/artifacts.mdx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ Each card shows:
6868

6969
- A kind icon in the preview area: determined by file extension and content type — images, PDF, HTML, Markdown, tables (CSV / TSV), JSON, archives, and source code each get a dedicated icon, falling back to a generic file icon when the type can't be recognized;
7070
- The title (single line, truncated beyond that; hover to see the full title);
71-
- A **Created …** relative timestamp shown first — just now / N minutes ago / N hours ago / N days ago, or a specific date beyond 30 days. An **Edited …** line appears alongside only when the edit time differs from the creation time (the artifact was updated after creation); legacy rows without `created_at` show only "Edited …";
71+
- A single **Edited …** relative timestamp (the artifact's last update time; for an artifact never updated after creation, the update time is its creation time) — just now / N minutes ago / N hours ago / N days ago. Relative time is used at any age: an older artifact still shows "Nd ago" instead of falling back to a concrete date. Hover the timestamp for the exact time down to the minute, and note that the **Created at** / **Updated at** columns of the list view give exact times directly;
7272
- A scope badge in the bottom right: team artifacts show the team name (highlighted green); personal artifacts show the creator's name (gray).
7373

7474
Clicking the card body opens the artifact's detail page. Hovering over a card reveals a "More actions" button in the top-right corner (always visible on touch devices).
@@ -115,7 +115,7 @@ The detail page route is `/ai-sre/artifacts/:artifactId`. The top toolbar offers
115115

116116
Below the title there is a **source-session strip**:
117117

118-
- It shows the artifact's own "Created …" / "Edited …" timestamps (like the list cards: both are shown only when they differ);
118+
- It shows the artifact's own **"Edited …"** relative timestamp (like the list cards; hover it for the exact time down to the minute);
119119
- When you still have access to the artifact's source session, the strip also shows a **"Recently updated from session 〈session name〉"** button — the session name is resolved from the source session via `/safari/session/get`, and clicking it opens that session's full conversation (`chat?session_id=<sessionID>`, messages, tool calls, artifact history). If the source session was deleted or you no longer have access, the button is hidden and the artifact itself remains fully viewable.
120120

121121
The body renders the artifact according to its actual content type (for example, an HTML report renders inline as a page).

‎en/ai-sre/mcp.mdx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ The dialog creates the connector on the **first submit only**. After that its co
6969
Installed MCP servers record a `source_template_name` field that points back to the originating template, making it easy to trace the server's provenance later. **Marketplace-installed MCP servers are fixed to Shared scope** (account-level, `team_id` is 0) and available to all members of the account; no team owner can be chosen at install time, and the same template can only produce one instance per account.
7070

7171
<Warning>
72-
A template that **requires a Runner** (the `requires_runner` flag in its details) can only be used in an environment where you have deployed a BYOC Runner; cloud Sandboxes do not support it. `requires_runner` is independent of transport, and today's 55-template catalog contains both kinds: 27 **HTTP Streaming** templates that need no Runner, and 28 **stdio** templates that do — including Alibaba Cloud OpenAPI, Alibaba Cloud Observability, Nightingale (n9e), Gitee, GreptimeDB, Prometheus, Grafana (Self-Hosted), Kafka (Confluent), AWS, ClickHouse, MySQL, PostgreSQL, Alibaba Cloud RDS, Redis, and MongoDB. Those stdio templates are launched locally on each environment via `uvx` / `npx`, and a cloud Sandbox cannot launch local subprocesses; confirm your account has a working BYOC Runner configured before installing. See [Environments (BYOC)](/en/ai-sre/environments).
72+
A template that **requires a Runner** (the `requires_runner` flag in its details) can only be used in an environment where you have deployed a BYOC Runner; cloud Sandboxes do not support it. `requires_runner` is independent of transport, and today's 50-template catalog contains both kinds: 23 **HTTP Streaming** templates that need no Runner, and 27 **stdio** templates that do — including Alibaba Cloud OpenAPI, Alibaba Cloud Observability, Nightingale (n9e), Gitee, GreptimeDB, Prometheus, Grafana (Self-Hosted), Kafka (Confluent), AWS, ClickHouse, MySQL, PostgreSQL, Alibaba Cloud RDS, Redis, and MongoDB. Those stdio templates are launched locally on each environment via `uvx` / `npx`, and a cloud Sandbox cannot launch local subprocesses; confirm your account has a working BYOC Runner configured before installing. See [Environments (BYOC)](/en/ai-sre/environments).
7373
</Warning>
7474

7575
## Adding an MCP Server
@@ -125,7 +125,7 @@ MCP servers support three **authorization modes** that determine how credentials
125125
<Tab title="Service authorization (default)">
126126
All sessions call with the same service identity. Credentials are written directly into the server configuration — for HTTP/SSE transport, in the **Headers** (JSON) (e.g., `{ "Authorization": "Bearer xxx" }`); for stdio transport, in the **environment variables** (JSON) (e.g., `{ "API_KEY": "xxx" }`). Suitable for internal systems accessed with account-level service tokens.
127127

128-
Credentials are **encrypted at rest**: on save, any entry whose key name contains `KEY`, `SECRET`, `TOKEN`, `PASSWORD`, `PASSWD`, `CREDENTIAL`, or `AUTHORIZATION` (case-insensitive) has its value encrypted before storage and returned masked on read. Entries whose key name contains none of those words are stored as-is, so put credentials under a recognizable key name (such as `Authorization`, `X-API-Key`, or `GITHUB_TOKEN`).
128+
Credentials are **encrypted at rest**: on save, any entry whose key name contains `KEY`, `SECRET`, `TOKEN`, `PASSWORD`, `PASSWD`, `CREDENTIAL`, or `AUTHORIZATION` (case-insensitive) has its value encrypted before storage and returned masked on read; in addition, an entry whose key name has a whole non-alphanumeric-delimited segment equal to `PWD` or `PASS` is treated the same way — `REDIS_PWD`, `db-pass` and a bare `PWD` all qualify, while `BYPASS` and `COMPASS` (which only contain that text inside a segment) do not. Entries matching none of these rules are stored as-is, so put credentials under a recognizable key name (such as `Authorization`, `X-API-Key`, or `GITHUB_TOKEN`).
129129

130130
A service authorization means any session in the account can call the system as that service identity. If it exposes members' personal data or allows high-risk writes, prefer "Member authorization (key)" or "Member authorization (OAuth)".
131131
</Tab>

‎en/ai-sre/overview.mdx‎

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,43 @@ AI SRE is available to accounts holding a **valid (enabled)** On-call Pro or hig
5959
<Accordion title="Billing" icon="gift">
6060
AI SRE is billed on actual usage starting September 16, 2026, 08:00 Beijing time, settled in credits (1 credit = ¥1); usage before that date isn't charged. Metered items are model usage, sandbox online time, and web search. Activation is free, eligible accounts get gift credits each billing period, and you can also buy credit packages (1,000 / 5,000 / 20,000 credits for ¥950 / ¥4,500 / ¥17,000, valid 365 days from payment). Pay-as-you-go is off by default; an admin can turn it on and optionally set a per-period cap. Full terms: [AI SRE Credit Package Purchase Agreement](/en/compliance/ai-sre-credit-package-purchase-agreement).
6161

62-
When the gift credits, credit packages, and wallet balance are all used up, AI SRE refuses new conversation requests: the composer is disabled and a **non-dismissible** notice stays pinned above it (the text comes from the server and covers all three shapes — "not activated yet", "this period's allowance is spent", and "the wallet is empty"), with a **Go to AI SRE billing** button that opens the billing center (`/wallet/plan?product=ai-sre`). An admin turns on pay-as-you-go, buys a credit package, or tops up the wallet there; once the state recovers, you can continue the conversation.
62+
When the gift credits, credit packages, and wallet balance are all used up, AI SRE refuses new conversation requests: the composer is disabled and a **non-dismissible** notice stays pinned above it (the text comes from the server and covers all four shapes — "not activated yet", "turned off", "this period's allowance is spent", and "the wallet is empty"), with a **Go to AI SRE billing** button that opens the billing center (`/wallet/plan?product=ai-sre`). An admin turns on pay-as-you-go, buys a credit package, or tops up the wallet there; once the state recovers, you can continue the conversation.
6363
</Accordion>
6464
<Accordion title="Human Authorization" icon="user-check">
6565
Production changes, restarts, rollbacks, and external notifications all require your confirmation before they execute.
6666
</Accordion>
6767
</AccordionGroup>
6868

69+
### Activating and closing AI SRE
70+
71+
Both directions are self-service on the same card in the console: open the billing center from the left navigation (**Payment** → **Plan**, the page titled "Your Plans") and select the **AI SRE** tab — that is `/wallet/plan?product=ai-sre`, the same destination as the **Go to AI SRE billing** entry in the credits notice. The billing center is available on SaaS only, so On-Premises deployments have no such tab.
72+
73+
Opening the page requires **Payment Read**. The **Enable AI SRE** and **Disable AI SRE** buttons additionally require wallet purchase permission (the console's own wording next to the activation entry is "Wallet purchase permission required"); without it the buttons are disabled and hovering shows "You are not authorized for this operation".
74+
75+
| Action | Button | Cost | Result |
76+
|--------|--------|------|--------|
77+
| Enable | **Enable AI SRE** (shown while the card reads **Not enabled**) | ¥0, nothing is charged | Places a ¥0 order; once it completes, the card reads **Enabled** |
78+
| Disable | **Disable AI SRE** (shown while the card reads **Enabled**) | ¥0, nothing is charged and nothing is refunded | Places a ¥0 unsubscribe order; the order completes once the server confirms the service is off, and the card reads **Not enabled** again |
79+
80+
**Disable AI SRE** first opens a confirmation dialog, "Disable AI SRE?", whose body reads "After you disable it, this account can no longer start AI SRE investigations. Purchased credit packages and gift credits are retained, and you can enable it again at any time." Once you confirm, the console polls the order status and reports one of the following:
81+
82+
| Order outcome | Console message |
83+
|---------------|-----------------|
84+
| Completed | AI SRE disabled |
85+
| Still no terminal state after about a minute of polling (order still being processed) | Your request to disable AI SRE was submitted and is still being processed. Refresh in a moment to see the result. |
86+
| Failed | Failed to disable AI SRE. Please try again. |
87+
88+
What disabling changes:
89+
90+
- **No new investigations**: after you disable it, this account can no longer start AI SRE investigations, and a refused request gets the server's own sentence, "AI SRE is turned off for this account. Turn it back on to continue." (the credits overview reports `blocked_reason=turned_off`). A top-level run that has already started is not interrupted, and the usage it goes on to produce is still metered.
91+
- **Credits and packages are retained**: neither the gift credits nor the balance and validity of purchased credit packages are cleared by disabling the service, and they are usable again after you re-enable it (gift credits themselves remain usable only within the billing period they were granted for, per the Agreement). Re-enabling is simply running **Enable AI SRE** again — nothing else is required.
92+
- **Nothing is charged or refunded**: disabling itself costs nothing and triggers no refund; package refunds still follow the [AI SRE Credit Package Purchase Agreement](/en/compliance/ai-sre-credit-package-purchase-agreement).
93+
- **Arrears and a lapsed subscription do not block it**: disabling checks neither the wallet balance nor a valid On-call subscription, so an account in arrears or with a lapsed subscription can still turn the service off.
94+
95+
<Warning>
96+
Disabling requires the server to confirm the service is off. If that confirmation fails, the order is not completed and the console shows "Failed to disable AI SRE. Please try again." — retry directly; nothing else has to be done first.
97+
</Warning>
98+
6999
### When the subscription lapses
70100

71101
Every request re-checks the account's On-call subscription, so a subscription that lapses pauses AI SRE immediately. The interface shows the server's own sentence, and distinguishes two cases whose remedies differ — don't apply the wrong one:

‎en/ai-sre/sessions.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ When the console publishes a new version, a **version update notice** appears ab
141141

142142
**These entry points also carry a default question**, and the capsule sits at the spot the entry marks inside that sentence. Entering from a monitor target page, for instance, pre-fills "请分析这个监控对象 〈reference capsule〉:基于真实观测数据判断当前是否有问题或隐患,说明依据与影响面,并给出下一步排查或处置建议。请区分已确认事实、合理推断和待确认项;证据不足时明确说明不确定,不要过度归因"; entering from the datasource list pre-fills "调用 〈reference capsule〉 的 overview tool,校验 overview tool 是否可用". The prefill is only a draft — edit it, delete it, or send it as-is.
143143

144-
**A multi-object batch handoff pre-fills nothing**: when you click **AI analysis** on several incidents from the incident list, the input box gets no default question (it may stay empty) and no reference capsule lands in it — those references travel with the message instead. A single message can carry multiple references. Besides objects carried in automatically from a related page, you can also type `@` directly in any session's input box to trigger an incident search dropdown (supporting fuzzy keyword search and a list of recent incidents); selecting one inserts the same kind of reference capsule — a standalone entry point available at any time. Typing an email address does not false-trigger it: when the `@` directly follows an email-address character (a letter, a digit, or one of `._%+-`), the picker does not open; an `@` after a space or adjacent to Chinese text still triggers it.
144+
**A handoff carrying exactly one reference pre-fills its question**: when the merged context refs resolve to a single ref that carries the entry's default question, the input box is pre-filled with that question and the `[[ref]]` placeholder becomes the reference capsule. Clicking **AI analysis** on several incidents from the incident list, for example, pre-fills "Batch-analyze these incidents 〈reference capsule〉: first determine how they relate to each other (a shared root cause, a cascading chain, or fully independent) and group them accordingly; then give the likely root cause and impact for each group; finally give an overall remediation recommendation with priority. Fetch a single incident's details with tools only when needed, rather than expanding every incident up front. Separate confirmed facts, reasonable inferences, and open questions; state clearly when the evidence is insufficient, and never claim to have performed actions that were not performed.", with the capsule titled "Incident list (N)". A handoff carrying several references pre-fills nothing and leaves the input box as it is. A single message can carry multiple references. Besides objects carried in automatically from a related page, you can also type `@` directly in any session's input box to trigger an incident search dropdown (supporting fuzzy keyword search and a list of recent incidents); selecting one inserts the same kind of reference capsule — a standalone entry point available at any time. Typing an email address does not false-trigger it: when the `@` directly follows an email-address character (a letter, a digit, or one of `._%+-`), the picker does not open; an `@` after a space or adjacent to Chinese text still triggers it.
145145
</Accordion>
146146
<Accordion title="Knowledge and skills" icon="book">
147147
When a session starts, the knowledge packs and skills for the bound team are loaded automatically. See <a href="/en/ai-sre/knowledge">Knowledges</a> and <a href="/en/ai-sre/skills">Skills</a> for details.

‎en/ai-sre/skills.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ Click any row in the list to open the skill's **detail panel**:
205205
- **Right side**: content preview of the selected file, with the skill description shown at the top.
206206
- **Header area**: skill name (short reference in the form `skill-xxxxxx`), scope label (shared / team name), source template version badge (hover to see "From Marketplace — template name `v<version>`"), **Update available** marker, author, `version`, and the full SkillID.
207207
- **Actions**: try in chat (injects `/<skill-name>` into a new session), update to latest version, edit in chat, replace, download, uninstall.
208-
- **Try asking**: if the skill declares `examples` in the `SKILL.md` frontmatter, the detail panel lists up to 2 sample questions; clicking one opens a new session with that skill plus the question pre-filled (never sent automatically).
208+
- **Try asking**: if the skill declares `examples` in the `SKILL.md` frontmatter, a **Try asking** toggle appears below the header area of the detail panel, **collapsed by default** — the sample questions are not laid out until you click it; expanding it lists up to 2 sample questions, and clicking one opens a new session with that skill plus the question pre-filled (never sent automatically). The bottom of the expanded area carries the hint "Clicking a question opens a new chat with it filled in. Review it, then send."
209209

210210
<Tip>
211211
When a skill package is **too large to preview**, the detail panel displays the file size and suggests using "Download" instead.

0 commit comments

Comments
 (0)