GitHub 仪表板中的 .NET Aspire Copilot

仪表板中的 .NET Aspire Copilot 简介GitHub! GitHub Copilot 是新的 AI 调试助手。

GitHub Copilot 会增强仪表板的 OpenTelemetry 调试和诊断体验。 借助 AI,可以:

  • 单击一下即可查看数百条日志消息
  • 调查多个应用中出现错误的根本原因
  • 突出显示跟踪中的性能问题
  • 使用 AI 巨大的知识存储库解释模糊错误代码

从 VS Code 启动应用时,你将有权访问仪表板中的 Copilot 或 Visual Studio。

要求

GitHub 仅当从 IDE 运行项目时 .NET Aspire ,Copilot 才可用。

  • VS Code 和 C# Dev Kit 1.19.63 或更高版本。
  • Visual Studio 17.14 或更高版本。

还必须登录到 GitHub IDE 中具有 Copilot 订阅的 GitHub 帐户。 仪表板中的 .NET Aspire Copilot 交互使用 GitHub 与 IDE 关联的帐户。

如果还没有 Copilot 订阅,可以通过注册 Copilot 免费计划(包括每月聊天交互限制)来免费使用 Copilot。

开始吧

若要开始,请像往常一样在 IDE 中启动 .NET.NET Aspire 解决方案。

  1. .NET Aspire在已安装扩展的Visual Studio受支持版本或 VS Code C# Dev Kit 中打开解决方案。
  2. 确保已使用 GitHub 帐户登录到 IDE:
  3. 运行 .NET.NET Aspire 应用主机。

仪表板右上角会显示一个 GitHub Copilot 按钮。 选择该按钮将打开 Copilot UI。

仪表板的屏幕截图,其中 GitHub 突出显示了 Copilot 按钮。

在 Copilot UI 中,可以选择建议的问题,例如 汇总资源,或在聊天输入字段中输入自己的问题。 按 Enter 提交。 例如:What health checks are configured in my app?

打开 Copilot 的 GitHub 仪表板的屏幕截图。它包含聊天问题和答案。

在 Copilot UI 顶部是用于启动新对话、展开聊天或关闭 UI 的按钮。

分析资源、控制台日志和遥测

有多种选项可用于分析应用中的资源、控制台日志和遥测。 上面讨论了两个:

  • 选择建议的问题。 科皮洛特的建议问题是上下文问题。 例如,有关资源的问题会显示在资源页上,有关分布式跟踪的问题将显示在跟踪页上。
  • 在聊天输入字段中输入自己的问题,例如 Why did the product cache fail to start?What caused recent errors in the frontend?

仪表板还包括资源上下文菜单中的 Copilot 选项、结构化日志、跟踪和范围。 选择 “询问 GitHub Copilot ”以调查所选数据。

资源上下文菜单页中“询问 GitHub Copilot”选项的屏幕截图。

如果应用具有结构化日志或跟踪并出现错误,则会在这些页面上显示 “解释错误 ”按钮。 选择它会使 Copilot 能够调查所有错误。

结构化日志页的屏幕截图,其中包含“解释错误”按钮。

在跟踪详细信息页上,“ 说明跟踪 ”按钮始终可见。 它提供了一种快速方法来分析当前查看的跟踪。

包含“说明跟踪”按钮的跟踪详细信息页的屏幕截图。

故障排除

Copilot 挂起“准备”

已知问题可能导致 Copilot UI 在首次访问时挂起并显示“就绪”消息。 如果未从受支持的版本Visual Studio或 VS Code 启动仪表板,或者没有GitHub帐户登录到 IDE,则会出现这种情况。 关闭并重新打开 Copilot UI 可修复此问题。 修复后,UI 正确显示一条消息,其中包含将仪表板与 Copilot 配合使用 GitHub 的要求。

达到 Copilot 免费计划的每月限制

GitHub Copilot Free 计划包括聊天使用情况的每月限制。 超过此限制后,Copilot 将不再在仪表板中运行。 升级 Copilot 订阅 或等待限制重置。

局限性

数据大小

AI 模型对可以同时处理的数据量有限制。 仪表板 .NET Aspire 可能会在必要时限制发送到 GitHub Copilot 的数据量。

  • 可能会截断大型数据字段(例如长异常堆栈跟踪)。
  • 通过省略较旧的项,可能会缩短涉及大量遥测集合的请求。

在仪表板中禁用 GitHub Copilot

GitHub Copilot 仅在显式与数据交互时访问数据。 例如,提交聊天查询或从上下文菜单中选择 “询问 GitHub Copilot ”。

如果希望完全禁用该功能,请将 ASPIRE_DASHBOARD_AI_DISABLED 环境变量设置为 true 应用主机的 launchSettings.json 文件中。 这会隐藏仪表板中的所有 Copilot UI 元素。

{
  "$schema": "https://json.schemastore.org/launchsettings.json",
  "profiles": {
    "https": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "applicationUrl": "https://localhost:17129;http://localhost:15010",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "DOTNET_ENVIRONMENT": "Development",
        "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21124",
        "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22206",
        "ASPIRE_DASHBOARD_AI_DISABLED": "true"
      }
    }
  }
}

GitHub Copilot 常见问题

有关 Copilot 的详细信息 GitHub ,例如有关计划、隐私和负责任的 AI 使用情况的问题,请参阅 GitHub Copilot 常见问题解答