Help us learn about your current experience with the documentation. Take the survey.

GitLab Duo Chat

GitLab Duo Chat 是一款 AI 助手,通过上下文感知的对话式 AI 加速开发。Chat:

  • 直接在您的开发环境中解释代码并建议改进。
  • 分析代码、合并请求、问题和其他 GitLab 工件。
  • 根据您的需求和代码库生成代码、测试和文档。
  • 直接集成在 GitLab UI、Web IDE、VS Code、JetBrains IDEs 和 Visual Studio 中。
  • 可以包含您仓库和项目中的信息,以提供针对性的改进。

观看概览视频

支持的编辑器扩展

您可以在以下环境中使用 GitLab Duo Chat:

您还可以通过安装编辑器扩展在这些 IDE 中使用 GitLab Duo Chat:

如果您使用 GitLab Self-Managed:为了获得最佳用户体验和效果,请使用 GitLab 17.2 及更高版本。早期版本可能仍然可用,但体验可能会降级。

在 GitLab UI 中使用 GitLab Duo Chat

先决条件:

  • 您必须有权访问 GitLab Duo Chat 并且 GitLab Duo 必须已开启。
  • 您必须在 Chat 可用的位置。以下位置不可用:
    • 您的工作 页面,如待办事项列表。
    • 您的 用户设置 页面。
    • 帮助 菜单。

要在 GitLab UI 中使用 GitLab Duo Chat:

  1. 在右上角,选择 GitLab Duo Chat。右侧会打开一个抽屉式面板。
  2. 在消息框中输入您的问题,然后按 Enter 或选择 发送
    • 您可以为您的聊天提供额外的 上下文
    • 交互式 AI 聊天可能需要几秒钟才能生成答案。
  3. 可选。提出后续问题。

要提出新的、不相关的问题,请输入 /reset/clear 清除上下文,然后选择 发送

查看聊天历史

最近 25 条消息会保留在聊天历史中。

要查看历史记录:

  • 在 Chat 抽屉的右上角,选择 聊天历史 history )。

进行多次对话

  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

在 GitLab 17.10 及更高版本中,您可以与 Chat 进行无限数量的同时对话。

  1. 在右上角,选择 GitLab Duo Chat。右侧会打开一个抽屉式面板。
  2. 在消息框中输入您的问题,然后按 Enter 或选择 发送
  3. 通过选择以下选项之一创建与 Chat 的新对话:
    • 在抽屉的右上角,选择 新聊天 duo-chat-new )。
    • 在消息框中输入 /new,然后按 Enter 或选择 发送。 新的 Chat 抽屉会替换之前的抽屉。
  4. 创建另一个新对话。
  5. 要查看您的所有对话,在 Chat 抽屉的右上角,选择 聊天历史 history )。
  6. 要在对话之间切换,在您的聊天历史中,选择相应的对话。

每个对话会无限期保留消息。但是,只有最后 25 条消息会发送给 LLM,以使其内容适合 LLM 的上下文窗口。

在此功能启用之前创建的对话在聊天历史中不可见。

删除对话

要删除对话:

  1. 在 Chat 抽屉的右上角,选择 聊天历史 history )。
  2. 在历史记录中,选择 删除对话 remove )。

默认情况下,单个对话在 30 天不活动后会过期并自动删除。 但是,管理员可以更改此过期期限

在 Web IDE 中使用 GitLab Duo Chat

要在 GitLab 的 Web IDE 中使用 GitLab Duo Chat:

  1. 打开 Web IDE:
    1. 在 GitLab UI 中,在左侧边栏选择 搜索或跳转 并找到您的项目。
    2. 选择一个文件。然后在右上角选择 编辑 > 在 Web IDE 中打开
  2. 使用以下方法之一打开 Chat:
    • 在左侧边栏选择 GitLab Duo Chat
    • 在编辑器中打开的文件中选择一些代码。
      1. 右键单击并选择 GitLab Duo Chat
      2. 选择 解释选定的代码片段修复生成测试打开快速聊天重构
    • 使用键盘快捷键:
      • 在 Windows 或 Linux 上:ALT+d
      • 在 macOS 上:Option+d
  3. 在消息框中输入您的问题,然后按 Enter 或选择 发送

