前言¶
在 DSH(DeepSeek Harness)生态中,构建面向 Kubernetes 的智能运维能力通常需要集成多个独立的工具链。现有的做法往往分散了告警处理与故障诊断的流程。dsh-aiops 插件旨在解决这一问题,它将告警接入、故障诊断、路由策略与可观测能力整合为一个统一的 DSH 工作流插件。
插件定位¶
dsh-aiops 是一个面向 Kubernetes 的智能运维系统插件,由 jarvan1 维护。它提供了 Alertmanager 驱动的只读故障诊断能力,集成了结构化故障报告、工作区范围的历史审计以及专用的 AIOps Portal。
核心功能¶
该插件主要包含以下能力:
- Alertmanager 驱动诊断:基于 Alertmanager 事件驱动故障诊断流程。
- 身份验证入口:提供经过身份验证的 Webhook 入口,用于接收告警。
- 会话路由:支持指纹到会话的路由,包含持久队列和资源预算管理。
- 查询窗口:提供告警时间查询窗口,辅助诊断。
- 技能包:打包了
aiops-diag技能。 - 动态数据源:支持动态选择 Alertmanager、Prometheus 和 Kubernetes 的可观测能力。
- 运维反馈:支持仅追加的运维人员反馈机制。
- 审计与报告:提供结构化故障报告和工作区范围的历史/路由审计。
安装与启用¶
安装前需确认环境满足依赖要求。
环境依赖¶
- DSH 版本:
@deepseek-ai/dsh@0.1.2-rc.1 - Node.js 版本:
^22.19.0或>=24.0.0 - pnpm 版本:
>=10
安装命令¶
在已配置 DSH Web Profile 的环境中,执行以下命令安装插件:
dsh plugin --profile web add github:jarvan1/dsh-aiops
若未全局配置 DSH,可使用 npx 直接调用匹配的 CLI 版本:
npx -y @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web add github:jarvan1/dsh-aiops
pnpm 版本兼容性¶
如果使用 pnpm 10 或更高版本,Git 依赖的 prepare 脚本可能会被阻止。安装失败时会打印 allowBuilds 键。请复制该确切的键到 DSH Web Profile 的 pnpm-workspace.yaml 文件中(通常位于 ~/.dsh/profiles/web/pnpm-workspace.yaml):
allowBuilds:
'dsh-aiops@https://codeload.github.com/jarvan1/dsh-aiops/tar.gz/<resolved-commit-sha>': true
安装完成后请重启 DSH。
配置与使用¶
插件安装后,需配置相关环境变量以连接可观测数据源。
基础配置¶
以下环境变量提供了可选的默认组合,并可在 DSH 的 AIOps 数据源设置中持久化或覆盖:
PROMETHEUS_URLALERTMANAGER_URLKUBECONFIGKUBERNETES_CONTEXT
工作流配置¶
配置自动化工作流需要以下凭证:
AIOPS_WORKSPACE:定义工作区范围。AIOPS_ALERTMANAGER_WEBHOOK_SECRET:Alertmanager Webhook 的密钥。
Webhook 监听¶
Webhook 默认监听本地地址 127.0.0.1:3081/alertmanager。如果 Alertmanager 无法访问该本地地址,需通过环境变量 AIOPS_WEBHOOK_PUBLIC_URL 覆盖监听地址。
AIOps Portal¶
在 DSH Web 界面中,通过侧边栏底部的持久化 AIOps 操作打开专用 Portal。该 Portal 仅读取 AIOPS_WORKSPACE,不会根据当前选中的聊天会话扩大查询范围。Prometheus/Alertmanager 的 URL 以及 kubeconfig 路径/上下文均持久化在 DSH 用户设置中。
开发与调试¶
本地开发¶
在本地开发时,需设置 DSH_HOME 环境变量,并使用 link 方式安装插件:
DSH_HOME=/path/to/profile-home pnpm dsh plugin --profile web add link:/path/to/dsh-aiops/packages/aiops
构建与测试¶
在项目根目录执行以下命令进行类型检查和测试:
pnpm install --offline
pnpm run typecheck
pnpm test
构建插件包的命令为:
pnpm run pack:bundle
注意事项¶
- 权限要求:Kubernetes 集成使用只读 kubeconfig,不强制要求
kubectl命令行工具,但需满足基本的只读 RBAC 能力。 - pnpm 配置:使用 pnpm 10+ 时,必须正确配置
pnpm-workspace.yaml中的allowBuilds条目,否则安装会失败。 - DSH 版本:必须使用
@deepseek-ai/dsh@0.1.2-rc.1版本,否则插件可能无法正常工作。 - Portal 范围:Portal 始终读取
AIOPS_WORKSPACE,不随会话切换而改变范围。