> ## Documentation Index
> Fetch the complete documentation index at: https://test-8ad8522e-feat-ai-sre.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 产物

> 产物库集中呈现 AI SRE 会话中用 present_files 工具产出、再经 publish_artifact 工具发布的文件（网页、报告、图片、PDF、源码与数据文件等，例如 /insight 报告），支持搜索、按范围筛选与修改范围、重命名、分享（账户内或公开链接）、下载和删除。

<Info>
  **公测功能**：AI SRE 已全量开放公测，无需申请，登录控制台即可直接使用，公测期间免费。功能与界面可能继续调整。
</Info>

## 概述

***

产物（Artifact）是 AI SRE 在会话中用 `present_files` 工具产出、再经 `publish_artifact` 工具发布到产物库的文件。最典型的是一份自包含的 HTML 报告或页面——例如在会话里输入 `/insight` 生成的运营洞察报告——但可发布的类型不止于此：

| 类别    | 常见扩展名                                                                                                                                                                               |
| ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 网页与文档 | `.html` `.htm` `.md` `.markdown` `.txt` `.log`                                                                                                                                      |
| 数据与配置 | `.csv` `.tsv` `.json` `.yaml` `.yml` `.xml` `.toml` `.ini`                                                                                                                          |
| 图片    | `.png` `.jpg` `.jpeg` `.gif` `.svg` `.webp`                                                                                                                                         |
| 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`                                                                                                                                                          |

不在可发布范围内的文件，会话中不会出现「发布到产物库」按钮。

发布后的产物初始继承来源会话的作用域：来自个人会话的产物归创建者「个人」所有；来自绑定了团队的会话的产物归该「团队」所有，可分享给账户内的其它成员查看。拥有编辑权限时，之后还可以修改产物范围。

入口：左侧导航 **AI SRE → 产物**，对应路由 `/ai-sre/artifacts`。

<Note>
  产物库本身没有手动上传或创建文件的入口——产物都是 Agent 在会话中用工具产出并发布的；控制台只提供浏览、检索与管理已发布产物的能力。
</Note>

## 列表页

***

### 搜索与范围筛选

* **搜索框**：按标题模糊搜索已发布产物，输入停顿 300 毫秒后自动查询。
* **范围**：**全部 / 个人 / 团队** 三态切换（与 AI SRE 下其它资源统一的两级作用域一致）。选择「团队」后会展开一个可搜索、可多选具体团队的选择器；不选择任何团队等价于「我可见的全部团队」。

### 视图切换与排序

列表页右上角提供 **卡片视图 / 列表视图** 切换，选择会保存在浏览器本地（下次进入沿用）；卡片视图为默认展示。

**列表视图** 以表格展示产物，列定义如下：

| 列    | 说明                                          |
| ---- | ------------------------------------------- |
| 名称   | 产物标题，点击进入详情页                                |
| 所属范围 | 团队产物显示团队名称，个人产物显示创建者姓名                      |
| 来自对话 | 产物来源会话标题，点击跳转到对应会话；来源会话已删除或无标题时显示「会话已删除」纯文本 |
| 生成时间 | 产物创建时间                                      |
| 修改时间 | 产物最后更新时间                                    |
| 操作   | 重命名、下载、删除等                                  |

**生成时间** 与 **修改时间** 列支持点击列头排序（升序 / 降序切换），排序在服务端执行；默认按 **修改时间降序**。

### 产物卡片

每张卡片展示：

* 顶部预览区的类型图标：按文件扩展名与内容类型区分，图片、PDF、HTML、Markdown、表格（CSV / TSV）、JSON、压缩包、源码各有专属图标，无法识别时回退为通用文件图标；
* 标题（单行显示，超出省略；鼠标悬停可看到完整标题）；
* 时间信息以 **「创建于 …」** 为主，创建时间与编辑时间不同时（产物在创建后又被更新过）才在旁边同时显示「编辑于 …」；两者都用相对时间表示——刚刚 / N 分钟前 / N 小时前 / N 天前，超过 30 天则显示具体日期；没有 `created_at` 的旧数据回退为只显示「编辑于 …」；
* 右下角的作用域徽标：团队产物显示团队名称（绿色高亮），个人产物显示创建者姓名（灰色）。

点击卡片正文会打开该产物的详情页；鼠标悬停在卡片上会在右上角露出「更多操作」按钮（触屏设备上始终可见）。

### 新建产物

点击页面右上角的 **新建产物**，会跳转到会话页面并预填一段引导草稿：

> 我想在 Flashduty AI-SRE 中创建一个可发布的产物：一个自包含的网页或报告，完成后发布到产物库。请先问我几个必要问题，包括目标读者、内容/数据、交互和视觉风格，然后构建并发布它。

Agent 会先向你确认目标读者、内容/数据来源、交互与视觉风格等细节，再动手构建并发布，而不是打开一个表单直接创建。

<Tip>
  除此之外，任何一次会话中用 `present_files` 展示出来的文件旁边也带有一个「发布到产物库」按钮，可以把该次会话已经产出的文件直接发布为产物——这是比「新建产物」更直接的路径，不必再走一次完整对话。
</Tip>

## 卡片操作

***

每张卡片右上角的「更多操作」菜单提供：

| 操作   | 说明                                                    |
| ---- | ----------------------------------------------------- |
| 复制链接 | 复制该产物详情页的完整 URL，可分享给账户内的其它成员打开                        |
| 下载   | 仅当产物关联着文件（`file_id` 非空）时出现，下载原始文件                     |
| 重命名  | 仅当你对该产物有编辑权限时出现；打开一个对话框修改标题                           |
| 修改范围 | 仅当你对该产物有编辑权限时出现；选择个人或可访问的团队。只有产物创建者可以将范围改为个人          |
| 删除   | 仅当你对该产物有编辑权限时出现；删除前需二次确认，删除后产物从产物库移除，但来源会话与文件本身保留不受影响 |

## 详情页

***

详情页路由为 `/ai-sre/artifacts/:artifactId`，顶部工具栏提供：

* **标题**：对有编辑权限的产物可直接点击标题进行行内编辑（无需跳转到独立表单），按 Enter 保存、Esc 取消；
* **创建者**：标题下方显示「〈创建者〉创建的产物」；
* **分享**：打开分享面板，可选择「仅账户内」或「公开链接」两种可见范围，详见下文 [分享产物](#分享产物)；
* **删除**：仅在你有编辑权限时显示，删除前需二次确认；
* **更多操作**：只有以下至少一项可用时才会出现这个菜单——
  * **下载**：仅当产物关联着文件时出现。
  * **修改范围**：仅当你有编辑权限时出现，可将产物移至可访问的团队；产物创建者还可以改回个人范围。

标题下方是一条 **来源会话信息条**：

* 展示产物自身的「创建于 …」「编辑于 …」时间（与列表卡片一致：创建与编辑时间不同时才同时显示）；
* 当产物的来源会话你仍有权限访问时，信息条里会出现 **「最近更新来自会话 〈会话名〉」** 按钮——会话名由 `/safari/session/get` 解析来源会话得到，点击跳转到该会话的完整对话（`chat?session_id=<会话ID>`，消息、工具调用、产物历史）。来源会话已删除或无权访问时，该按钮隐藏，产物本身仍可正常查看。

正文区域按产物的实际内容类型渲染（例如 HTML 报告会直接内联展示为页面）。

## 分享产物

***

详情页工具栏的 **分享** 按钮会打开分享面板。面板顶部的 **管理权限** 列出谁可以管理这个产物的分享（创建者标记为「所有者」，团队产物还会列出团队成员）；下方的 **可见权限** 提供两种模式：

| 模式   | 谁能打开              | 内容                               |
| ---- | ----------------- | -------------------------------- |
| 仅账户内 | 登录同一账户的成员         | 账号内成员登录后可查看，内容**始终为最新版本**        |
| 公开链接 | 任何拿到链接的人，**无需登录** | 展示的是生成链接那一刻的**内容快照**，产物更新后不会自动同步 |

### 公开链接

<Tip>**版本要求**：公开链接需要 On-call 专业版及以上订阅，随 AI SRE 公测一并开放。[了解更多](https://flashcat.cloud/flashduty/price/)</Tip>

选择 **公开链接** 后，面板会先展示一段内容预览和风险提示，再由你点击 **生成公开链接** 才真正生效：

<Warning>
  生成公开链接后，任何拿到链接的人都可以查看此产物，链接也可能被继续转发。请勿分享密钥、个人信息或未经授权的第三方内容。
</Warning>

生成成功后链接会自动复制到剪贴板（提示「公开链接已生成，已复制到剪贴板」）。公开链接的形式为 `https://<控制台域名>/share/artifact/<产物 ID>`——它以产物自身的 ID 为标识，不携带令牌；匿名访问完全由 CDN 提供，不经过任何需要登录的接口。