如果您在编辑器中选择了代码,此选择将包含在您向 GitLab Duo Chat 提出的问题中。 例如,您可以选择代码并询问 Chat,你能简化这个吗?

在 VS Code 中使用 GitLab Duo Chat

先决条件:

要在 VS Code 的 GitLab Workflow 扩展中使用 GitLab Duo Chat:

  1. 在 VS Code 中打开一个文件。该文件不需要是 Git 仓库中的文件。
  2. 在左侧边栏选择 GitLab Duo Chat duo-chat )。
  3. 在消息框中输入您的问题,然后按 Enter 或选择 发送

如果您在编辑器中选择了代码,此选择将包含在您向 GitLab Duo Chat 提出的问题中。 例如,您可以选择代码并询问 Chat,你能简化这个吗?

在编辑器窗口中使用 Chat

要在编辑器窗口中打开 GitLab Duo Chat,使用以下任何方法:

  • 从键盘快捷键:
    • 在 Windows 和 Linux 上:ALT+c
    • 在 macOS 上:Option+c
  • 在 IDE 中当前打开的文件中,右键单击并选择 GitLab Duo Chat > 打开快速聊天。 选择一些代码以提供额外的上下文。
  • 打开命令面板,然后选择 GitLab Duo Chat: 打开快速聊天

快速聊天打开后:

  1. 在消息框中输入您的问题。您还可以:
    • 输入 / 显示所有可用命令。
    • 输入 /re 显示 /refactor
  2. 要发送您的问题,选择 发送,或按 Command+Enter
  3. 要与响应交互,在代码块上方使用 复制代码片段插入代码片段 链接。
  4. 要退出聊天,选择侧边栏中的聊天图标,或在聊天获得焦点时按 Escape

检查 Chat 状态

要检查您的 GitLab Duo 配置的健康状态:

  • 在聊天窗格的右上角,选择 状态

关闭 Chat

要关闭 GitLab Duo Chat:

  • 对于左侧边栏上的 GitLab Duo Chat,选择 GitLab Duo Chat duo-chat )。
  • 对于嵌入在您文件中的快速聊天窗口,在右上角, 选择 收起 chevron-lg-up )。

在 Visual Studio for Windows 中使用 GitLab Duo Chat

先决条件:

要在 Visual Studio 的 GitLab 扩展中使用 GitLab Duo Chat:

  1. 在 Visual Studio 中打开一个文件。该文件不需要是 Git 仓库中的文件。
  2. 使用以下方法之一打开 Chat:
    • 在顶部菜单栏中,单击 扩展,然后选择 打开 Duo Chat
    • 在编辑器中打开的文件中选择一些代码。
      1. 右键单击并选择 GitLab Duo Chat
      2. 选择 解释选定的代码生成测试
  3. 在消息框中输入您的问题,然后按 Enter 或选择 发送

如果您在编辑器中选择了代码,此选择将与您的问题一起发送给 AI。这样您就可以询问关于此代码选择的问题。例如,你能重构这个吗?

在 JetBrains IDEs 中使用 GitLab Duo Chat

先决条件:

要在 JetBrains IDEs 的 GitLab 插件中使用 GitLab Duo Chat:

  1. 在 JetBrains IDE 中打开一个项目。
  2. 在聊天窗口或编辑器窗口中打开 GitLab Duo Chat。

在聊天窗口中

