Qoder Desktop 集成

更新时间:
复制 MD 格式

开发过程中排查服务异常时,通常需要切换到 STAROps 控制台执行诊断。STAROps Qoder 插件将阿里云智能运维能力集成到 Qoder Desktop,支持通过 IDE 对话窗口直接发起服务诊断、根因分析和运维问答,无需离开编码环境。

功能介绍

安装并配置 STAROps Qoder 插件后,可通过 Qoder 对话使用自然语言描述运维问题,STAROps Agent 自动执行诊断并返回结果。插件支持以下能力:

  • 诊断服务报错和应用异常,获取根因分析结果。

  • 查询 STAROps 工作空间拓扑和 APM 服务指标。

  • 分析链路追踪数据、错误率和延迟。

  • 对告警事件进行分类研判。

  • 基于多轮对话持续追问同一故障。

适用场景

  • 开发调试阶段发现服务异常,需要快速定位根因。

  • 收到告警通知后,直接通过 IDE 发起诊断排查。

  • 日常运维中需要查询服务拓扑或指标数据。

前提条件

  • 已安装 Qoder Desktop 客户端。

  • 已开通 STAROps 服务,并已创建至少一个数字员工。

  • 当前身份已被授予创建会话和发起对话的权限

  • (可选)推荐安装阿里云 CLI,以便使用 OAuth 免密认证方式配置凭据。

安装 STAROps 插件

  1. 进入 Qoder Desktop,通过以下任一方式打开插件市场

    • 打开Qoder 设置,选择插件,单击右上角插件市场

    • 单击编辑器右上角打开 Quest,然后单击左侧插件市场

  2. 找到 DevOps 分类下的 STAROps 插件卡片。

  3. 单击卡片右上角的安装按钮完成安装。

配置凭据

STAROps 插件需要阿里云凭据来调用 STAROps OpenAPI。根据环境和安全需求,选择以下任一方式配置凭据:

  • 方式一(推荐):OAuth 免密认证:通过浏览器交互完成登录授权,无需管理 AccessKey,安全性更高。适用于本地开发环境。

  • 方式二:AccessKey 配置:将 AccessKey 直接填入配置文件。适用于无浏览器的远程服务器环境。

  • 方式三:阿里云 CLI 标准 Profile:复用已有的阿里云 CLI 配置。适用于已通过 aliyun configure 配置 AK 模式的环境。

方式一(推荐):OAuth 免密认证

OAuth 认证通过交互式浏览器登录获取临时令牌,无需手动管理 AccessKey,安全性更高。

前置条件

  • 阿里云 CLI 版本为 v3.0.299 或更高。执行以下命令确认版本:

aliyun version
  • 阿里云 CLI 与浏览器运行在同一台设备上(不支持无图形界面的远程服务器)。

管理员配置(首次需要)

首次使用 OAuth 前,需要由具备 AliyunRAMFullAccess 权限的 RAM 管理员完成以下一次性操作:

  1. 登录 RAM 控制台,依次选择集成管理 > OAuth 应用 > 第三方应用 > 安装官方应用,下载官方 CLI

  2. 单击已安装的官方 CLI,进入详情页面。

  3. 打开应用详情页的分配页签,单击创建分配,勾选需要使用 OAuth 登录的 RAM 用户或角色。

说明

管理员授权和用户授权是两个独立步骤:管理员授权将 OAuth 应用添加到账号中,用户授权则授权 CLI 代表用户访问云资源,详情参考为阿里云 CLI 配置 OAuth 认证

用户配置步骤

管理员完成上述配置后,每位用户执行以下步骤为当前设备创建本地 OAuth Profile。

  1. 打开终端执行以下命令,为当前用户创建本地 OAuth Profile:

    aliyun configure --profile OAuthProfile --mode OAuth
  2. 根据提示选择登录站点(CNINTL)。

  3. CLI 自动打开浏览器,使用 RAM 用户身份完成登录和授权。

  4. 授权成功后返回终端,输入默认 Region(如 cn-hangzhou)。终端显示 Configure Done 表示配置完成。

  5. 执行以下命令验证凭据是否生效:

aliyun sts GetCallerIdentity --profile OAuthProfile
重要

OAuth 认证模式下,CLI 不会将明文 AccessKey 存储到本地。凭据以加密令牌形式保存于 ~/.aliyun/config.json,STAROps 插件通过 Alibaba Cloud Credentials SDK 默认链自动读取该凭据,无需额外配置。

方式二:AccessKey 配置

如果环境不支持浏览器交互(如远程服务器),可以使用 AccessKey 方式配置凭据。创建私有配置文件 ~/.starops/config.json,填入以下内容:

{
  "employeeId": "<数字员工ID>",
  "accessKeyId": "<YOUR-ACCESS-KEY-ID>",
  "accessKeySecret": "<YOUR-ACCESS-KEY-SECRET>"
}
警告

该文件包含敏感凭据,确保文件权限为仅限当前用户读写(chmod 600 ~/.starops/config.json),且不要将其提交到版本控制系统。

说明

