---
title: 使用 AI 修复
sidebarTitle: 使用 AI 修复
description: 在 Jamdesk 构建仪表板中审核并应用 AI 建议的失效链接和缺失页面描述修复，并提交到 GitHub。
---

> **For AI agents:** the complete documentation index is at [llms.txt](https://jamdesk.com/docs/llms.txt). Append `.md` to any page URL for its markdown version.

构建完成后，如果发现失效链接或缺少描述的页面，Jamdesk 可以为你修复其中许多问题。**Fix with AI** 按钮会读取构建警告，为每个问题提出具体修改，并将你批准的修复提交到已连接的 GitHub 代码库，然后启动一次新的构建。本页适用于希望清除构建警告、又不想手动编辑 MDX 的 Jamdesk 网站维护者。

屏幕截图显示的是英文界面。

如需在本地终端中使用类似功能，请参阅 [`jamdesk fix` CLI 命令](https://jamdesk.com/docs/cn/cli/fix-broken-links)。下文介绍的仪表板流程会代你提交更改；CLI 则会写入你的工作副本，由你自行提交。

<YouTube id="w0sR2qbmmW0" title="使用 AI 自动修复文档：演示如何在 Jamdesk 仪表板中使用 Fix with AI 和 jamdesk fix CLI 命令" />

## 可修复的问题

Fix with AI 可处理三类构建警告：

- **失效的内部链接。** 链接片段指向目标页面上已不存在的标题，例如拼写错误（`#instalation` → `#installation`），或翻译后的页面标题已更名。
- **缺少页面描述。** 页面 frontmatter 中没有 `description`。Jamdesk 会根据页面内容撰写一段简短摘要，供你审核。
- **缺少页面标题。** 页面没有标题时，Jamdesk 会根据页面内容提出一个标题，供你审核。

只有在能够确定目标时，Jamdesk 才会提出修改。对于有歧义的问题，它不会更改，而是单独列出，供你手动修复。

Fix with AI 每个项目在 24 小时内最多可发起 1,000 次 AI 请求。对于内容未更改的页面，系统会复用已有结果，这些结果不计入限额。

<Note>
  可修复问题的数量不等于警告数量。一次构建可能显示五条警告，但 Fix with AI 只提供其中三条的修复建议，因为另外两条没有明确的修复方案。横幅始终反映实际可修复的问题数量。
</Note>

## 前提条件

- 项目已连接 [GitHub 代码库](https://jamdesk.com/docs/cn/integrations/github)。
- Jamdesk GitHub App 具有写入权限，以便提交修复。如果缺少权限，弹窗会显示 **Grant access** 链接，引导你前往 GitHub 授予权限。
- 已完成的构建中包含失效链接或缺少描述的警告。

## 查找横幅

打开项目，在 Project Home 页面向下滚动到 **Build History**。如果最新构建中有可修复的问题，构建列表上方会显示横幅，其中包含问题数量和 **Fix with AI** 按钮。

<Frame>
  <img src="/images/fix-with-ai/banner.webp" alt="构建历史面板，其中的横幅突出显示“此构建中的 3 个问题可通过 AI 修复”，旁边有 Fix with AI 按钮。最新的构建行显示成功状态，并带有数字为 5 的警告徽标。" />
</Frame>

横幅仅显示在最新的已完成构建上。历史记录中的旧构建不会显示横幅，因为修复始终应用于文档的当前状态。

## 查看并应用修复

<Steps>
  <Step title="打开预览">
    点击 **Fix with AI**。系统会打开弹窗，AI 代理会检查文档并制定修复计划。这需要几秒钟。
  </Step>
  <Step title="查看每项建议的修改">
    修复按类型分组。**Broken links** 会显示每个重写后的锚点，**Missing descriptions** 会显示每个页面的建议摘要，**Missing titles** 会显示建议的标题。取消勾选你这次不想应用的修复，或使用忽略按钮[永久忽略建议](#忽略建议)。没有明确修复方案的问题会列在 **Can't be fixed automatically** 下，留给你手动处理。

    <Frame>
      <img src="/images/fix-with-ai/modal.webp" alt="Fix with AI 弹窗。Broken links 部分列出三项已勾选的修复，每项都显示带删除线的旧锚点和更正后的锚点。Can't be fixed automatically 部分列出两项需要手动修复的问题，下方有 Cancel 和 Apply 3 fixes 按钮。" />
    </Frame>
  </Step>
  <Step title="应用修复">
    点击 **Apply fixes**。Jamdesk 会将选中的更改提交到已连接的分支，提交说明为 `docs: apply AI-suggested fixes (via Jamdesk)`，并启动新的构建。
  </Step>
  <Step title="确认重新构建">
    在 [Build History](https://jamdesk.com/docs/cn/builds/monitoring) 中查看新构建。新构建上线后，已修复的警告就会消失。剩余的问题要么是 Fix with AI 无法解决的警告，要么是最新内容引入的新问题。
  </Step>
</Steps>

<Note>
  应用修复会向代码库提交一个真实的提交，因此更改会记录在 Git 历史中。你可以像审核或还原其他提交一样，在 GitHub 上审核或还原它。
</Note>

## 某些问题无法修复时

如果某条警告没有明确的修复方案，弹窗会在单独的标题下列出该问题，并保持原样。常见原因包括：

- 失效链接指向的目标页面或标题不存在，因此没有可供链接的目标。
- 导航条目没有匹配的源文件。
- 代理无法自动为页面生成描述。

这些问题需要手动编辑。你可以在[编辑器](https://jamdesk.com/docs/cn/development/local-preview)或代码编辑器中打开页面，修正链接或添加描述，然后推送更改以重新构建。

## 忽略建议

有些警告不需要处理，例如你有意设置的失效链接，或无需描述的占位页面。取消勾选某项修复只会跳过这一次。忽略建议会将其从计数中移除，直到你选择恢复。

弹窗中的每一行都有忽略按钮，无论该问题是否可修复。点击按钮后，该项会移至底部折叠的 **Ignored** 区域。关闭弹窗后，Project Home 页面的横幅计数会相应减少，Build History 中当前构建及之后每个构建里的匹配警告也会消失。**Ignore all** 会忽略列表中的所有剩余问题。

忽略的行为：

- **项目共享且持续生效。** 忽略状态会应用于整个项目，因此所有成员看到的列表相同，并且该状态会在不同构建之间保留。Jamdesk 会根据警告内容而非行号进行匹配，因此编辑页面的其他部分不会让已忽略的问题重新出现。
- **恢复忽略项。** 展开 **Ignored** 区域，然后点击任意项目上的 **Restore**。如果你忽略了某次构建中的所有问题，横幅就会消失；Build History 下方会显示一个小型的 “N ignored recommendations” 链接，点击后可重新打开弹窗。
- **警告发生变化时会重新出现。** 如果问题本身发生变化，例如失效链接现在指向其他位置，那么它就不再匹配已忽略的条目，并会作为新的建议重新出现。

## Fix with AI 与 CLI 对比

这两种工具都能修复失效链接锚点，但运行位置和应用更改的方式不同。

| | Fix with AI（仪表板） | [`jamdesk fix`](https://jamdesk.com/docs/cn/cli/fix-broken-links)（CLI） |
|---|---|---|
| 运行位置 | 在仪表板中针对某次构建运行 | 在终端中针对本地文件运行 |
| 修复内容 | 失效链接和缺少的描述 | 失效链接锚点 |
| 提交方式 | 代你提交到分支 | 写入本地文件，由你提交 |
| 触发方式 | 点击构建横幅上的按钮 | 运行 `jamdesk fix` |

如果想快速修复且不离开 Jamdesk，请使用仪表板流程。如果想先在工作副本中查看更改，例如将修复与其他修改一起提交，请使用 CLI。

## 下一步

<Columns cols={2}>
  <Card title="监控构建" icon="chart-line" href="/cn/builds/monitoring">
    跟踪构建状态，查看警告和建议
  </Card>
  <Card title="修复失效链接（CLI）" icon="terminal" href="/cn/cli/fix-broken-links">
    在终端中自动修复失效链接
  </Card>
</Columns>
