Coroot Enterprise AI 模型接入配置完全指南:Anthropic、OpenAI 与 OpenAI 兼容 API 的三种集成方式
【免费下载链接】corootCoroot is an open-source observability and APM tool with AI-powered Root Cause Analysis. It combines metrics, logs, traces, continuous profiling, and SLO-based alerting with predefined dashboards and inspections.项目地址: https://gitcode.com/GitHub_Trending/co/coroot
Coroot 的 AI 驱动根因分析(AI-powered Root Cause Analysis)能够把指标、日志、Trace 和持续剖析(continuous profiling)等遥测数据归纳为清晰、可执行的故障结论。本指南以 docs/docs/ai/configuration.md 为核心,完整讲解 Coroot Enterprise 中接入 Anthropic(Claude)、OpenAI(GPT)以及任意 OpenAI 兼容 API(如 DeepSeek、Google Gemini)的配置步骤、网络与权限要求,并结合仓库前端表单与后端配置存储的实现细节,帮助你准确完成 AI 模型提供商的接入与排障。
功能背景:AI 如何参与根因分析
在进入配置之前,需要先理解该配置服务于什么能力。Coroot 的 AI 根因分析分两层工作(详见 docs/docs/ai/overview.md):
- 第一层(不使用 LLM):Coroot 会像工程师一样,沿着受影响服务的依赖图,用各类机器学习算法比对遥测数据与异常,筛选出最可能的根因、相关日志和关键信号,形成一份详细的 RCA 报告。
- 第二层(使用 LLM):当你在界面上点击"Explain with AI"时,Coroot 只把上述分析结论发送给所选模型,由 LLM 负责总结与解释,而不是让它直接面对原始遥测数据做因果判断——这正是 LLM 最擅长的场景。
因此,本文要配置的 AI 模型提供商,扮演的是"解释器与摘要器"角色,而非"分析引擎"。
支持的模型提供商
根据 配置文档,Coroot Enterprise 支持三类模型接入:
| 提供商类型 | 代表模型 | 说明 |
|---|---|---|
| Anthropic | Claude Opus 4.6 | 官方推荐,Coroot 测试中效果最佳 |
| OpenAI | GPT-5.2 | 官方原生支持 |
| OpenAI 兼容 API | DeepSeek、Google Gemini 等 | 任何兼容 OpenAI API 协议的提供商均可接入 |
注意:文档中给出的模型名称(如 Claude Opus 4.6、GPT-5.2)为文档撰写时的推荐型号,实际可用的模型取决于你所用提供商账户的权限与配额,应以提供商侧文档为准。
前置条件
权限要求
AI 集成是全局设置,适用于所有项目,配置时要求当前登录用户具备settings.edit权限。在 Coroot 的权限模型中,该权限决定了用户能否修改项目级与全局设置(相关权限定义可参考 rbac/action.go 与 rbac/actions.go)。如果你在界面中看不到或无法保存 AI 配置,请先确认账号角色是否被授予该权限。
网络连通性
Coroot Enterprise 实例必须能够主动访问模型提供商的服务端点,并且使用标准的 HTTPS 443 端口:
| 提供商 | 需要可达的端点 |
|---|---|
| Anthropic | api.anthropic.com:443 |
| OpenAI | api.openai.com:443 |
| OpenAI 兼容 API | 你指定的 Base URL(由提供商决定) |
若实例部署在受限网络(如代理、防火墙或 egress 白名单环境)中,请确保上述域名/端口已在白名单中放行,否则 RCA 结果会返回失败状态。
配置入口
登录 Coroot 后,依次进入Project Settings(项目设置)→AI即可看到模型提供商配置页面。该页面提供四种状态:Anthropic、OpenAI、OpenAI-compatible API以及Disabled(停用 AI 功能)。
配置 Anthropic
Anthropic 是 Coroot 官方推荐的首选提供商,配置方式最简单——只需一个 API Key:
- 在 AI 设置页选择Anthropic作为模型提供商;
- 填入你的 Anthropic API Key(建议从官方 API 控制台获取);
- 点击Save保存。
从前端实现看,该表单对应 front/src/views/IntegrationAI.vue 中form.provider === 'anthropic'的分支:只有一个必填的api_key字段,且以密码框(type="password")形式输入,并带有notEmpty非空校验。也就是说,接入 Anthropic 无需关心模型名、无需自定义端点,Coroot 会使用账户默认的 Claude 模型完成解释任务。
配置 OpenAI
OpenAI 的接入方式与 Anthropic 完全对称:
- 选择OpenAI作为模型提供商;
- 填入 OpenAI API Key;
- 点击Save保存。
对应前端代码同样只有api_key一个必填字段(见 front/src/views/IntegrationAI.vue 中form.provider === 'openai'分支),输入框使用密码类型并做非空校验。
配置 OpenAI 兼容 API
这是自由度最高的接入方式,适用于 DeepSeek、Google Gemini 以及任何实现了 OpenAI Chat Completions 协议的自建或第三方网关:
- 选择OpenAI-compatible API作为模型提供商;
- 填写Base URL:提供商 API 服务的根地址(例如自建网关、代理或 DeepSeek / Gemini 的 OpenAI 兼容端点),该字段带有
isUrl格式校验; - 填写API Key:访问该服务的密钥;
- 填写Model:指定要使用的模型名称或 ID,该值需与提供商文档中声明的标识完全一致;
- 点击Save保存。
三个字段在前端实现中均对应 front/src/views/IntegrationAI.vue 的openai_compatible分支:base_url、api_key、model,其中 Base URL 校验 URL 格式,API Key 与模型名执行非空校验。配置完成后,请确认实例可以连通你填写的 Base URL。
从源码看配置的保存与读取链路
前端表单与接口调用
AI 设置页面由 front/src/views/IntegrationAI.vue 实现,其核心逻辑包括:
get():页面挂载时调用this.$api.ai(null, cb)拉取当前配置,回填表单;save():提交{ provider, anthropic, openai, openai_compatible }结构体,成功后提示Settings were successfully updated.并重新拉取;- 只读模式:若后端返回
readonly: true,表单会整体禁用并提示 "AI settings are defined through the config and cannot be modified via the UI."。可以推断:AI 设置也支持通过配置文件定义(例如 config/config.go 中的corootCloud段),此时界面只读,防止与文件配置冲突; - 版本差异:
disabled标志由this.$coroot.edition !== 'Enterprise'决定,即 AI 提供商配置仅对 Enterprise 版本开放,与文档中"仅限 Coroot Enterprise"的说明一致。
接口层定义在 front/src/api.js:ai(form, cb)在传参时走POST ai,不传参时走GET ai,与上述读写逻辑对应。
后端配置存储
在后端,云集成/订阅类设置以键值形式持久化:cloud/api.go中的Settings结构体包含ApiKey与RCA(DisableIncidentsAutoInvestigation)字段,通过db.GetSetting/db.SetSetting(设置名cloud_integration_settings)读写。而企业版 AI 提供商配置属于全局设置,同样遵循"全局、跨项目生效"的语义。
RCA 服务如何检查 AI 可用性
cloud/rca.go中的RCAStatus方法揭示了配置与实际调用之间的关系:当 API Key 为空时返回AI disabled;当DisableIncidentsAutoInvestigation开启且属于自动调查场景时同样返回AI disabled;若积分耗尽则返回Out of credits;全部通过才返回OK。随后api/rca.go中的RCA/IncidentRCA流程会把聚合后的指标、Kubernetes 事件、违反 SLO 的 ErrorTrace/SlowTrace 等封装成RCARequest(msgpack + lz4 压缩),发送到分析服务换取 RCA 结果——整个过程中原始遥测数据并不会直接暴露给 LLM。
常见问题排查
- 界面显示 AI 已禁用(AI disabled):检查是否在 AI 设置页选择了
Disabled,或 API Key 为空;若为社区版(Community Edition),可参考 docs/docs/ai/coroot-cloud.md 通过连接 Coroot Cloud 获得每月 10 次免费调查额度。 - 无法保存配置:确认当前账号是否具备
settings.edit权限;若页面整体只读,说明设置已由配置文件定义,请通过配置文件修改。 - RCA 返回失败(Failed):优先排查实例到
api.anthropic.com:443、api.openai.com:443或自定义 Base URL 的网络连通性;同时确认账户 API Key 有效、模型配额未耗尽。另外,从 api/rca.go 可以看到,多集群项目(multicluster)暂不支持 RCA,也会直接返回失败。 - 模型名无效:OpenAI 兼容模式下,
model字段必须与提供商文档中的模型标识完全一致,不能使用提供商营销名称。
按照上述步骤完成任一提供商的接入后,Coroot 便能在检测到 SLI 异常(如延迟飙升、错误率上升)时,为你生成包含异常摘要、问题传播路径、关键证据与修复建议的 AI 解释,从而显著缩短故障定位与修复的周期。
【免费下载链接】corootCoroot is an open-source observability and APM tool with AI-powered Root Cause Analysis. It combines metrics, logs, traces, continuous profiling, and SLO-based alerting with predefined dashboards and inspections.项目地址: https://gitcode.com/GitHub_Trending/co/coroot
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考