使用方式二时,此配置文件已包含 employeeId,无需再执行配置 STAROps 连接的步骤。

方式三:阿里云 CLI 标准 Profile

如果已通过 aliyun configure 配置了 AK 模式的 Profile,STAROps 插件也能自动读取。

aliyun configure --mode AK

配置完成后,Credentials SDK 默认链会从 ~/.aliyun/config.json 读取凭据。如需使用非默认 Profile,设置以下环境变量:

export ALIBABA_CLOUD_PROFILE="<profile-name>"

配置 STAROps 连接

凭据配置完成后,还需要告知插件要连接哪个 STAROps 数字员工。

说明

如果使用方式二(AccessKey 配置),上一步的 ~/.starops/config.json 已包含 employeeId,可跳过本节。

创建或编辑配置文件 ~/.starops/config.json,填入数字员工 ID:

{
  "employeeId": "<数字员工ID>"
}

配置文件支持以下字段:

字段

是否必填

说明

获取方式

employeeId

数字员工唯一标识

STAROps 控制台 > 数字员工列表 > ID 列

workspace

STAROps 工作空间标识,用于限定诊断范围

STAROps 控制台 > 工作空间设置

project

SLS Project 名称,用于日志查询场景

SLS 控制台 > Project 列表

完整配置示例(使用 OAuth 凭据时,此文件无需填写 AK/SK):

{
  "employeeId": "agent-xxxx",
  "workspace": "my-workspace",
  "project": "my-sls-project"
}
说明

使用 OAuth 方式配置凭据(方式一)时,此文件只需填写 employeeId 等连接信息,不需要填写 accessKeyIdaccessKeySecret。插件会通过 Credentials SDK 默认链自动获取 OAuth 令牌。

验证配置

安装和配置完成后,打开 Qoder 对话框输入 /plugin:starops 命令,运行本地环境检查。

检查通过时输出示例:

数字员工 ID:已配置 [正常]
凭证链:阿里云默认凭证链已解析 [正常]
Endpoint:starops.cn-beijing.aliyuncs.com [正常]

如果检查报告存在缺失项,根据提示信息修正对应配置后重新运行检查。

使用 STAROps

发起诊断

配置验证通过后,可直接通过 Qoder 对话框使用自然语言描述运维问题。STAROps 技能会自动识别以下类型的问题并触发诊断:

  • 故障排查和根因分析(如"帮我排查 order 服务报错的根因")。

  • 服务指标查询(如"查看 payment 服务最近 1 小时的错误率")。

  • 告警分析(如"分析当前告警事件")。

  • 服务拓扑查询(如"展示当前工作空间的服务拓扑")。

也可以通过 /plugin:starops 命令显式调用 STAROps 技能。

多轮追问

STAROps 会自动维护会话上下文。同一次诊断过程内,可以直接追问:

用户:帮我排查 notification 服务最近 30 分钟的异常
STAROps:[诊断结果...]

用户:针对刚才定位到的超时问题,看一下它的调用链
STAROps:[追踪结果...]
说明

多轮追问会复用同一个诊断会话(Thread)。开始一个全新的诊断主题时,STAROps 会自动创建新的会话。

查看完整报告

诊断完成后,STAROps 会返回一个控制台链接,通过浏览器打开该链接可查看完整的诊断报告和可视化结果。

常见问题

报错 HTTP 401 Unauthorized

现象:执行诊断时提示认证失败。

原因:凭据链未解析到有效身份,或身份缺少 STAROps 权限。

解决方案

  1. OAuth 用户:执行 aliyun sts GetCallerIdentity --profile OAuthProfile 确认凭据有效。如令牌过期,重新执行 aliyun configure --profile OAuthProfile --mode OAuth 完成授权。

  2. AK 用户:确认 ~/.starops/config.json 内的 accessKeyIdaccessKeySecret 正确。

  3. 确认身份已被授予 starops:CreateThreadstarops:CreateChat 权限。

报错 ConfigError: Missing required STAROps configuration value

现象:提示 employeeId 缺失。

原因:未配置数字员工 ID。

解决方案:向 ~/.starops/config.json 添加 employeeId 字段,值为 STAROps 控制台数字员工列表的 ID。

报错 HTTP 404 Not Found

现象:诊断请求返回 404。

原因employeeId 不存在,或配置的 workspace / project 与实际不匹配。

解决方案:登录 STAROps 控制台核对数字员工 ID 和工作空间名称是否正确。

报错 CredentialError

现象:提示 Alibaba Cloud Credentials SDK 未找到可用凭据。

原因:未配置任何凭据来源。

解决方案:按照本文配置凭据章节完成至少一种凭据配置,推荐使用 OAuth 方式。

STAROps 技能未被触发

现象:输入运维相关问题后,Qoder 未调用 STAROps 进行诊断。

原因:插件未正确安装或未被识别。

解决方案

  1. 确认插件市场中 STAROps 卡片显示已安装状态。

  2. 尝试使用 /plugin:starops 命令显式触发。

  3. 重启 Qoder Desktop 后重试。