<Note>
  私有化部署下，公开链接依赖实例配置了可达的分享静态资源地址（CDN）。未配置时，分享面板不会出现「公开链接」选项，仅可「仅账户内」分享；此前已生成的公开链接仍可正常管理与撤销。SaaS 环境不受此限制。
</Note>

打开公开链接的访问者会看到只读的内容页：页面顶部在标题旁标注「**内容由用户生成，未经核实。**」声明，并提供「**反馈**」入口——点击跳转到举报表单（已自动预填当前链接），任何人都可以向 Flashduty 举报不当内容；页面同时提供「登录」入口，引导访问者登录控制台。

| 操作     | 说明                                                                   |
| ------ | -------------------------------------------------------------------- |
| 生成公开链接 | 把产物当前内容复制为一份公开快照并启用链接                                                |
| 更新快照   | 仅当检测到产物内容已更新时出现（提示「识别到产物内容有更新，可更新快照以同步最新内容」）。点击后用最新内容覆盖快照，**链接保持不变** |
| 撤销公开链接 | 关闭公开访问，链接立即失效                                                        |

<Note>
  超过 **16 MiB** 的产物无法生成公开链接，会提示该产物体积超限。此时仍可使用「仅账户内」模式分享。
</Note>

## 权限

***

产物是否可编辑（重命名、修改范围、删除）由后端返回的 `can_edit` 字段决定，满足以下任一条件即可管理该产物：

