Skip to main content
AI SRE is available to accounts on an On-call Pro or higher subscription, with no application needed. Starting September 16, 2026, 08:00 Beijing time, it must be activated in the console before use and is billed on actual usage; see billing terms.

Overview


An artifact is a file AI SRE produces in a session with the present_files tool and then publishes to the artifact gallery. There are two publish paths, and they accept different types:
  • The agent’s publish_artifact tool: publishes HTML / Markdown documents only (.html .htm .md .markdown) — a self-contained report or page, most typically the operational insight report generated by typing /insight in a session. Every other type is rejected with unsupported_format.
  • The “Publish to artifact gallery” button next to a present_files file in the console (see Creating an artifact below): publishes the wider set of types:
Files outside the table above don’t show a “Publish to artifact gallery” button in the session. A published artifact initially inherits its source session’s scope: artifacts from a personal session belong to their creator (“Personal”); artifacts from a session bound to a team belong to that team and can be shared with other account members. Users with edit permission can change the scope later. Entry point: AI SRE → Artifacts in the left navigation, route /ai-sre/artifacts.
The artifact gallery has no entry point for manually uploading or creating files — every artifact is produced and published by the agent using tools during a session. The console only lets you browse, search, and manage artifacts that already exist.

List Page


Search and scope filter

  • Search box: fuzzy-search published artifacts by title; the query fires automatically 300ms after you stop typing.
  • Scope: a three-way All / Personal / Team switch (the same two-level scope shared with the other resources under AI SRE). Selecting “Team” expands a searchable, multi-select team picker; selecting no team means “all teams visible to me.”

View toggle and sorting

The top-right of the list page offers a Card view / List view toggle; your choice is persisted in the browser (card view is the default). List view presents artifacts in a table with these columns: The Created at and Updated at columns support header sorting (ascending / descending toggle); sorting is executed server-side, with Updated at descending as the default. Whichever sort you pick, the artifacts you pinned always come first (most recently pinned first), and the chosen sort orders the rest. Scope, search term, sorting, page number, and page size are all reflected in the page URL (for example ?scope=team&teams=1,2&q=rebuild&page=2&size=48), so copying the address shares or bookmarks a filtered list; returning from an artifact’s detail page also lands back on the same filters and position instead of resetting to the default view. Page size can be 12 / 24 / 48, defaulting to 24 (the URL’s ?size=; a value equal to the default is not written to the address). If the address is hand-edited to some other number, the nearest option is used rather than the literal value.

Artifact cards

Each card shows:
  • A preview area rendering a thumbnail of the artifact’s own content: HTML takes the head of the file (up to 256 KiB) and scales a desktop page laid out at 1200×630 into the box, Markdown is typeset onto that same scaled page, images show the image itself, and plain text shows its first 24 lines (up to 1400 characters). PDF and every other non-renderable kind show an empty frame. The thumbnail is a non-interactive still image — it renders inside a sandbox='' frame, so scripts don’t run and links and buttons don’t respond. It is also lazy: nothing is signed or downloaded until the card comes near the viewport (about 400px), and an empty skeleton frame shows until then;
  • The kind icon: 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. It is a 30×30 badge straddling the divider between thumbnail and body, rather than filling the preview area;
  • The title (single line, truncated beyond that; hover to see the full title);
  • A single Edited … relative timestamp in the grey caption line under the title (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;
  • The same caption line also carries the scope (a small icon plus a name: team artifacts show the team name, personal artifacts show the creator’s name) — cards no longer use coloured scope badges; badges appear only in the list view and on the detail page. When the artifact has a live public link, the caption line leads with a small globe glyph that has a tooltip; a pinned artifact shows a pin glyph at the end of the caption line.
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), with an equally hover-only pin button beside it — one click pins or unpins. The public-link preview inside the share panel uses this same thumbnail.

Pinning

Every list row and every card has a pin button — on a card it sits in the top-right corner next to “More actions” and appears on hover (always visible on touch devices); in the list it is a fixed-width column of its own, between “Updated at” and the action buttons. The first item in the “More actions” menu is the same toggle, labelled “Pin” or “Unpin” according to the current state. Pinning is a personal preference, not an edit:
  • You can pin any artifact you can see — other people’s personal artifacts and team artifacts included — with no edit permission required (rename, change scope, and delete do require it);
  • A pin only floats the artifact to the top of your own gallery. It does not change the artifact’s content, title, or scope, and it does not affect the order anyone else sees;
  • Pinning and unpinning are both idempotent: re-pinning only refreshes the pin time (a later pin time sorts higher), and unpinning an artifact that was never pinned does not fail;
  • Pinning refetches the whole page. The server owns the ordering, so pinning an artifact on page 2 moves it to page 1 rather than reordering in place.
The pinned_at field on a gallery list item is the calling person’s own pin time (unix milliseconds); it is absent when the artifact is not pinned — so the same artifact can carry a different pinned_at for each member.

Creating an artifact

Click New artifact in the upper-right corner of the page to jump to the chat page with a prefilled draft prompt:
I want to build a publishable Artifact in Flashduty AI-SRE: a self-contained web page or report, published to the artifact gallery when done. Ask me a few focused questions about the audience, content/data, interactions, and visual style, then build it and publish it.
The agent first asks you about the target audience, content/data source, interactions, and visual style, then builds and publishes the artifact — there is no form to fill out directly.
Separately, any file shown in a session with present_files also has a “Publish to artifact gallery” button next to it, letting you publish a file that session already produced directly as an artifact — a more direct path than “New artifact” when you don’t need a fresh conversation.

