# 使用有问题的工件

保留计划、研究、链接和交互式 HTML 及它们所支持的问题。

此功能处于 公开预览 阶段，并且可能会发生变化。

问题工件是附加到问题的已命名内容片段。 它们提供了一个持久的地方，用于保留作为与你的工作并列的上下文的计划、研究、决策、原型和参考材料。

你可以通过 URL 与他人共享工件，如果你更新工件，GitHub 将保留更改记录，以便你可以回过头查看工件在项目过程中是如何演变的。

## 支持的工件类型

Issue 工件支持以下类型：

* **Markdown 文档 （`generic`）**：常规用途内容，如研究、调查说明或设计文档。
* **计划（`plan`）**：Markdown 实施方案。
* **链接 （`link`）**：指向其他地方的内容的命名链接，例如讨论、原型或 Slack 或 Teams 线程。
* **HTML 文件 （`embedded_html`）**：独立 HTML 文档，例如交互式原型、可视化效果、流程图或图表。

## 创建构件

可以在 GitHub.com
上创建工件，或者要求代理或开发人员工具使用内置的 GitHub MCP 服务器、GitHub CLI 或问题工件 REST API 创建一个工件。 例如，可以要求 Copilot app 创建实施计划、根本原因分析或研究摘要，并将其附加到该问题中。

### 在  上创建工件

1. 导航到要在其中创建工件的问题。
2. 在 **“Artifacts”** 部分中，单击 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-plus" aria-label="Add artifact" role="img"><path d="M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z"></path></svg>。
3. 选择构件类型：
   * 若要添加具名 URL，请单击 **添加链接**。
   * 若要创建 Markdown 文档，请单击“**创建工件**”。
   * 若要创建 HTML 文档，请单击“**创建 HTML 构件**”。
4. 按照提示命名并创建制品。

## 查看和共享构件

1. 导航到包含构件的问题。
2. 在 **“制品”** 部分中，单击制品名称。
3. 工件将在问题的侧面板中打开并显示。
4. 若要复制 URL 以与他人共享构件，请单击 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-link" aria-label="the link" role="img"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg>。

## 编辑工件

1. 打开构件。
2. 在构件面板中，单击 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-pencil" aria-label="Edit artifact" role="img"><path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path></svg>。
3. 更新工件名称或内容。
4. 保存所做的更改。

编辑工件会在其历史记录中创建版本。

## 查看构件的版本历史记录

1. 打开构件。
2. 在工件面板中，单击 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-history" aria-label="Edit history" role="img"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg>。
3. 选择一个版本以查看其名称、内容、作者和创建时间。

无法在 Web 界面中还原版本。 若要还原早期版本，请使用 `gh issue artifact edit --restore-version`。 还原会将之前的名称和内容保存为新版本，从而保留完整的历史记录。

## 重新排序构件

可以通过在 **“构件”** 部分内拖动构件对构件重新排序。 还可以单击工件旁边的<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="Artifact actions" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>，单击“**移动**”，然后选择一个位置。

## 删除构件

> [!WARNING]
> 删除构件是永久性的，还会删除其版本历史记录。

1. 在问题的 **“工件**”部分中，单击工件旁边的 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="Artifact actions" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>。
2. 单击 **“删除”** 。

## 安全地预览 HTML 工件

在 GitHub.com
上，HTML 工件在 **源** 视图中打开，以便你可以在运行它之前检查代码。 若要呈现 HTML，请选择 **“预览”**。
GitHub 在受限沙盒中呈现预览。 该界面警告，预览会运行用户提供的代码，这些代码可能会将其内容发送到外部站点。 查看源，仅预览你信任的源中的 HTML。 若要返回到源文件，请选择“**源文件**”。

## 将工件与代理配合使用

使用 Copilot app 处理问题时，会话期间创建的工件会自动附加到该问题。 还可以要求 Copilot 创建特定成果物，例如实施计划、根本原因分析或历史上下文摘要。

代理和开发人员工具还可以使用内置的 GitHub MCP 服务器、REST API 或 GitHub CLI 读取和管理工件。

## 使用 GitHub CLI 管理制品

Issue artifact 命令需要 GitHub CLI 2.103.0 或更高版本。

有关问题工件命令的详细信息，请参阅 [`gh issue artifact` 参考](https://cli.github.com/manual/gh_issue_artifact)。

## 延伸阅读

* REST API 文档中的[问题工件的 REST API 终结点](/zh/rest/issues/artifacts)
* [关于问题](/zh/issues/tracking-your-work-with-issues/learning-about-issues/about-issues)