| 条件             | 说明                                       |
| -------------- | ---------------------------------------- |
| 创建者本人          | 发布该产物所属会话的所有者                            |
| 账户 Owner / 管理员 | 对账户内任意产物（无论个人还是团队作用域）都有管理权限              |
| 团队成员（仅团队产物）    | 当产物属于某个团队（`team_id > 0`）时，该团队的其它成员也可以管理它 |

没有编辑权限的产物，卡片与详情页只提供「复制链接」「下载」等只读操作，「重命名」「删除」按钮不会出现。

<Note>
  这与自动化规则的权限模型不同：账户 Owner / 管理员对**任意**产物（含他人的个人产物）都有管理权限，不存在『个人资源管理员无豁免』的限制。
</Note>

## 相关页面

***

<CardGroup cols={2}>
  <Card title="控制台" icon="comments" href="/zh/ai-sre/sessions">
    了解会话如何用 present\_files 工具展示文件——产物正是从这些文件发布而来。
  </Card>

  <Card title="使用洞察" icon="gauge-high" href="/zh/ai-sre/insight">
    `/insight` 生成的运营洞察报告本身就是一种产物，可以在产物库里统一管理。
  </Card>

  <Card title="自动化" icon="calendar-clock" href="/zh/ai-sre/automations">
    定时自动化跑出的运行也可以把产出的报告发布为产物，长期沉淀在产物库里。
  </Card>
</CardGroup>
