AI 助手
EasyShell 的 AI 运维助手提供了自然语言界面,用于处理常见的服务器管理任务。它基于 Spring AI 构建,可以分析日志、生成脚本、回答基础设施相关问题、执行自动化巡检,并支持 DAG 工作流编排和 AI 脚本工作台。
从侧边栏 → AI 对话 访问 AI 助手。您可以使用自然语言与其交互:
检查所有生产服务器的磁盘使用情况生成一个清理 30 天前 Docker 镜像的脚本为什么 web-server-03 的 CPU 使用率这么高?基础设施查询
Section titled “基础设施查询”询问有关受管主机的问题:
- “哪些服务器的磁盘剩余空间不足 10%?”
- “显示数据库集群的内存使用趋势”
- “列出所有运行 Ubuntu 22.04 的主机”
描述您的需求,AI 会生成可直接使用的脚本:
- “编写一个轮转 7 天以上 Nginx 访问日志的脚本”
- “创建一个 PostgreSQL 复制健康检查脚本”
- “生成一个更新所有 npm 包并重启应用的脚本”
生成的脚本会在内置编辑器中供您审核后再执行。
粘贴或引用错误日志进行智能分析:
- “解释这个错误:
ERROR 1045 (28000): Access denied for user 'root'@'localhost'” - “分析 web-server-01 上 /var/log/syslog 的最后 100 行”
AI 脚本工作台
Section titled “AI 脚本工作台”AI 脚本工作台提供全屏 AI 辅助脚本编写环境:
- 自然语言描述需求,AI 自动生成可执行脚本
- 内置 CodeMirror 编辑器,支持语法高亮
- 脚本安全性审查和风险评估
- 直接保存到脚本库或执行到目标主机
安排 AI 驱动的巡检,检查以下内容:
- 安全漏洞
- 性能瓶颈
- 配置漂移
- 资源利用异常
巡检结果会编译成报告,可在 巡检 页面查看。
在 系统设置 → AI 配置 中配置 AI 模型后端:
| 设置 | 描述 |
|---|---|
| 提供商 | OpenAI、Azure OpenAI、Ollama 等 |
| 模型 | 模型标识符(例如 gpt-4o、llama3) |
| API 密钥 | 提供商的 API 密钥 |
| 温度 | 响应创造性(0.0–1.0) |
| 最大 Token 数 | 最大响应长度 |
详细设置说明请参阅 AI 配置 指南。
所有 AI 生成的脚本都经过以下流程:
- 用户审核 — 脚本在编辑器中展示,供执行前审核
- 危险命令检测 — 自动扫描破坏性命令
- 审批流程 — 高风险操作可要求管理员审批
- 审计追踪 — 所有 AI 交互和生成的脚本都会记录日志
可用的 AI 工具
Section titled “可用的 AI 工具”AI 助手拥有 26 个专用工具,能够直接与您的基础设施交互。这些工具会根据您的自然语言请求自动调用。工具支持 DAG(有向无环图)工作流编排,可将多个工具串联执行。
| 工具 | 说明 |
|---|---|
listHosts | 获取所有主机列表,包含主机名、IP、操作系统、状态、CPU/内存/磁盘使用率 |
listHostsByStatus | 根据状态筛选主机:0=离线、1=在线、2=不稳定 |
getHostTags | 查看指定主机的标签 |
addTagToHost | 给主机添加标签,如果标签不存在会自动创建 |
removeTagFromHost | 移除主机的指定标签 |
| 工具 | 说明 |
|---|---|
executeScript | 在指定主机上执行 Shell 脚本。脚本会经过风险评估:低风险自动执行,中/高风险需人工确认,封禁命令将被拒绝 |
listScripts | 查询脚本库中的所有脚本列表 |
getScriptDetail | 查询指定脚本的详细信息,包括完整的脚本内容 |
createScript | 创建新脚本并保存到脚本库中 |
| 工具 | 说明 |
|---|---|
listRecentTasks | 查询最近的任务列表 |
getTaskDetail | 查询任务详情,包括各主机的执行结果和输出 |
createTask | 创建并下发脚本执行任务到指定主机 |
| 工具 | 说明 |
|---|---|
listClusters | 查询所有集群列表 |
getClusterDetail | 查询指定集群的详细信息 |
| 工具 | 说明 |
|---|---|
getDashboardStats | 获取平台总览统计数据:主机总数、在线/离线数量、平均 CPU 和内存使用率 |
getHostMetrics | 获取指定主机的历史监控指标 |
| 工具 | 说明 |
|---|---|
listScheduledTasks | 查询所有定时巡检任务列表 |
getInspectReports | 查询最近的巡检报告列表 |
triggerScheduledTask | 手动触发指定的定时巡检任务立即执行 |
| 工具 | 说明 |
|---|---|
approveTask | 审批待执行的任务 |
rejectTask | 拒绝待执行的任务 |
| 工具 | 说明 |
|---|---|
detectSoftware | 探测指定主机上运行的软件和服务 |
queryAuditLogs | 查询操作审计日志 |
| 工具 | 说明 |
|---|---|
deepAnalysis | 启动专门的分析模型进行深入思考(性能瓶颈、故障根因、架构优化等) |
scriptSafetyReview | 审查 Shell 脚本的安全性和正确性 |
delegateTask | 委派任务给子 Agent 执行 |
getTaskResult | 查询异步子任务的执行结果 |