Card Actions


The “More actions” menu on each card offers:

Detail Page


The detail page route is /ai-sre/artifacts/:artifactId. The top toolbar offers:
  • Title: if you have edit permission, click the title to edit it inline (no separate form) — press Enter to save, Esc to cancel;
  • Creator: shown below the title as “Artifact by [creator]”;
  • Share: opens the share panel, where you can choose between “Account only” and “Public link” visibility — see Share an artifact below;
  • Delete: shown only when you have edit permission; requires confirmation;
  • More actions: this menu appears only when at least one of the following is available —
    • Download: shown when the artifact is linked to a file.
    • Change scope: shown when you have edit permission. You can move the artifact to an accessible team; the creator can also change it back to Personal.
Below the title there is a source-session strip:
  • It shows the artifact’s own “Edited …” relative timestamp (like the list cards; hover it for the exact time down to the minute);
  • 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.
The body renders the artifact according to its actual content type (for example, an HTML report renders inline as a page).
On a phone the detail page degrades to a read-only reader: the title is no longer editable inline, the share, change-scope, and delete entries are all hidden, and the toolbar drops the back-to-list button, the file-kind icon, the scope badge, the public-link badge, the “Edited …” time, and the “Recently updated from session” entry, keeping only the title and the artifact body. When the artifact is linked to a file, Download remains available under “More actions”. The list page and card view are unaffected.

Share an artifact


The Share button in the detail page toolbar opens the share panel. Manage permission at the top lists who can manage sharing for this artifact (the creator is labeled “Owner”; team artifacts also list team members). Visibility below offers two modes:
Plan requirement: Public links require an On-call Pro or higher subscription. Learn more
After you choose Public link, the panel first shows a content preview and a risk notice; the link only takes effect once you click Generate public link:
Once you generate a public link, anyone who gets the link can view this artifact, and the link can be forwarded further. Don’t share secrets, personal information, or unauthorized third-party content.
On success, the link is copied to your clipboard automatically (a “Public link generated and copied to clipboard” toast appears). The public link takes the form https://<console-domain>/share/artifact/<artifact-id> — it’s identified by the artifact’s own ID and carries no token; anonymous access is served entirely by the CDN, without going through any endpoint that requires sign-in.
On private deployments, public links require the instance to be configured with a reachable share static-asset base (CDN). When it is not configured, the share panel does not offer the Public link option and only “Account only” sharing is available; public links generated earlier remain manageable and revocable. SaaS is not affected by this restriction.
Visitors who open a public link see a read-only content page: next to the title, the top of the page carries the disclaimer “Content is user-generated and unverified.” and a “Feedback” entry — clicking it opens a report form (pre-filled with the current link) so anyone can report inappropriate content to Flashduty. The page also provides a “Sign in” entry that leads visitors to the console.
Artifacts larger than 16 MiB can’t generate a public link — you’ll see a notice that the artifact exceeds the size limit. You can still share it using “Account only” mode.

Update a published artifact


Republishing the same file does not silently overwrite a published artifact. When the agent updates one with publish_artifact, it must pass both the artifact’s artifact_id and the if_revision returned by the previous publication (an opaque revision fingerprint shaped like rev_…): On needs_review, the agent also writes a copy of the currently published content into the session workspace along with the current revision; it reads that copy, merges deliberately, and retries with the same artifact_id and the new revision instead of overwriting blindly. A few more details:
  • When the content is byte-identical to the published version, the result is operation: unchanged and the artifact is left alone.
  • Re-presenting the same file with present_files does not update a published artifact — it only offers preview and download; publishing an update goes through publish_artifact.
  • If the artifact was deleted, a path-based republish fails with artifact_deleted instead of reviving it; only the “Publish to artifact gallery” button next to the present_files file in a session restores a deleted artifact.
  • Failures come back with a code: unsupported_format / permission_denied / artifact_deleted / storage_unavailable / file_too_large / invalid_path, of which storage_unavailable is retryable. When the commit cannot be confirmed the tool returns status: unknown with an op_… operation ID, and the agent does not create a second artifact.

Permissions


Whether an artifact is editable (rename, change scope, delete) is determined by the can_edit field returned by the backend. Any one of the following grants management access: Artifacts you cannot edit only expose read-only actions such as “Pin”, “Copy link”, and “Download” — the “Rename” and “Delete” buttons do not appear. Pinning is not part of that check: it is a personal preference rather than an edit, so you can pin any artifact you can see (other members’ personal artifacts included), and it only changes your own list order, affecting nobody else.
This differs from the automation rule permission model: the account Owner / admins have management access to any artifact, including other members’ personal artifacts — there is no “no exemption for personal resources” restriction here.

Console

Learn how sessions surface files with the present_files tool — the source of every published artifact.

Usage Insights

The operational insight report generated by /insight is itself an artifact, manageable from the gallery like any other.

Automations

Reports produced by scheduled automation runs can also be published as artifacts, giving them a permanent home in the gallery.