From 3383abe79f327a272948f7f843a3484694c8c556 Mon Sep 17 00:00:00 2001 From: ysyneu Date: Mon, 19 Oct 2026 04:48:12 -0700 Subject: [PATCH 1/2] docs(changelog): backfill product updates from 2026-10-08 to 2026-10-19 Add the user-visible changes of 10-08 to 10-19 that the changelog was missing, in zh and en. New blocks for 10-19, 10-18, 10-17, 10-11, 10-10 and 10-08; existing 10-16, 10-15, 10-14, 10-13, 10-12 and 10-09 blocks gain items. The 10-15 block leads with the wildcard matching change in filter conditions, since existing conditions may match differently. --- en/changelog/changelog.mdx | 187 ++++++++++++++++++++++++++++++++++++- zh/changelog/changelog.mdx | 187 ++++++++++++++++++++++++++++++++++++- 2 files changed, 372 insertions(+), 2 deletions(-) diff --git a/en/changelog/changelog.mdx b/en/changelog/changelog.mdx index b7a260ff..7d8ddd9f 100644 --- a/en/changelog/changelog.mdx +++ b/en/changelog/changelog.mdx @@ -4,6 +4,69 @@ description: "This page documents important updates and feature releases for Fla keywords: ["Changelog", "Product Release", "Feature Updates", "Flashduty", "Version History"] --- + + +### Channel rule lists are now tables + +The **Escalation rule**, **Silence rule**, **Inhibit rule**, and **Drop rule** lists in a channel's configuration changed from cards to tables, and each row expands to show the rule's details. All escalation rules appear on one page; drag the **Order** column to reorder them. Expand a rule to see its match conditions and levels, and select **Edit** to open the editor at that section. The silence list adds an **Effective time** column, and **Last modified** is hidden by default (show it from the view menu). See [Escalation rules](/en/on-call/channel/escalation-rule). + +### Self-built WeCom apps link members automatically + +After you save a self-built WeCom app integration, members are linked automatically, as with DingTalk and Feishu: the system looks up each member's WeCom account by phone number, then by email, and rescans every hour. Third-party apps still use **One-click link**. If the first link is refused or doesn't finish (for example, WeCom doesn't trust Flashduty's IP yet, or the DingTalk or Feishu app's lookup permission isn't active yet), the system retries 1, 2, 5, and 10 minutes later and stops at the first run that finishes. Members outside the app's visible range are retried on the next scan. See [WeCom](/en/on-call/integration/instant-messaging/wecom#linked-users). + +### Regenerate DingTalk event subscription keys on the integration detail page + +Step 2 of the DingTalk integration detail page has a new **Generate and show** button (**Generate again** once keys are stored). It creates a new **Encrypted aes_key** and **Signing token** pair and saves it right away. The new values are shown only this once and are gone when you leave the page, so copy them into DingTalk's event subscription immediately. Regenerating asks you to confirm first and invalidates the saved pair at once; it requires edit permission on the integration. See [DingTalk](/en/on-call/integration/instant-messaging/dingtalk). + +### IM cards guide you to the resolve form + +When you close an incident from a DingTalk, Feishu, Slack, Microsoft Teams, or WeCom card and the incident's channel requires a resolve form, the bot replies to you with an **Open the resolve form** link. The incident closes after you submit the form on the incident page. Previously the click gave no feedback in this case. See [Custom forms](/en/on-call/configuration/custom-forms). + +### Status page custom domains and WeCom access domains can't be shared + +A domain can't be both a status page custom domain and the Flashduty-hosted access domain of a self-built WeCom app. Saving a status page is refused if any account's WeCom integration already holds the domain, and saving a WeCom access domain is refused if a status page or another Flashduty account already uses it; use a different domain. See [Configure status page basics](/en/on-call/statuspage/create-manage-page). + +### AI SRE can look up the original text after context compaction + +After a session is compacted, the earlier messages and tool results are still kept. When a later step needs an exact value from that part (an ID, host name, metric value, threshold, log line, error text, or command), the agent looks it up in the original instead of relying on the summary, and says so if it can't find it. Images and attachments are kept only as placeholders, and a sub-agent's internal steps are not included. See [Console chat · Context compaction](/en/ai-sre/sessions#context-compaction). + +### Artifacts support multi-file pages, canvases, slides, video, audio, and tables + +AI SRE can publish a multi-file HTML page, with its styles, scripts, and images, as an artifact: up to 255 files and 64 MiB per publish. New viewers: + +- **Canvas**: several pages laid out on a surface you can pan and zoom (2%–400%); select a board to view it full window +- **Slides**: 1920×1080 pages, navigated with the arrow keys or Space, with **Present** for full screen +- **Tables**: csv / tsv files with a sticky header, showing up to 1000 rows and 200 columns +- **Video and audio**: mp4, webm, mov and mp3, m4a, wav play in the browser's own player + +See [Artifacts](/en/ai-sre/artifacts). + + + + + +### RUM data queries get a timeout and a per-account concurrency limit + +RUM data queries run for at most 55 seconds and facet counts for at most 28 seconds. On timeout they return "The query timed out. Please narrow the time range or reduce the group-by fields." (HTTP 400); narrow the time range or use fewer group-by fields. An account can run only a limited number of queries at once; extra queries wait in a queue, and the wait counts toward the same timeout. A query that times out or whose client disconnects is also stopped on the server. See [Data query syntax guide](/en/rum/explorer/data-query). + +### Hash-route single-page apps split views by route + +For single-page apps that use hash routing (URLs like `/app/#/list`), the part after `#` that starts with `/` is now included in the view's URL path and path group: each route becomes its own view and its own row in performance analysis. The route's query string is dropped, and path segments that contain digits are grouped as `?`. Only data reported after the release is affected. See [Web SDK advanced configuration](/en/rum/sdk/web/advanced-config#override-default-rum-view-names). + + + + + +### Integration secrets read as `******` + +For webhooks, custom actions, HTTP pull and database pull alert integrations, Feishu, DingTalk, WeCom, Slack, Jira, ServiceNow, and ServiceDesk Plus, every read API returns `******` in place of secrets, tokens, passwords, header values, and push URLs. Saving without retyping a value keeps the stored one. If you change the destination (for example the webhook URL, database host or port, or IM API address) and keep a stored secret, the update is refused until you enter the secrets again. The DingTalk `aes_key` and `token` are shown only once, when generated. See [Webhook custom actions](/en/on-call/integration/webhooks/custom-actions). + +### Manual sign-in in the WeCom workbench saves the account link + +When you open the Flashduty third-party app in the WeCom workbench and automatic sign-in fails because your account isn't linked, signing in manually now saves the link between your WeCom and Flashduty accounts, and later visits sign you in automatically. Previously a manual sign-in didn't save the link, so you had to sign in every time. See [WeCom](/en/on-call/integration/instant-messaging/wecom). + + + ### AI SRE automations gain an execution place: rules can be bound to the IM chat that created them @@ -25,9 +88,35 @@ You can switch between the two at any time. See [Issue status management](/en/ru After you save or edit a DingTalk or Feishu integration, the system tries to link members right away and then rescans every enabled integration hourly: it exchanges each member's profile phone number (Feishu also uses email) for an IM account ID, with no action from the member and no need to sign in through IM first. To retry immediately, click **One-click link** on the integration detail page. WeCom still uses the page's **One-click link**. See [DingTalk](/en/on-call/integration/instant-messaging/dingtalk) and [Feishu](/en/on-call/integration/instant-messaging/lark). +### DingTalk: members linked by phone get single-chat cards and @mentions + +DingTalk members linked by phone number didn't receive single-chat cards and weren't @mentioned in group cards. They now are, and @mentions of on-call members work too. Repeat notifications in DingTalk, Slack, and Microsoft Teams groups @mention the responders again. See [DingTalk](/en/on-call/integration/instant-messaging/dingtalk). + +### Reordering escalation rules no longer changes their modified time + +After you drag to reorder escalation rules, each rule keeps its **Last modified** time. Previously a single drag made every rule in the channel show as just modified. See [Escalation rules](/en/on-call/channel/escalation-rule). + +### Standard alert events: alert_key over 255 bytes is replaced by its MD5 + +When you push an event whose `alert_key` is longer than 255 bytes (bytes, not characters), the system uses its MD5, a 32-character lowercase hex string, as the alert identifier and returns it in the response. The same value always gives the same MD5, so grouping and recovery are unaffected; later events can use either the original value or the returned one. See [Standard alert event](/en/on-call/integration/alert-integration/alert-sources/standard-alert). + +### Alert rules: additional tags edited row by row, with Go template values + +In the rule form and in batch edit, **Additional tags** now takes one tag per row: the label name on the left, the label value on the right, and **Add label** for a new row. A value that contains `{{` is rendered as a Go template, with `$labels`, `$annotations`, `$values`, `$severity`, and `$status` available; a value that starts with `[TPL]` is still passed to On-call as is. Label names are trimmed, must be unique, and can't start with `__alert_rule_`. If a template fails to render, only that label is dropped and the alert is still sent. See [Get started with Flashduty Monitors](/en/monitors/quickstart/quickstart#append-label-syntax). + +### AI SRE posts a note in IM after dispatching a sub-agent + +In IM, when AI SRE hands an investigation to a sub-agent and expects it to take more than a minute, it first posts one message saying what it sent the sub-agent to find out and roughly how long that should take. It sends nothing more while waiting, and the conclusion arrives separately when the sub-agent finishes. If the agent already replied earlier in the turn, no extra message is sent. See [IM platform · How a reply reaches the chat](/en/ai-sre/im#how-a-reply-reaches-the-chat). + - + + +### Wildcard values in filter conditions now match literally + +In a wildcard value (one that contains `*` or `?`), only `*` (any number of characters) and `?` (exactly one character; previously zero or one) are wildcards. Every other character, including `.`, `(`, `)`, `[`, `]`, and `|`, matches literally instead of being read as a regular expression. For example, `host[0-9]*` only matches values that start with `host[0-9]`; for a character class or a group, write a regular expression wrapped in `/`, such as `/^host[0-9]+.*$/`. + +Existing wildcard values that used regular-expression syntax were rewritten to the equivalent `/…/` expression and still match the same alerts. Values with only parentheses or a single `.` were not rewritten and now match literally, so check such conditions. Values such as `C++*`, which previously failed to save with a syntax error, can now be saved. See [Filter conditions](/en/on-call/configuration/filter-conditions#matching-methods). ### AI-assisted noise reduction: let AI analyze a channel's noise and configure it @@ -41,6 +130,30 @@ For an investigation entry whose variable values and query contain no `{{`, **Pr Moving rules in the rule list now opens a **Move to another folder** dialog with a search box for folders. See [Alert rules · Investigation entries](/en/monitors/alert-rules/investigation-entries) and [Folders](/en/monitors/folders/folders). +### New alert integration: Alibaba Cloud DataWorks + +Alert integrations now include **Alibaba Cloud DataWorks**, which pushes Alibaba Cloud DataWorks Intelligent Monitor (Operation Center) alert events to Flashduty On-call through a custom webhook. See [Alibaba Cloud DataWorks integration](/en/on-call/integration/alert-integration/alert-sources/aliyun-dataworks-op). + +### Alert grouping: non-strict mode explained, no confirm dialog when switching + +With **Strict mode** off, the page now explains that a field empty on both sides counts as a match, but at least one field must have a value; alerts whose compared fields are all empty don't group. With it on, any empty field counts as different. Switching the grouping method card no longer opens a confirm dialog: the page shows that method's settings right away, keeps what you entered, and applies the change only after you select **Save**. See [Noise reduction](/en/on-call/channel/noise-reduction). + +### DingTalk and Feishu: questions typed right after @ AI SRE are answered + +In DingTalk and Feishu groups, a question typed right after the @ mention with no space used to be treated as an empty message and got no reply. It's now answered. In DingTalk, an @ message that carries only an image or file is also processed instead of skipped. See [IM platform](/en/ai-sre/im). + +### Moving and cloning dashboards uses a searchable folder dialog + +**Move to another folder** and **Clone to another folder** in the dashboard list's **More** menu now open the same dialog as moving alert rules: **Search folders** at the top filters the folder tree, and you can **Retry** if loading fails. When moving, the confirm button stays disabled while the dashboard's current folder is selected. See [Dashboards](/en/monitors/dashboards/dashboards). + +### Monitors lists remember rows per page + +The alert rule, active alert, dashboard, data source, engine, and lost-alert rule lists, plus the query result tables, remember the rows-per-page value you choose. It's stored in your browser, so it persists across refreshes and later visits but doesn't sync across browsers or devices; the current page number isn't remembered. See [Active alerts](/en/monitors/alert-rules/active-alerts). + +### Remote configuration for Electron apps + +Electron apps now show the **Remote configuration** tab, where you can change **Session sample rate**, **Capture additional sessions on error**, and **Custom settings** without a release. The SDK setup page has a new **Allow remote configuration** switch (on by default); when on, the generated main-process `init()` includes `remoteConfigurationEnabled: true`. It requires `@flashcatcloud/electron-sdk` 0.4.0 or later; remote configuration isn't delivered to the renderer process. See [Application management](/en/rum/quickstart/app-management#remote-configuration). + @@ -57,6 +170,10 @@ AI SRE downloads images, documents and voice messages from the chat and hands th The CLI gains a global `--fields` flag: with `json` / `toon` output it keeps only the listed top-level fields, on every command including OpenAPI-generated ones. Table output ignores the flag and says so on stderr. See [CLI](/en/developer/cli). +### API: listing raw alert events requires a time range of up to 31 days + +`POST /alert-event/list` now requires both `start_time` and `end_time` (Unix seconds). `start_time` must be less than `end_time`, and the span can't exceed 31 days; a missing bound or a longer span returns an invalid-parameter error. See [List raw alert events](/en/api-reference/on-call/alerts/alert-event-read-list). + @@ -102,6 +219,22 @@ The dashboard list page gains a **Global search** at the top right: it searches In the panel editor's query **Options**, a Loki **table** or **stat** panel now lets you choose the **Query mode** yourself: **Range** computes point by point along the step to draw a trend, **Instant** computes a single value over the whole time range (`[$__auto]` takes the whole range) — table defaults to instant and stat to range. Loki time series stay fixed at range, and Loki instant does not accept a **min step**. Query-type template variables now get a form shaped by the data source: MySQL writes SQL, Loki fills a stream selector plus a label name, and other data sources use the Prometheus label form. The query is now pre-checked in the editor for the three patterns the backend refuses on save — a multi-select or "all" variable inside an exact matcher, a reference to an undefined variable, and a built-in variable unavailable for the current data source and query mode — and the exact-matcher one comes with a one-click **Switch to regex match**. **Preview candidates** now runs with the current variable selections and the panel's time range, so the preview matches what the dashboard actually renders. See [Dashboards](/en/monitors/dashboards/dashboards). +### Service calendar decides each day by layer, with one-step day setting + +A service calendar decides each day by the first layer that has a setting: **Set manually**, then linked holiday calendars, then **Weekly day off**. In a holiday calendar, a make-up workday wins over a day off, and a day with no setting in any layer is a workday. Select a day or a range, then choose **Set as workday**, **Set as day off**, or **Reset to default** in one bar, with an optional note; there's no separate add-event step. Manually set days have a ring, and hovering a day shows which layer decided it and which settings it overrode. China official holiday calendars now include make-up workdays, which are marked as workdays when linked. See [Service calendar](/en/on-call/configuration/service-calendar). + +### Capture additional sessions on error for HarmonyOS apps + +The **Remote configuration** tab of a HarmonyOS app has a new **Capture additional sessions on error** switch under **Data collection** (on / off / use SDK setting). Sessions not selected by session sampling are buffered locally, and when the SDK detects an error it uploads up to 1 minute of data from before the error. It requires HarmonyOS SDK 0.7.0 or later and a call to `.setRemoteConfigurationEnabled(true)` at initialization. HarmonyOS has no matching replay switch. See [Application management](/en/rum/quickstart/app-management#remote-configuration). + +### RUM data queries follow application read access + +The RUM explorer, dashboards, and data query API return only data from applications you can read. If a query names an application you can't read, the whole query fails; if it names none, applications you can't read are left out of the result. Account owners and admins can read all applications. A request can name at most 50 applications. See [Application management](/en/rum/quickstart/app-management#application-permissions). + +### New processing receipt emoji for AI SRE in IM + +The processing receipt AI SRE adds to your message now uses only "working on it" emoji: Typing and OneSecond on Feishu, 专注 and 忙疯了 on DingTalk, and eyes and hourglass_flowing_sand on Slack. The emoji is removed once the reply arrives. See [IM platform · Processing receipt](/en/ai-sre/im#processing-receipt). + @@ -119,9 +252,41 @@ The expressions of a **Recovery Query** and a **Related Query** now accept the G Self-hosted deployments should note the version requirement: a Go template needs **every** registered monit-edge in the clusters of the data sources matched by the rule to be `v0.75.4` or later, and saving is rejected otherwise; the `${label_name}` syntax is not subject to it. See [Alert rules · Prometheus](/en/monitors/alert-rules/prometheus). +### AI SRE automations: run a disabled rule manually + +A disabled rule can still be run once with **Run manually**. Schedule, API call, and On-call incident triggers fire only while the rule is enabled. Manual runs are still subject to the usual permission, scope, and environment checks. See [AI SRE automations](/en/ai-sre/automations). + +### Insights data is kept for 3 years + +Insights statistics are kept for 3 years (1095 days). A single query still covers at most one year, and daily aggregation at most 31 days. When an incident is deleted or merged, its statistics are removed with it. See [Insights](/en/on-call/analytics/insights). + + + +### AI SRE answers link platform resources to console pages + +When an AI SRE answer mentions a platform resource, it now includes a clickable console link instead of only an ID. This covers incidents, alerts, channels, schedules, calendars, alert rules, dashboards, notification templates, post-incident reviews, RUM issues, status pages (admin side), and integrations. Members, teams, and roles have no page of their own and are still cited by name and ID. See [Console chat](/en/ai-sre/sessions). + + + + + +### Full-screen integration catalog and integration requests + +The add-integration list is grouped into collapsible categories: only **Popular** (alert events) or **CI/CD & deploy** (change events) starts expanded, and during search each category header shows its hit count. Select **View all** next to the search box to open a full-screen catalog with categories on the left and integration cards with short descriptions on the right; the generic integrations (Standard alert event, Email, Feishu, DingTalk, WeCom, PagerDuty, Opsgenie, HTTP Pull, DB Pull) come first. Adding a private integration in a channel opens the same catalog, titled **New private integration**. If your system isn't listed, connect it with a generic integration, or select **Submit a request** to send the system name, a website or docs link, and notes; we review it and reply by email (not available in private deployments). See [Integrate data](/en/on-call/channel/integrate-data#browsing-and-finding-integrations). + +### Feishu topic groups include the previous 10 minutes; DingTalk passes quotes + +In Feishu groups with topic replies turned on, a top-level @ AI SRE that opens a new topic now includes the group's messages from the 10 minutes before the @ (up to 20, bot messages excluded). Replies inside a topic read only that topic. In DingTalk, when you quote a message and @ AI SRE, the quoted text goes to the AI; quoted images are attached like other images and count toward the 5-image per-turn limit. See [IM platform](/en/ai-sre/im). + +### New automation preset: Memory Consolidation + +A new preset, **Memory Consolidation** (category **Memory**), runs every Monday at 00:00 by default. It's created disabled, so you turn it on yourself. Each run reads every memory in the current scope, merges duplicates into one file, and deletes the files that were merged in. It doesn't read session transcripts, create new memories, or change MEMORY.md. See [AI SRE automations](/en/ai-sre/automations). + + + ### Dashboards: built-in time variables and display time zone @@ -142,9 +307,29 @@ The remote MCP service `https://mcp.flashcat.cloud/mcp` now accepts both APP key `flashduty automation create` and `flashduty automation update` gain `--timezone` (an IANA zone name): when omitted, `create` lets the server take the caller's member time zone, then the account time zone, then fall back to `Asia/Shanghai`; when omitted on `update` the stored zone is kept, while an explicit empty value is stored as UTC — and the next fire time is recalculated immediately. `alert list` also gains `--alert-ids`, `--alert-keys`, `--asc` and `--by-updated-at`. See [CLI](/en/developer/cli). +### RUM performance diagnosis down to the element and script + +Page details in performance analysis add three ranking tables, **LCP elements**, **Interaction targets** (INP), and **Shifted elements** (CLS), with each element's share of views and P75. When the LCP element loads a resource, its LCP resource URL is shown too (views reported earlier don't have it). A new **Scripts blocking the main thread** table sums long-task time by script, invoker, and function; only Chromium-based browsers report script attribution. Stack frames located by character offset now resolve to the source file and line once you upload a source map. See [Data analysis guide](/en/rum/performance/performance-analysis) and [Source mapping and error tracking](/en/rum/error-tracking/source-mapping). + +### Status page widget no longer shows an unknown state from an expired cache + +When the status data behind the widget is older than 30 seconds, it's fetched again. If that fetch fails, the cached data is kept, and the widget shows the unknown state only after 120 seconds without a successful fetch. Previously, after a page had no visitors for a while, the widget could show **Status temporarily unavailable** while your services were healthy. See [Widgets](/en/on-call/statuspage/widgets). + + + +### Open the incident detail drawer as a full page + +The top right of the incident detail drawer has a new **Open as full page** button, which opens the incident as a full page on the same tab. **Copy details link to clipboard** and **Close** sit beside it. See [Search and view incidents](/en/on-call/incident/search-view-incident). + +### AI SRE replies drop the chat bubble + +AI SRE replies no longer sit in a bubble or show an avatar; your own messages stay in a bubble on the right. After a turn ends, tool calls stay in place as one-line summaries. See [Console chat](/en/ai-sre/sessions). + + + ### Monitors dashboards: comparisons, cross-panel cursor linking and point-value filtering diff --git a/zh/changelog/changelog.mdx b/zh/changelog/changelog.mdx index b85314d3..7c940260 100644 --- a/zh/changelog/changelog.mdx +++ b/zh/changelog/changelog.mdx @@ -4,6 +4,69 @@ description: "本页面记录 Flashduty 产品的重要更新和功能发布" keywords: ["更新日志", "产品发布", "功能更新", "Flashduty", "版本记录"] --- + + +### 协作空间规则列表改为表格 + +协作空间配置下的 **分派策略**、**静默策略**、**抑制策略** 和 **排除规则** 四个列表由卡片改为表格,每行可展开查看规则详情。分派策略全部显示在一页,拖动 **分派顺序** 列调整顺序;展开后可看到匹配条件和各环节,点 **编辑** 直接打开对应部分。静默策略列表新增 **生效时间** 列,**上次修改** 列默认隐藏,可在视图菜单中显示。详见[分派策略](/zh/on-call/channel/escalation-rule)。 + +### 企业微信自建应用自动关联成员 + +企业微信自建应用集成保存后,与钉钉、飞书一样自动关联成员:先按成员的手机号、再按邮箱查找企业微信账号,之后每小时再扫描一次。第三方应用仍使用 **一键关联**。首次关联被拒绝或没有完成时(例如企业微信还没信任 Flashduty 的 IP,或钉钉、飞书应用的查人权限还没生效),系统在 1、2、5、10 分钟后各重试一次,任一次完成即停止;不在应用可见范围内的成员会在下一次扫描时重试。详见[企业微信](/zh/on-call/integration/instant-messaging/wecom#关联用户)。 + +### 钉钉集成详情页可重新生成事件订阅密钥 + +钉钉集成详情页第 2 步新增 **生成并显示** 按钮(已保存过密钥时显示为 **重新生成**),生成一套新的 **加密 aes_key** 和 **签名 token** 并立即保存。新值只显示这一次,离开页面后看不到,请马上复制到钉钉的事件订阅。重新生成前会弹出确认,已保存的那一套立即失效;操作需要集成的编辑权限。详见[钉钉](/zh/on-call/integration/instant-messaging/dingtalk)。 + +### IM 卡片关闭故障时引导填写关闭表单 + +在钉钉、飞书、Slack、Microsoft Teams、企业微信的故障卡片上点击关闭时,如果故障所在协作空间要求填写关闭表单,机器人会回复点击人一条消息,附 **前往填写关闭表单** 链接,在故障页面提交表单后故障才会关闭。此前这种情况下点击没有任何反馈。详见[自定义表单](/zh/on-call/configuration/custom-forms)。 + +### 状态页自定义域名与企业微信访问域名不能共用 + +同一个域名不能既做状态页的自定义域名,又做由 Flashduty 托管的企业微信自建应用访问域名。保存状态页时,若域名已被任一账户的企业微信集成占用,保存会被拒绝;保存企业微信访问域名时,若域名已被状态页或其他 Flashduty 账户占用,同样会被拒绝,需要改用其他域名。详见[配置状态页基础信息](/zh/on-call/statuspage/create-manage-page#自定义域名)。 + +### AI SRE 上下文压缩后可回查原文 + +会话被压缩后,较早的原始消息和工具结果仍然保留。后续步骤需要其中的精确值(ID、主机名、指标值、阈值、日志行、报错文本、命令)时,Agent 会回查原文,不只依据摘要;查不到时会直接说明。图片和附件只保留占位说明,子 Agent 的内部步骤不在其中。详见[控制台对话 · 上下文压缩](/zh/ai-sre/sessions#上下文压缩)。 + +### 产物支持多文件页面、画布、幻灯片与音视频、表格 + +AI SRE 可以把带样式、脚本和图片的多文件 HTML 页面发布为产物,单次最多 255 个文件、共 64 MiB。新增的查看方式: + +- **画布**:多个页面平铺在一张可拖动、缩放(2%–400%)的画布上,点击单个画板全屏查看 +- **幻灯片**:每页 1920×1080,支持方向键、空格翻页和 **全屏演示** +- **表格**:csv / tsv 文件,表头固定,最多显示 1000 行、200 列 +- **视频与音频**:mp4、webm、mov 和 mp3、m4a、wav 用浏览器自带播放器播放 + +详见[产物](/zh/ai-sre/artifacts)。 + + + + + +### RUM 数据查询新增超时与账户并发上限 + +RUM 数据查询最长执行 55 秒,分面计数最长 28 秒,超时后返回 “The query timed out. Please narrow the time range or reduce the group-by fields.”(HTTP 400),请缩小时间范围或减少分组字段。同一账户同时执行的查询数有上限,超出的查询排队,排队时间计入同一超时。超时或客户端中断的查询会在服务端同时停止。详见[数据查询语法指南](/zh/rum/explorer/data-query)。 + +### 哈希路由的单页应用按路由拆分视图 + +使用哈希路由(URL 形如 `/app/#/list`)的单页应用,`#` 后以 `/` 开头的部分现在计入视图的 URL 路径与路径分组:不同路由成为不同视图,性能分析里也按路由分行。路由里的查询参数会去掉,含数字的路径段按 `?` 归并。只对发布后上报的数据生效。详见 [Web SDK 高级配置](/zh/rum/sdk/web/advanced-config#覆盖默认-rum-视图名称)。 + + + + + +### 集成密钥在读取接口中一律显示为 `******` + +Webhook、自定义操作、HTTP 拉取与数据库拉取告警集成、飞书、钉钉、企业微信、Slack、Jira、ServiceNow、ServiceDesk Plus 集成中的密钥、令牌、密码、请求头值和推送地址,所有读取接口一律返回 `******`。保存时不重新输入,则保留已存的值。修改目标地址(例如 Webhook URL、数据库主机或端口、IM 接口地址)而沿用已存密钥时,更新会被拒绝,需要重新输入密钥。钉钉的 `aes_key` 和 `token` 只在生成时显示一次。详见 [Webhook 自定义操作](/zh/on-call/integration/webhooks/custom-actions)。 + +### 企业微信工作台手动登录后保存账号关联 + +在企业微信工作台打开 Flashduty 第三方应用时,如果自动登录因账号未关联而失败,改用手动登录成功后,系统会保存企业微信账号与 Flashduty 账号的关联,之后再进入应用会自动登录。此前手动登录不会写入关联,每次都要重新登录。详见[企业微信](/zh/on-call/integration/instant-messaging/wecom)。 + + + ### AI SRE 自动化新增「执行位置」:规则可绑定到发起它的 IM 会话 @@ -25,9 +88,35 @@ Issue 状态下拉里的 **已解决** 与 **在下一版本中解决** 是同 保存或编辑钉钉、飞书集成后,系统会立即尝试关联一次成员,之后每小时再扫描一遍已启用的集成:用成员个人资料里的手机号(飞书同时用邮箱)换取 IM 账号 ID,成员不需要手动操作,也不需要先在 IM 里登录一次。想立刻重试时,可在集成详情页点 **一键关联**。企业微信仍用页面上的 **一键关联**。详见[钉钉](/zh/on-call/integration/instant-messaging/dingtalk)与[飞书](/zh/on-call/integration/instant-messaging/lark)。 +### 钉钉:手机号关联的成员可收到单聊卡片并被 @ + +通过手机号关联的钉钉成员,此前收不到单聊卡片,群聊卡片也不会 @ 到他们;现在都可以,值班成员的 @ 同样生效。重复通知在钉钉、Slack 与 Microsoft Teams 群里也恢复了对处理人员的 @。详见[钉钉](/zh/on-call/integration/instant-messaging/dingtalk)。 + +### 拖动调整分派策略顺序不再改动修改时间 + +拖动调整分派策略的顺序后,各策略的 **上次修改** 时间保持不变。此前一次拖动会让该协作空间的所有策略都显示为刚刚修改。详见[分派策略](/zh/on-call/channel/escalation-rule)。 + +### 标准告警事件:超过 255 字节的 alert_key 以 MD5 代替 + +推送告警事件时,`alert_key` 超过 255 字节(按字节计,不是字符数)的,系统改用它的 MD5(32 位小写十六进制字符串)作为告警标识,并在响应中返回。相同的值总是得到相同的 MD5,告警合并与恢复不受影响;之后上报时用原值或返回值均可。详见[标准告警事件](/zh/on-call/integration/alert-integration/alert-sources/standard-alert)。 + +### 告警规则:附加标签按行编辑,标签值支持 Go 模板 + +规则表单和批量编辑里的 **附加标签** 改为一行一个标签:左边填标签名,右边填标签值,用 **添加标签** 新增一行。标签值包含 `{{` 时按 Go 模板渲染,可用 `$labels`、`$annotations`、`$values`、`$severity`、`$status`;以 `[TPL]` 开头的值仍原样交给 On-call 渲染。标签名去掉首尾空白后不能重复,也不能以 `__alert_rule_` 开头;模板渲染失败时只丢弃该标签,告警照常发送。详见 [Flashduty Monitors 入门指南](/zh/monitors/quickstart/quickstart#append-label-syntax)。 + +### AI SRE 在 IM 中派出子 Agent 后先发一条说明 + +在 IM 里,AI SRE 把排查交给子 Agent、且预计超过 1 分钟时,会先发一条消息,说明派出去查什么、大约要多久,等待期间不再播报;子 Agent 完成后,结论照常单独发出。本回合已经回复过的,不会再多发。详见 [IM 平台 · 答复如何抵达聊天](/zh/ai-sre/im#答复如何抵达聊天)。 + - + + +### 过滤条件的通配值改为按字面匹配 + +过滤条件中含 `*` 或 `?` 的通配值,现在只有 `*`(任意个字符)和 `?`(恰好一个字符,此前为零个或一个)是通配符;`.`、`(`、`)`、`[`、`]`、`|` 等其他字符都按字面匹配,不再被当作正则。例如 `host[0-9]*` 只匹配以 `host[0-9]` 开头的值;需要字符类或分组时,请写成以 `/` 开始和结束的正则,例如 `/^host[0-9]+.*$/`。 + +已有条件里用到正则语法的通配值,已改写为等效的 `/…/` 正则,仍匹配原来的告警;只含括号或单个 `.` 的值没有改写,现在按字面匹配,请检查这类条件。`C++*` 这类此前因语法错误无法保存的值,现在可以保存。详见[过滤条件](/zh/on-call/configuration/filter-conditions#匹配方式)。 ### AI 辅助降噪:让 AI 分析协作空间的噪音并直接配置 @@ -41,6 +130,30 @@ Issue 状态下拉里的 **已解决** 与 **在下一版本中解决** 是同 规则列表的移动操作换成 **移动到其他分组** 对话框,顶部可搜索分组。详见[告警规则 · 调查入口](/zh/monitors/alert-rules/investigation-entries)与[文件夹管理](/zh/monitors/folders/folders)。 +### 新增告警集成:DataWorks 运维中心 + +告警集成新增 **DataWorks 运维中心**,通过自定义 Webhook 把阿里云 DataWorks 智能监控(运维中心)的告警事件推送到 Flashduty On-call。详见 [DataWorks 运维中心集成](/zh/on-call/integration/alert-integration/alert-sources/aliyun-dataworks-op)。 + +### 告警聚合:说明非严格聚合,切换方式不再弹确认框 + +**严格聚合** 关闭时,页面说明:两边都为空的字段视为相同,但至少要有一个字段有值,参与比较的字段全部为空时不聚合;开启时任一字段为空即视为不同。切换聚合方式卡片不再弹出确认框,页面直接显示该方式的配置,已填写的内容保留,点 **保存** 后才生效。详见[告警降噪](/zh/on-call/channel/noise-reduction)。 + +### 钉钉与飞书:@ AI SRE 后紧跟问题也会回复 + +在钉钉和飞书群里,@ AI SRE 后不加空格直接写问题,此前会被当作空消息、没有回复;现在会正常回复。钉钉里只带图片或文件的 @ 消息也会处理,不再跳过。详见 [IM 平台](/zh/ai-sre/im)。 + +### 仪表盘移动与克隆改用可搜索的分组对话框 + +仪表盘列表 **更多** 菜单里的 **移动到其他分组** 与 **克隆到其他分组**,与告警规则的移动共用同一个对话框:顶部 **搜索分组** 按名称过滤文件夹树,加载失败时可 **重试**。移动时选中仪表盘当前所在的文件夹,确认按钮保持禁用。详见[仪表盘](/zh/monitors/dashboards/dashboards)。 + +### Monitors 列表记住每页条数 + +告警规则、活跃告警、仪表盘、数据源、引擎、失联告警规则列表以及查询结果表格,会把您选的每页条数记在浏览器本地,刷新或下次打开时沿用;换浏览器或设备不同步,当前页码不记住。详见[活跃告警](/zh/monitors/alert-rules/active-alerts)。 + +### Electron 应用开放远程配置 + +Electron 应用现在显示 **远程配置** 页签,可在线调整 **会话采样率**、**错误会话补充采集** 与 **自定义配置**,无需发版。SDK 配置页新增 **允许远程配置** 开关(默认开启),开启后生成的主进程 `init()` 带 `remoteConfigurationEnabled: true`。需要 `@flashcatcloud/electron-sdk` 0.4.0 及以上;远程配置不下发到渲染进程。详见[应用管理](/zh/rum/quickstart/app-management#远程配置)。 + @@ -57,6 +170,10 @@ AI SRE 会把聊天里的图片、文档与语音下载下来作为文件交给 CLI 新增全局参数 `--fields`:`json` / `toon` 输出时只保留逗号分隔的顶层字段,所有命令都可用,OpenAPI 生成的命令也在内。表格输出忽略该参数并在 stderr 提示。详见[命令行工具](/zh/developer/cli)。 +### API:查询原始告警事件须指定不超过 31 天的时间范围 + +`POST /alert-event/list` 现在必须同时传入 `start_time` 和 `end_time`(Unix 时间戳,秒),`start_time` 须小于 `end_time`,跨度不超过 31 天;缺少任一参数或跨度超限时返回参数错误。详见[列出原始告警事件](/zh/api-reference/on-call/alerts/alert-event-read-list)。 + @@ -102,6 +219,22 @@ CLI 新增全局参数 `--fields`:`json` / `toon` 输出时只保留逗号分 面板编辑器的查询 **选项** 里,Loki 的 **表格** 与 **单值** 面板现在可以自己选 **查询方式**:**区间** 按步长逐点计算画趋势、**即时** 整个时间范围算一个值(`[$__auto]` 取整段范围),表格默认即时、单值默认区间;Loki 时序仍固定区间,Loki 即时不接受 **最小步长**。查询类模板变量按数据源给出对应表单:MySQL 写 SQL、Loki 填 stream selector 与 label 名、其它数据源用 Prometheus 标签。查询表达式还会在编辑器里提前指出三类保存时会被拒绝的写法——多选或「可选全部」的变量写在精确匹配里、引用了未定义的变量、内置变量在当前数据源与查询方式下不可用;精确匹配那条可以一键 **改为正则匹配**。**预览候选** 也改为带上当前已选的变量值与面板时间范围去取数,预览结果与看板实际渲染一致。详见[仪表盘](/zh/monitors/dashboards/dashboards)。 +### 服务日历按层级判定每一天,日期设置一步完成 + +服务日历按 **手动设置**、关联的节假日日历、**每周休息日** 的顺序判定每一天,由最先有设置的一层决定;节假日日历里的调休补班日优先于休息日,都没有设置的日子是工作日。选中一天或一段日期后,在同一个操作栏里选 **设为工作日**、**设为休息日** 或 **恢复默认**,备注选填,不再需要单独添加事件。手动设置过的日期带边框,悬停可看到由哪一层决定以及被覆盖的设置。中国官方节假日日历现在包含调休补班日,关联后补班日标为工作日。详见[服务日历](/zh/on-call/configuration/service-calendar)。 + +### HarmonyOS 应用支持错误会话补充采集 + +HarmonyOS 应用的 **远程配置** 页签在 **数据采集** 里新增 **错误会话补充采集** 开关(开 / 关 / 沿用 SDK 设置):未被会话采样选中的会话先缓存在本地,SDK 检测到错误时补传错误前最多 1 分钟的数据。需要 HarmonyOS SDK 0.7.0 及以上,并在初始化时调用 `.setRemoteConfigurationEnabled(true)`;HarmonyOS 没有对应的回放开关。详见[应用管理](/zh/rum/quickstart/app-management#远程配置)。 + +### RUM 数据查询按应用读权限过滤 + +RUM 查看器、看板与数据查询接口只返回您有读权限的应用的数据。查询指定了您读不到的应用时,整次查询失败;没有指定应用时,结果自动排除您读不到的应用。账户所有者与管理员可读全部应用。单次请求最多指定 50 个应用。详见[应用管理](/zh/rum/quickstart/app-management#应用权限)。 + +### AI SRE IM 处理中回执换用新表情 + +AI SRE 收到消息后贴在该消息上的处理中回执,改为只用表示「正在处理」的表情:飞书为 Typing、OneSecond,钉钉为专注、忙疯了,Slack 为 eyes、hourglass_flowing_sand。答复送达后表情移除。详见 [IM 平台 · 处理中回执](/zh/ai-sre/im#处理中回执)。 + @@ -119,8 +252,40 @@ CLI 新增全局参数 `--fields`:`json` / `toon` 输出时只保留逗号分 私有化部署需要留意版本:使用 Go 模板时,该规则匹配到的数据源所在集群内 **所有** 已注册的 monit-edge 都必须是 `v0.75.4` 或以上,否则保存会被拒绝;继续使用 `${label_name}` 不受这个版本限制。详见[告警规则 · Prometheus](/zh/monitors/alert-rules/prometheus)。 +### AI SRE 自动化:停用的规则也可手动执行 + +规则处于停用状态时,仍可点 **手动执行** 运行一次;按周期、经 API 调用和 On-call 故障触发只在规则启用时生效。手动执行同样受权限、作用域和运行环境检查约束。详见 [AI SRE 自动化](/zh/ai-sre/automations)。 + +### 分析看板数据保留 3 年 + +分析看板的统计数据保留 3 年(1095 天)。单次查询的时间范围仍不超过 1 年,按天聚合时不超过 31 天。故障被删除或合并时,其统计数据随之移除。详见[分析看板](/zh/on-call/analytics/insights)。 + + + + + + +### AI SRE 回答中的平台资源附控制台链接 + +AI SRE 在回答中提到平台资源时,会附上可点击的控制台链接,不再只写 ID。覆盖故障、告警、协作空间、值班表、日历、告警规则、仪表盘、通知模板、复盘、RUM Issue、状态页(管理端)和集成。成员、团队、角色没有独立页面,仍以名称和 ID 表示。详见[控制台对话](/zh/ai-sre/sessions)。 + + + +### 集成目录全屏展示,可提交集成需求 + +添加集成的列表按分类折叠:告警事件默认只展开 **热门**,变更事件默认只展开 **CI/CD 与部署**,搜索时每个分类标题显示命中数。点搜索框旁的 **查看全部** 打开全屏集成目录,左侧为分类,右侧为带简介的集成卡片;标准告警事件、邮件、飞书、钉钉、企业微信、PagerDuty、Opsgenie、HTTP Pull、DB Pull 这几个通用集成排在前面。协作空间里添加专属集成也使用同一个目录(标题为 **新增专属集成**)。找不到要接的系统时,可先用通用集成接入,或点 **提交需求** 填写系统名称、官网或文档链接和补充说明,评估后我们通过邮箱联系您(私有化部署不提供)。详见[集成数据](/zh/on-call/channel/integrate-data#浏览与查找集成)。 + +### 飞书话题群带入前 10 分钟群消息,钉钉支持引用 + +在开启话题回复的飞书群里,顶层 @ AI SRE 新开话题时,会带入该群 @ 之前 10 分钟内的消息(最多 20 条,不含机器人消息),话题内的回复只读该话题。钉钉里引用一条消息再 @ AI SRE,被引用的文字会一起交给 AI;被引用的图片按附件处理,计入每轮 5 张的图片额度。详见 [IM 平台](/zh/ai-sre/im)。 + +### AI SRE 自动化新增预设模板「记忆整理」 + +预设模板新增 **记忆整理**(分类 **记忆**),默认每周一 00:00 执行,创建后为停用状态,需要您手动启用。每次运行会通读当前作用域下的全部记忆,把重复内容合并进一个文件并删除被合并的文件;不读取会话记录,不新建记忆,也不改动 MEMORY.md。详见 [AI SRE 自动化](/zh/ai-sre/automations)。 + + @@ -142,9 +307,29 @@ CLI 新增全局参数 `--fields`:`json` / `toon` 输出时只保留逗号分 `flashduty automation create` 与 `flashduty automation update` 新增 `--timezone`(IANA 时区名):省略时 `create` 由服务端依次取调用者的成员时区、账户时区,最后回退 `Asia/Shanghai`;`update` 省略时保留已存储的时区,显式传空值会按 UTC 存储,并且会立即重算下次触发时间。同时 `alert list` 新增 `--alert-ids`、`--alert-keys`、`--asc`、`--by-updated-at`。详见[命令行工具](/zh/developer/cli)。 +### RUM 性能诊断下钻到元素与脚本 + +性能分析的页面详情新增 **LCP 元素**、**交互元素**(INP)、**位移元素**(CLS)三张排行表,列出元素的视图占比与 P75;LCP 元素加载了资源时同时显示 LCP 资源 URL(此前上报的视图没有该数据)。新增 **阻塞主线程的脚本** 表,按脚本、调用方与函数汇总长任务耗时,脚本归因只有 Chromium 内核浏览器上报。以字符偏移给出位置的堆栈帧,上传 SourceMap 后也能还原到源码文件与行号。详见[数据分析指南](/zh/rum/performance/performance-analysis)与[源码映射与异常追踪](/zh/rum/error-tracking/source-mapping)。 + +### 状态页 Widget 不再因缓存过期显示未知状态 + +Widget 读取的状态数据超过 30 秒时,会重新获取一次;获取失败时沿用缓存数据,超过 120 秒仍未获取成功才显示未知状态。此前页面长时间无人访问后,Widget 可能在服务正常时显示 **暂时无法获取服务状态**。详见[嵌入组件(Widget)](/zh/on-call/statuspage/widgets)。 + + + +### 故障详情抽屉可在页面中打开 + +故障详情抽屉右上角新增 **在页面中打开** 按钮,以整页打开该故障并停留在当前页签;旁边是 **将详情链接复制到剪贴板** 和 **关闭**。详见[检索与查看故障](/zh/on-call/incident/search-view-incident)。 + +### AI SRE 对话区去掉回复气泡 + +AI SRE 的回复不再放在气泡里,也不显示头像;您自己的消息仍在右侧气泡中。工具调用在回合结束后以单行摘要留在原位。详见[控制台对话](/zh/ai-sre/sessions)。 + + + ### 监控仪表盘:同环比对比、多图光标联动与点值筛选 From 117d32d59f879a70ca0a4e4f2f2d410f597266fc Mon Sep 17 00:00:00 2001 From: ysyneu Date: Mon, 19 Oct 2026 05:15:52 -0700 Subject: [PATCH 2/2] docs: refresh stale pages to match current console and product behavior DingTalk event-subscription keys are generated on the integration detail page, artifacts accept multi-file pages, canvas, slides, tables and media, the automation button reads Run manually, RUM on-error switches use the console labels, the widget snippet uses the current widget version, and the 2026-09-23 DingTalk emoji receipt lands on the @-mention message. --- en/ai-sre/artifacts.mdx | 19 ++++++++++++++++--- en/ai-sre/automations.mdx | 10 +++++----- en/changelog/changelog.mdx | 2 +- .../instant-messaging/dingtalk.mdx | 2 +- en/on-call/statuspage/widgets.mdx | 4 ++-- en/rum/explorer/data-query.mdx | 2 +- en/rum/quickstart/app-management.mdx | 10 +++++----- en/rum/sdk/electron/advanced-config.mdx | 4 ++-- en/rum/sdk/electron/compatible.mdx | 2 +- en/rum/sdk/harmony/advanced-config.mdx | 2 +- en/rum/session-replay/session-viewing.mdx | 2 +- zh/ai-sre/artifacts.mdx | 19 ++++++++++++++++--- zh/ai-sre/automations.mdx | 2 +- zh/changelog/changelog.mdx | 2 +- .../instant-messaging/dingtalk.mdx | 2 +- zh/on-call/statuspage/widgets.mdx | 4 ++-- zh/rum/explorer/data-query.mdx | 2 +- zh/rum/quickstart/app-management.mdx | 10 +++++----- zh/rum/sdk/electron/advanced-config.mdx | 4 ++-- zh/rum/sdk/electron/compatible.mdx | 2 +- zh/rum/sdk/harmony/advanced-config.mdx | 2 +- 21 files changed, 67 insertions(+), 41 deletions(-) diff --git a/en/ai-sre/artifacts.mdx b/en/ai-sre/artifacts.mdx index 4b08c537..3179ed85 100644 --- a/en/ai-sre/artifacts.mdx +++ b/en/ai-sre/artifacts.mdx @@ -7,10 +7,10 @@ sidebarTitle: Artifacts ## Overview -An artifact is a file AI SRE produces in a session and publishes to the artifact gallery. There are two ways to publish, and they accept different types: +An artifact is a file AI SRE produces in a session and publishes to the artifact gallery. There are two ways to publish: -- **The agent publishes**: HTML / Markdown documents only (`.html` `.htm` `.md` `.markdown`). Each one is a self-contained report or page. The most common example is the operational insight report that `/insight` generates in a session. The agent doesn't publish other types. -- **You publish**: select the "Publish to artifact gallery" button next to a file in the session (see [Creating an artifact](#creating-an-artifact) below). This accepts a wider set of types: +- **The agent publishes**: the agent publishes its output from the session as an artifact, in any of the types in the table below. The most common example is the operational insight report that `/insight` generates in a session. +- **You publish**: select the "Publish to artifact gallery" button next to a file in the session (see [Creating an artifact](#creating-an-artifact) below). @@ -19,6 +19,7 @@ An artifact is a file AI SRE produces in a session and publishes to the artifact | Web pages & documents | `.html` `.htm` `.md` `.markdown` `.txt` `.log` | | Data & config | `.csv` `.tsv` `.json` `.yaml` `.yml` `.xml` `.toml` `.ini` | | Images | `.png` `.jpg` `.jpeg` `.gif` `.svg` `.webp` | + | Video & audio | `.mp4` `.webm` `.mov` `.mp3` `.m4a` `.wav` | | PDF | `.pdf` | | Source code | `.py` `.go` `.js` `.mjs` `.ts` `.jsx` `.tsx` `.java` `.c` `.h` `.cpp` `.cs` `.rb` `.rs` `.php` `.sh` `.sql` `.kt` `.swift` `.scala` `.css` `.vue` `.svelte` `.proto` `.tf` `.hcl`, and more | | Archives | `.zip` `.tar` `.gz` `.tgz` | @@ -31,6 +32,18 @@ A published artifact initially inherits its source session's scope: artifacts fr Entry point: **AI SRE → Artifacts** in the left navigation. +### Content forms and how they display + +| Form | What you see | +|---|---| +| Multi-file page | One HTML page can bundle its styles, scripts, and images and is shown as-is on the artifact detail page. A single publish allows up to 255 files (including the entry page) and 64 MiB in total. A page, text, data, or code file can be up to 16 MiB each; images, video, audio, PDF, and archives up to 15 MiB each | +| Canvas | Several pages laid out on one canvas that you can pan and zoom (2%–400%); select a board to view it full window. Suited to reviewing several interface designs side by side | +| Slides | Each page is a fixed 1920×1080. Turn pages with the arrow keys or Space, and select **Present** for full screen | +| Table | `.csv` / `.tsv` files display as a table with a fixed header row. Up to 1000 rows and 200 columns are shown, within 20000 cells in total, so a wide table shows fewer rows | +| Video & audio | `.mp4` `.webm` `.mov` and `.mp3` `.m4a` `.wav` play in the browser's built-in player | + +A publish that exceeds the file-count or size limits is rejected with the reason; trim the files and publish again. + You can't upload files to the artifact gallery directly. The agent produces and publishes every artifact in a session, and **New artifact** also opens a session for this. The gallery is for browsing, searching, and managing published artifacts. diff --git a/en/ai-sre/automations.mdx b/en/ai-sre/automations.mdx index 7e345684..d1202be8 100644 --- a/en/ai-sre/automations.mdx +++ b/en/ai-sre/automations.mdx @@ -264,7 +264,7 @@ The preset template **War room initial analysis** (template key `war_room_initia ## Run history -Every rule keeps its run history. Click a rule row to open its detail page: the left column shows **Configuration** and the right column shows **Run History**. The **Run now** button at the top of the right column triggers a run directly. That button does not appear when **War room created** is the rule's only trigger — those runs happen in the IM group, so the rule has no console run. +Every rule keeps its run history. Click a rule row to open its detail page: the left column shows **Configuration** and the right column shows **Run History**. The **Run manually** button at the top of the right column triggers a run directly. That button does not appear when **War room created** is the rule's only trigger — those runs happen in the IM group, so the rule has no console run. Run history is shown as a table with these columns: @@ -308,9 +308,9 @@ When a run's status is `failed`, `blocked`, `abandoned` or `skipped`, the **Name |---|---| | AI SRE is not enabled, or this period's credits or balance are used up; the run did not execute | Enable or top up on the AI SRE tab of **Payment → Plan** | | The On-call subscription has expired or its plan does not include AI SRE; AI SRE is paused | Renew or upgrade on the On-call tab of **Payment → Plan** | -| The run did not finish in time and was abandoned | Click **Run now** on the rule detail page to retry | -| The run was interrupted | Click **Run now** on the rule detail page to retry | -| The run ended without a final reply | Click **Run now** on the rule detail page to retry | +| The run did not finish in time and was abandoned | Click **Run manually** on the rule detail page to retry | +| The run was interrupted | Click **Run manually** on the rule detail page to retry | +| The run ended without a final reply | Click **Run manually** on the rule detail page to retry | | Joined another analysis | Click the row to open the analysis that took over the incident | Other reasons show the text recorded by the system. @@ -328,7 +328,7 @@ Each rule offers a set of actions in the **Actions** column: | Action | Notes | |---|---| | Enable / Disable | An inline switch. When disabled, the rule is kept but no longer triggers; disabling does not delete existing run history. | -| Run now | Starts one real run manually from the rule row. The action performs preflight checks first. For a rule at the **Web** execution place it creates a hidden session and opens it; for an **IM** rule it opens a new session in the bound IM chat, and the console only shows **Manual run submitted. Check the run history for progress.** Manual runs are limited to one per rule per minute. When **War room created** is the rule's only trigger, neither the list nor the detail page offers this action — such a rule produces no console run, and calling the run-now API returns an error. | +| Run manually | Starts one real run manually from the rule row. The action performs preflight checks first. For a rule at the **Web** execution place it creates a hidden session and opens it; for an **IM** rule it opens a new session in the bound IM chat, and the console only shows **Manual run submitted. Check the run history for progress.** Manual runs are limited to one per rule per minute. When **War room created** is the rule's only trigger, neither the list nor the detail page offers this action — such a rule produces no console run, and calling the run-now API returns an error. | Clicking anywhere on the rule row opens its detail page, where you can edit the configuration, delete the rule, and view its run history (see "Run History" above). diff --git a/en/changelog/changelog.mdx b/en/changelog/changelog.mdx index 17b93034..714963ef 100644 --- a/en/changelog/changelog.mdx +++ b/en/changelog/changelog.mdx @@ -425,7 +425,7 @@ A Subagent is no longer confined to the parent session's environment: it can be ### AI SRE IM experience improvements -- **DingTalk ack emoji receipt**: after a member acknowledges (acks) an incident in IM, AI SRE marks the ack message with an emoji reaction as a receipt; the emoji is picked randomly from each platform's emoji pool and **removed once delivered** +- **DingTalk ack emoji receipt**: after a member @-mentions the bot in DingTalk, AI SRE marks that @-mention message with an emoji reaction as a receipt; the emoji is picked randomly from each platform's emoji pool and **removed once delivered** - **Progress notes as standalone messages**: in-turn progress notes are delivered as separate messages instead of being appended to the same reply - **Replies delivered immediately**: AI SRE replies are sent right away, with no duplicate final answer appended when the turn ends diff --git a/en/on-call/integration/instant-messaging/dingtalk.mdx b/en/on-call/integration/instant-messaging/dingtalk.mdx index b5536b35..fe60f9a8 100644 --- a/en/on-call/integration/instant-messaging/dingtalk.mdx +++ b/en/on-call/integration/instant-messaging/dingtalk.mdx @@ -78,7 +78,7 @@ If no Dingtalk AI streaming card template is configured, AI SRE falls back to st Go to Development Configuration → **Event Subscription**, set the push method to `HTTP Push`, then enter the **Request URL** shown in step 2 of the integration detail page, and the `Encryption aes_key` and `Signature token` you copied at creation. Click **Save**. -For security, the `Encryption aes_key` and `Signature token` are not shown again after they are saved. If you did not keep them, click **Generate again** on the integration edit page; after you save, the old values stop working, so enter the new ones here and in the group bot **Message Callback Token**. +For security, the `Encryption aes_key` and `Signature token` are not shown again after they are saved. If you did not keep them, click **Generate and show** in step 2 of the integration detail page. After you confirm, the old values stop working immediately, so enter the new ones here and in the group bot **Message Callback Token**. The new values are shown only once, so copy them first. Dingtalk verifies the request URL as soon as you save, so save the Dingtalk integration in Flashduty first. diff --git a/en/on-call/statuspage/widgets.mdx b/en/on-call/statuspage/widgets.mdx index 0d3b73a3..214c8fc2 100644 --- a/en/on-call/statuspage/widgets.mdx +++ b/en/on-call/statuspage/widgets.mdx @@ -40,7 +40,7 @@ Both forms support theme (Auto / Light / Dark) and language (中文 / English). ```html Status badge - + + diff --git a/en/rum/sdk/electron/compatible.mdx b/en/rum/sdk/electron/compatible.mdx index 6c7aaccf..fdee22ae 100644 --- a/en/rum/sdk/electron/compatible.mdx +++ b/en/rum/sdk/electron/compatible.mdx @@ -53,7 +53,7 @@ The page loaded by the current window does not need a host allowlist entry. | Renderer page experience | Supported | Matches Web SDK view, action, resource, error, and Web Vitals collection | | Session Replay | Supported | Requires direct renderer upload and a compatible CSP | | Session sampling and on-error session capture | Supported | Requires SDK 0.4.0 or later; sessions are drawn in the main process | -| Remote configuration | Supported | Requires SDK 0.4.0 or later; reads the session sample rate, on-error session capture, and custom configuration keys | +| Remote configuration | Supported | Requires SDK 0.4.0 or later; reads the session sample rate, **Capture additional sessions on error**, and custom configuration keys | | JavaScript source maps | Supported | Applies to main-process and renderer errors | | Native crash symbolication | Supported | Requires matching Breakpad symbol files | diff --git a/en/rum/sdk/harmony/advanced-config.mdx b/en/rum/sdk/harmony/advanced-config.mdx index b3dba07b..ba7004a5 100644 --- a/en/rum/sdk/harmony/advanced-config.mdx +++ b/en/rum/sdk/harmony/advanced-config.mdx @@ -223,7 +223,7 @@ Once enabled: - A sample rate **crossing zero** (from 0 to a non-zero rate, or the other way round) ends the current session immediately so the new rate redraws it — an emergency stop or restart does not have to wait for the session to rotate. Any other change waits for the next new session. - Fetched values are persisted locally, so the first session after a cold start is drawn under what was last published. When nothing has ever been fetched, or the console switched remote configuration off, the value set at initialization with `setSessionSampleRate` applies. - A request that fails, times out or comes back unreadable keeps the values already in force; nothing is wiped. The SDK retries twice shortly afterward, then waits for the next session or the next launch. -- The HarmonyOS SDK reads only the **session sample rate**, **on-error session capture** (`sessionOnError`) and **custom configuration keys**; the other fields have no effect. There is no Session Replay, so the replay and Trace switches never appear for a HarmonyOS application. +- The HarmonyOS SDK reads only the **session sample rate**, **Capture additional sessions on error** (`sessionOnError`) and **custom configuration keys**; the other fields have no effect. There is no Session Replay, so the replay and Trace switches never appear for a HarmonyOS application. - On-error capture is the same switch as `setSessionOnError` at initialization: a value published from the console overrides the init value for the sessions drawn afterwards. Sessions kept by on-error capture report a session sample rate of `0` and carry `session.sampled_for_error: true`; candidate sessions that never report an error are not uploaded and are not billed. See `session_sampled_for_error` in [Data query syntax guide](/en/rum/explorer/data-query) for how to filter them. diff --git a/en/rum/session-replay/session-viewing.mdx b/en/rum/session-replay/session-viewing.mdx index c76a52d3..9b2c1815 100644 --- a/en/rum/session-replay/session-viewing.mdx +++ b/en/rum/session-replay/session-viewing.mdx @@ -59,7 +59,7 @@ Through the "View All Events and Exceptions" feature, you can enter widescreen m - Filter by event type (such as clicks, page navigation) - Click on a specific event, and the player will automatically jump to the corresponding timestamp - With **error-session supplementary capture** on, an **error-captured session** keeps only a small slice of detail before the error. A Browser application turns this on under **Remote Configuration → Data collection**. The event counts above cover the whole session, so the list shows fewer events than those numbers. + With **Capture additional sessions on error** on, an **error-captured session** keeps only a small slice of detail before the error. A Browser application turns this on under **Remote Configuration → Data collection**. The event counts above cover the whole session, so the list shows fewer events than those numbers. A row marked "⋯" at the start of the timeline says when the stored detail begins, or that only a small slice before the error was kept. You can't click this row, and it doesn't appear when you drill into a single event. diff --git a/zh/ai-sre/artifacts.mdx b/zh/ai-sre/artifacts.mdx index f39370aa..29abaae8 100644 --- a/zh/ai-sre/artifacts.mdx +++ b/zh/ai-sre/artifacts.mdx @@ -7,10 +7,10 @@ sidebarTitle: 产物 ## 概述 -产物(Artifact)是 AI SRE 在会话中产出、再发布到产物库的文件。发布有两种方式,可发布的类型不同: +产物(Artifact)是 AI SRE 在会话中产出、再发布到产物库的文件。发布有两种方式: -- **Agent 自动发布**:只能发布 HTML / Markdown 文档(`.html` `.htm` `.md` `.markdown`),即一份自包含的报告或页面,最典型的是在会话里输入 `/insight` 生成的运营洞察报告。其它类型 Agent 不会发布。 -- **手动发布**:点击会话中文件旁的“发布到产物库”按钮(见下文 [新建产物](#新建产物)),可发布的类型更宽: +- **Agent 自动发布**:Agent 在会话中把产出发布为产物,可发布的类型与下表相同。最典型的是在会话里输入 `/insight` 生成的运营洞察报告。 +- **手动发布**:点击会话中文件旁的“发布到产物库”按钮(见下文 [新建产物](#新建产物))。 @@ -19,6 +19,7 @@ sidebarTitle: 产物 | 网页与文档 | `.html` `.htm` `.md` `.markdown` `.txt` `.log` | | 数据与配置 | `.csv` `.tsv` `.json` `.yaml` `.yml` `.xml` `.toml` `.ini` | | 图片 | `.png` `.jpg` `.jpeg` `.gif` `.svg` `.webp` | + | 视频与音频 | `.mp4` `.webm` `.mov` `.mp3` `.m4a` `.wav` | | PDF | `.pdf` | | 源码 | `.py` `.go` `.js` `.mjs` `.ts` `.jsx` `.tsx` `.java` `.c` `.h` `.cpp` `.cs` `.rb` `.rs` `.php` `.sh` `.sql` `.kt` `.swift` `.scala` `.css` `.vue` `.svelte` `.proto` `.tf` `.hcl` 等 | | 压缩包 | `.zip` `.tar` `.gz` `.tgz` | @@ -31,6 +32,18 @@ sidebarTitle: 产物 入口:左侧导航 **AI SRE → 产物**。 +### 内容形态与查看方式 + +| 形态 | 您看到的效果 | +|---|---| +| 多文件网页 | 一个 HTML 页面可带样式、脚本和图片,在产物详情页里按原样展示。单次发布最多 255 个文件(含入口页),总大小不超过 64 MiB;单个页面、文本、数据或代码文件不超过 16 MiB,图片、视频、音频、PDF 和压缩包每个不超过 15 MiB | +| 画布 | 多个页面平铺在一张画布上,可拖动、缩放(2%–400%),点击某个画板全屏查看。适合并排评审多个界面设计 | +| 幻灯片 | 每页固定 1920×1080,用方向键或空格翻页,点击 **全屏演示** 进入演示 | +| 表格 | `.csv` / `.tsv` 以表格显示,表头固定。最多显示 1000 行、200 列,且总计不超过 20000 个单元格,列多时显示的行数相应减少 | +| 视频与音频 | `.mp4` `.webm` `.mov` 和 `.mp3` `.m4a` `.wav` 用浏览器自带播放器播放 | + +文件数或大小超出发布限制时,发布会被拒绝并提示原因,精简文件后可重新发布。 + 产物库不能直接上传文件:产物都由 Agent 在会话中产出并发布,**新建产物** 也是跳转到会话完成。产物库负责浏览、检索与管理已发布的产物。 diff --git a/zh/ai-sre/automations.mdx b/zh/ai-sre/automations.mdx index 44afcb79..cfcc3f07 100644 --- a/zh/ai-sre/automations.mdx +++ b/zh/ai-sre/automations.mdx @@ -327,7 +327,7 @@ API 返回的运行记录还包含 `trigger_kind`,可能取值为 `schedule` | 操作 | 说明 | |---|---| | 启用 / 停用 | 行内开关。停用后规则保留,但不再触发;停用不会删除已有运行历史。 | -| 立即执行 | 在规则行手动启动一次真实运行。该操作会先做运行前检查。**Web** 执行位置的规则会新建一个隐藏会话并直接打开;**IM** 执行位置的规则在绑定的 IM 群聊里新开会话,控制台只提示 **手动执行已提交,请在执行历史中查看进度**。同一规则手动执行最多每分钟一次。当规则的唯一触发方式是 **作战室创建触发** 时,列表和详情页都不提供这个操作——这类规则不会产生控制台运行,调用立即执行接口会直接报错。 | +| 手动执行 | 在规则行手动启动一次真实运行。该操作会先做运行前检查。**Web** 执行位置的规则会新建一个隐藏会话并直接打开;**IM** 执行位置的规则在绑定的 IM 群聊里新开会话,控制台只提示 **手动执行已提交,请在执行历史中查看进度**。同一规则手动执行最多每分钟一次。当规则的唯一触发方式是 **作战室创建触发** 时,列表和详情页都不提供这个操作——这类规则不会产生控制台运行,调用立即执行接口会直接报错。 | 点击规则行任意位置会打开该规则的详情页,在详情页里可以编辑配置、删除规则,也能看到运行历史(见上文“运行历史”一节)。 diff --git a/zh/changelog/changelog.mdx b/zh/changelog/changelog.mdx index a3d9acdb..9befc10a 100644 --- a/zh/changelog/changelog.mdx +++ b/zh/changelog/changelog.mdx @@ -425,7 +425,7 @@ Subagent 不再局限于父会话的运行环境:可派发到 **cloud 云端 ### AI SRE IM 体验优化 -- **钉钉 ack 表情回执**:成员在 IM 中认领(ack)故障后,AI SRE 会在认领消息上贴一个表情回执;表情从各平台表情池随机选取,**答复送达后移除** +- **钉钉 ack 表情回执**:成员在钉钉中 @ 机器人提问后,AI SRE 会在这条 @ 机器人的消息上贴一个表情回执;表情从各平台表情池随机选取,**答复送达后移除** - **进度备注独立投递**:回合进行中的进度备注以独立消息投递,不再拼进同一条回复 - **回复即时送达**:AI SRE 的回复即时发送,回合结束不再追加重复的最终答案 diff --git a/zh/on-call/integration/instant-messaging/dingtalk.mdx b/zh/on-call/integration/instant-messaging/dingtalk.mdx index da09a3a0..dd783349 100644 --- a/zh/on-call/integration/instant-messaging/dingtalk.mdx +++ b/zh/on-call/integration/instant-messaging/dingtalk.mdx @@ -79,7 +79,7 @@ keywords: ["钉钉", "即时消息", "告警通知", "IM集成", "钉钉机器 进入 开发配置 → **事件订阅** 页面,设置推送方式为 `HTTP推送`,然后填入集成详情页第 2 步显示的 **请求网址**,以及创建时复制的 `加密 aes_key` 和 `签名 token`,点击 **保存**。 -出于安全考虑,`加密 aes_key` 和 `签名 token` 保存后不再显示。没有记下的话,在集成编辑页点 **重新生成**,保存后旧值失效,要把新值填到这里和群机器人的 **消息回调 token**。 +出于安全考虑,`加密 aes_key` 和 `签名 token` 保存后不再显示。没有记下的话,在集成详情页第 2 步点 **生成并显示**,确认后旧值立即失效,再把新值填到这里和群机器人的 **消息回调 token**。新值只显示一次,请先复制。 钉钉保存时会立即校验请求网址,因此需要先在 Flashduty 保存好钉钉集成。 diff --git a/zh/on-call/statuspage/widgets.mdx b/zh/on-call/statuspage/widgets.mdx index 4098cfd4..fecdfb27 100644 --- a/zh/on-call/statuspage/widgets.mdx +++ b/zh/on-call/statuspage/widgets.mdx @@ -40,7 +40,7 @@ Widget 功能默认开启,您无需任何配置即可使用。私有化部署 ```html 状态徽标 - + + 2s session_sampled_for_error:true ``` -异常补采的开关见应用管理中[远程配置](../quickstart/app-management#远程配置)的 **异常会话补采**(`sessionOnError`)与 **异常回放补采**(`sessionReplayOnError`)。 +异常补采的开关见应用管理中[远程配置](../quickstart/app-management#远程配置)的 **错误会话补充采集**(`sessionOnError`)与 **错误会话补充回放**(`sessionReplayOnError`)。 其中 `rc_version` 对应应用管理中[远程配置](../quickstart/app-management)的发布版本,可按配置版本筛选会话,评估远程配置发布(rollout)的生效情况。 diff --git a/zh/rum/quickstart/app-management.mdx b/zh/rum/quickstart/app-management.mdx index 2cc8a9d3..00980013 100644 --- a/zh/rum/quickstart/app-management.mdx +++ b/zh/rum/quickstart/app-management.mdx @@ -361,15 +361,15 @@ Link 集成会从当前事件上下文中提取变量并替换到 URL 模板中 |------|------|------| | **会话采样率** | 0–100 整数(%) | 采集会话的比例。留空表示不下发该项,各端沿用 SDK 初始化时设置的值 | | **会话回放采样率** | 0–100 整数(%) | 录制会话回放的比例。留空时沿用 SDK 设置 | -| **异常会话补采**(`sessionOnError`) | 开 / 关 / 沿用 SDK 设置 | 对会话采样未抽中的会话,报错后补报最多最近一分钟的事件,并继续采集;Web 应用需 Web SDK 0.3.0 及以上,HarmonyOS 应用需 HarmonyOS SDK 0.7.0 及以上,Electron 应用需 Electron SDK 0.4.0 及以上 | -| **异常回放补采**(`sessionReplayOnError`) | 开 / 关 / 沿用 SDK 设置 | 对已采集但回放采样未抽中的会话,报错后补报缓存回放并继续录制;仅支持 Web SDK 0.3.0 及以上 | +| **错误会话补充采集**(`sessionOnError`) | 开 / 关 / 沿用 SDK 设置 | 对会话采样未抽中的会话,报错后补报最多最近一分钟的事件,并继续采集;Web 应用需 Web SDK 0.3.0 及以上,HarmonyOS 应用需 HarmonyOS SDK 0.7.0 及以上,Electron 应用需 Electron SDK 0.4.0 及以上 | +| **错误会话补充回放**(`sessionReplayOnError`) | 开 / 关 / 沿用 SDK 设置 | 对已采集但回放采样未抽中的会话,报错后补报缓存回放并继续录制;仅支持 Web SDK 0.3.0 及以上 | | **Trace 采样率** | 0–100 整数(%) | 在已采集的会话中再按此比例做一次会话级采样,决定哪些会话为符合条件请求注入 trace 头;同一会话内的结果一致。整体 Trace 覆盖率约为「会话采样率 × Trace 采样率」。留空时沿用 SDK 设置 | | **回放脱敏级别** | `mask` / `mask-user-input` / `allow` | 会话回放对页面内容的默认遮蔽程度:`mask` 遮蔽文本并隐藏输入值;`mask-user-input` 保留页面文本、仅隐藏用户输入;`allow` 按原样录制。放宽级别会开始录制此前未采集的内容,且已上传的回放无法事后补充脱敏,发布前系统会再次确认 | | **自定义配置项** | 键值对,类型支持字符串 / 数字 / 布尔值 / JSON | 随远程配置下发到客户端、由应用代码读取,平台不解析其内容。最多 5 个;键名最长 64 字节(按 UTF-8 计,非字符数),单个值最大 4 KB,JSON 值最多嵌套 3 层(对象、数组各计一层),全部自定义项合计最大 16 KB | -两个异常补采开关独立设置:**开**下发 `true`,**关**下发 `false`,**沿用 SDK 设置**不下发该项,由 `init()` 中对应参数决定(未设置时默认关闭)。Browser 应用需使用 Web SDK 0.3.0 及以上,并在初始化时开启 `remoteConfigurationEnabled: true`;HarmonyOS 应用使用同一个 `sessionOnError` 开关(需 HarmonyOS SDK 0.7.0 及以上,初始化时调用 `.setRemoteConfigurationEnabled(true)`),没有回放补采开关;Electron 应用同样使用 `sessionOnError` 开关(需 Electron SDK 0.4.0 及以上,在主进程 `init()` 中开启 `remoteConfigurationEnabled: true`),也没有回放补采开关。关闭补采不影响普通采样已抽中的会话。补采范围、计费与限制见 [Web SDK 异常会话补采](/zh/rum/sdk/web/advanced-config#异常会话补采)。 +**错误会话补充采集**与**错误会话补充回放**两个开关独立设置:**开**下发 `true`,**关**下发 `false`,**沿用 SDK 设置**不下发该项,由 `init()` 中对应参数决定(未设置时默认关闭)。Browser 应用需使用 Web SDK 0.3.0 及以上,并在初始化时开启 `remoteConfigurationEnabled: true`;HarmonyOS 应用使用同一个 `sessionOnError` 开关(需 HarmonyOS SDK 0.7.0 及以上,初始化时调用 `.setRemoteConfigurationEnabled(true)`),没有回放补采开关;Electron 应用同样使用 `sessionOnError` 开关(需 Electron SDK 0.4.0 及以上,在主进程 `init()` 中开启 `remoteConfigurationEnabled: true`),也没有回放补采开关。关闭补采不影响普通采样已抽中的会话。补采范围、计费与限制见 [Web SDK 异常会话补采](/zh/rum/sdk/web/advanced-config#异常会话补采)。 -iOS、Android、Flutter 与微信小程序应用同样展示「远程配置」页签,但这几端的 SDK 仅读取**会话采样率**与**自定义配置项**两项。HarmonyOS 与 Electron 应用除这两项外还会读取**异常会话补采**。这些平台都没有通过远程配置下发的会话回放,其余配置不下发也不生效;Electron 的会话回放由渲染进程的 Browser SDK 自行采样,远程配置不会下发到渲染进程。 +iOS、Android、Flutter 与微信小程序应用同样展示「远程配置」页签,但这几端的 SDK 仅读取**会话采样率**与**自定义配置项**两项。HarmonyOS 与 Electron 应用除这两项外还会读取**错误会话补充采集**。这些平台都没有通过远程配置下发的会话回放,其余配置不下发也不生效;Electron 的会话回放由渲染进程的 Browser SDK 自行采样,远程配置不会下发到渲染进程。 各端 SDK 都需要在初始化时开启 `remoteConfigurationEnabled: true`(默认关闭,未开启的应用不会请求配置)。最低版本如下: @@ -377,7 +377,7 @@ iOS、Android、Flutter 与微信小程序应用同样展示「远程配置」 |------|----------|----------| | iOS | SDK 0.6.0 | [iOS SDK 高级配置](/zh/rum/sdk/ios/advanced-config) | | Android | SDK 0.7.0 | [Android SDK 高级配置](/zh/rum/sdk/android/advanced-config) | -| HarmonyOS | SDK 0.6.0(读取异常会话补采需 0.7.0) | [HarmonyOS SDK 高级配置](/zh/rum/sdk/harmony/advanced-config#远程配置) | +| HarmonyOS | SDK 0.6.0(读取错误会话补充采集需 0.7.0) | [HarmonyOS SDK 高级配置](/zh/rum/sdk/harmony/advanced-config#远程配置) | | Flutter | `flashcat_flutter_plugin` 0.2.0 | [Flutter SDK 高级配置](/zh/rum/sdk/flutter/advanced-config) | | Electron | `@flashcatcloud/electron-sdk` 0.4.0,在主进程开启 | [Electron SDK 高级配置](/zh/rum/sdk/electron/advanced-config#远程配置) | diff --git a/zh/rum/sdk/electron/advanced-config.mdx b/zh/rum/sdk/electron/advanced-config.mdx index 5dba9ec2..3d3a4e9a 100644 --- a/zh/rum/sdk/electron/advanced-config.mdx +++ b/zh/rum/sdk/electron/advanced-config.mdx @@ -90,7 +90,7 @@ await init({ ## 远程配置 -Electron SDK 0.4.0 起,会话采样率、异常会话补采与自定义配置项可以在控制台 **应用管理 → 远程配置** 页签在线调整,无需改代码、重新发版。该功能默认关闭,需要在主进程初始化时开启: +Electron SDK 0.4.0 起,会话采样率、错误会话补充采集与自定义配置项可以在控制台 **应用管理 → 远程配置** 页签在线调整,无需改代码、重新发版。该功能默认关闭,需要在主进程初始化时开启: ```ts main.ts await init({ @@ -108,7 +108,7 @@ await init({ - 控制台下发的值优先于初始化值;控制台未设置的项、或控制台停用远程配置时,沿用初始化值。 - 最近一次接收的配置保存在应用的 `userData` 目录,冷启动后的新会话在网络返回前、甚至离线时也会按它抽样。缓存只对相同的上报地址、应用、`env` 与 `version` 生效。 - 请求失败、超时或响应无法识别时,沿用已生效的配置;SDK 会短暂重试两次。 -- Electron SDK 只读取**会话采样率**、**异常会话补采**与**自定义配置项**三项。会话回放由渲染进程的 Browser SDK 自行录制与采样,远程配置不会下发到渲染进程,回放与 Trace 相关的配置项不会在 Electron 应用里出现。 +- Electron SDK 只读取**会话采样率**、**错误会话补充采集**与**自定义配置项**三项。会话回放由渲染进程的 Browser SDK 自行录制与采样,远程配置不会下发到渲染进程,回放与 Trace 相关的配置项不会在 Electron 应用里出现。 - 渲染进程无需开启远程配置,主进程会统一处理会话与采样。 diff --git a/zh/rum/sdk/electron/compatible.mdx b/zh/rum/sdk/electron/compatible.mdx index 5d6bc99f..d2da4513 100644 --- a/zh/rum/sdk/electron/compatible.mdx +++ b/zh/rum/sdk/electron/compatible.mdx @@ -53,7 +53,7 @@ keywords: ["RUM", "Electron SDK", "兼容性", "打包工具", "已知限制"] | 渲染进程页面体验 | 支持 | 与 Web SDK 一致,包含 view、action、resource、error 和 Web Vitals | | 会话回放 | 支持 | 需要渲染进程直传并允许相应 CSP | | 会话采样与异常会话补采 | 支持 | 需要 SDK 0.4.0 或更高版本,由主进程统一抽样 | -| 远程配置 | 支持 | 需要 SDK 0.4.0 或更高版本;读取会话采样率、异常会话补采与自定义配置项 | +| 远程配置 | 支持 | 需要 SDK 0.4.0 或更高版本;读取会话采样率、错误会话补充采集与自定义配置项 | | JavaScript sourcemap | 支持 | 主进程和渲染进程均支持 | | 原生崩溃符号还原 | 支持 | 需要上传匹配的 Breakpad 符号文件 | diff --git a/zh/rum/sdk/harmony/advanced-config.mdx b/zh/rum/sdk/harmony/advanced-config.mdx index d67a42eb..c0ad4887 100644 --- a/zh/rum/sdk/harmony/advanced-config.mdx +++ b/zh/rum/sdk/harmony/advanced-config.mdx @@ -223,7 +223,7 @@ FlashcatRum.enable( - 采样率**跨过 0**(由 0 调为非 0,或由非 0 调为 0)时当前会话会立即结束,由新配置重新抽样,紧急关停或重新开启不必等会话自然轮换;其余变化都等到下一个新会话。 - 下发的值会持久化到本地,冷启动后的第一个会话即按上次下发的配置抽样;从未成功拿到过配置、或控制台停用了远程配置时,恢复使用初始化时的 `setSessionSampleRate`。 - 请求失败、超时或响应无法识别时,沿用已生效的值,不会清空;SDK 会短暂重试两次,之后等到下一个新会话或下次启动才再请求。 -- HarmonyOS SDK 只读取**会话采样率**、**异常会话补采**(`sessionOnError`)与**自定义配置项**三项,其余配置项不生效。没有 Session Replay,回放与 Trace 相关的开关不会在 HarmonyOS 应用里出现。 +- HarmonyOS SDK 只读取**会话采样率**、**错误会话补充采集**(`sessionOnError`)与**自定义配置项**三项,其余配置项不生效。没有 Session Replay,回放与 Trace 相关的开关不会在 HarmonyOS 应用里出现。 - 异常补采与初始化时的 `setSessionOnError` 是同一个开关:控制台下发的值覆盖初始化值,对之后抽样的会话生效。 被异常补采保留的会话上报的会话采样率为 `0`,并带 `session.sampled_for_error: true` 标记;没有报错的候选会话不会上传、不产生费用。筛选方式见[数据查询语法指南](/zh/rum/explorer/data-query)中的 `session_sampled_for_error`。