要在聊天窗口中打开 GitLab Duo Chat,使用以下任何方法:

  • 在右侧工具窗口栏上,选择 GitLab Duo Chat
  • 从键盘快捷键:
    • 在 Windows 和 Linux 上:ALT+d
    • 在 macOS 上:Option+d
  • 从打开的编辑器文件:
    1. 右键单击并选择 GitLab Duo Chat
    2. 选择 打开聊天窗口
  • 使用选定的代码:
    1. 在编辑器中选择代码以包含在您的命令中。
    2. 右键单击并选择 GitLab Duo Chat
    3. 选择 解释代码修复代码生成测试重构代码
  • 从高亮的代码问题:
    1. 右键单击并选择 显示上下文操作
    2. 选择 使用 Duo 修复
  • 使用 GitLab Duo 操作的键盘或鼠标快捷键,您可以在 设置 > 键盘映射 中设置。

GitLab Duo Chat 打开后:

  1. 在消息框中输入您的问题。您还可以:
    • 输入 / 显示所有可用命令。
    • 输入 /re 显示 /refactor/reset
  2. 要发送您的问题,按 Enter 或选择 发送
  3. 使用响应中代码块内的按钮与其交互。

在编辑器窗口中

要在编辑器窗口中打开 GitLab Duo Chat,使用以下任何方法:

  • 从键盘快捷键:
    • 在 Windows 和 Linux 上:ALT+c
    • 在 macOS 上:Option+c
  • 在 IDE 中打开的文件中选择一些代码, 然后在浮动工具栏中选择 GitLab Duo 快速聊天 tanuki-ai )。
  • 右键单击并选择 GitLab Duo Chat > 打开快速聊天

快速聊天打开后:

  1. 在消息框中输入您的问题。您还可以:
    • 输入 / 显示所有可用命令。
    • 输入 /re 显示 /refactor/reset
  2. 要发送您的问题,按 Enter
  3. 要与响应交互,使用代码块周围的按钮。
  4. 要退出聊天,选择 Escape to close,或在聊天获得焦点时按 Escape

在 Eclipse 中使用 GitLab Duo Chat

先决条件:

要在 Eclipse 的 GitLab 插件中使用 GitLab Duo Chat:

  1. 在 Eclipse 中打开一个项目。
  2. 选择 GitLab Duo Chat duo-chat ),或使用键盘快捷键:
    • 在 Windows 和 Linux 上:ALT+d
    • 在 macOS 上:Option+d
  3. 在消息框中输入您的问题,然后按 Enter 或选择 发送

观看演示并获取技巧

有关将 GitLab Duo Chat 集成到您的 DevSecOps 工作流程中的技巧和技巧, 请阅读博客文章: 使用 AI 驱动的 GitLab Duo Chat 的 10 个最佳实践

查看如何使用 GitLab Duo Chat 的示例

配置 Chat 对话过期时间

您可以配置对话在过期并自动删除前保留多长时间。

先决条件:

  • 您必须是管理员。
  1. 在左侧边栏底部,选择 Admin
  2. 选择 GitLab Duo
  3. 在右下角,选择 更改配置
  4. GitLab Duo Chat 对话过期时间 部分,选择以下任一选项:
    • 基于对话最后更新时间过期
    • 基于对话创建时间过期
  5. 选择 保存更改

可用的语言模型

不同的语言模型可以作为 GitLab Duo Chat 的来源。

  • 在 GitLab.com 或 GitLab Self-Managed 上,默认使用 GitLab AI 供应商模型和 由 GitLab 托管的基于云的 AI 网关。
  • 在 GitLab Self-Managed 上,在 GitLab 17.9 及更高版本中,使用支持的自托管模型的 GitLab Duo Self-Hosted。自托管模型通过确保不向外部模型发送任何内容来最大化安全性和隐私。

输入和输出长度

对于每个 Chat 对话,输入和输出长度有限制:

  • 输入限制为 200,000 个 token(约 680,000 个字符)。输入 token 包括:
    • Chat 感知的所有上下文
    • 该对话中所有先前的问题和答案。
  • 输出限制为 8,192 个 token(约 28,600 个字符)。

提供反馈

您的反馈对我们不断改进 GitLab Duo Chat 体验非常重要。 留下反馈有助于我们根据您的需求定制 Chat 并提高其性能。

要针对特定响应提供反馈,请在响应消息中使用反馈按钮。 或者,您可以在反馈问题中添加评论。