Skip to content

AI 功能

Runixo 将 AI 深度融合到服务器运维中,支持自然语言操作、智能诊断和自动化工作流。

AI 模块概览

功能说明
自然语言运维用对话方式执行服务器操作
智能诊断AI 分析日志和指标,定位故障根因
命令生成描述需求,AI 生成对应命令
工作流编排AI 规划多步骤操作并执行
插件工具插件注册的 AI 工具自动可用

配置 AI

设置 AI 模型

在客户端 「设置」→「AI」 中配置:

配置项说明
模型提供商OpenAI / Anthropic / 自定义
API Key模型 API 密钥(安全存储在系统密钥链中)
模型gpt-4oclaude-3.5-sonnet
自定义端点兼容 OpenAI API 的自定义地址

密钥安全

API Key 使用 Electron 的 safeStorage 加密存储在系统密钥链中(Windows: DPAPI, macOS: Keychain, Linux: libsecret),不会以明文保存在配置文件中。

支持的模型

提供商推荐模型说明
OpenAIgpt-4o综合能力强,推荐
OpenAIgpt-4o-mini速度快,成本低
Anthropicclaude-3.5-sonnet代码和分析能力优秀
自定义任意兼容模型支持 OpenAI API 格式

自然语言运维

在 AI 对话框中直接用自然语言操作服务器:

系统管理

用户: 查看服务器磁盘使用情况
AI: 正在执行 df -h...

文件系统        大小  已用  可用  使用%  挂载点
/dev/sda1       50G   32G   16G   67%   /
/dev/sdb1      200G  180G   10G   95%   /data

⚠️ /data 分区使用率 95%,建议清理空间。
需要我帮你查找大文件吗?

服务管理

用户: nginx 好像挂了,帮我看看
AI: 正在诊断 nginx 状态...

1. 服务状态: inactive (dead)
2. 最近日志:
   [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

🔍 诊断结果: 端口 80 被其他进程占用
   占用进程: apache2 (PID: 1234)

建议操作:
1. 停止 apache2: sudo systemctl stop apache2
2. 重启 nginx: sudo systemctl restart nginx

需要我执行吗?

安全检查

用户: 帮我检查一下服务器安全状况
AI: 正在进行安全检查...

✅ 系统更新: 已是最新
✅ 防火墙: UFW 已启用
⚠️ SSH: 允许 root 登录(建议禁用)
⚠️ 开放端口: 22, 80, 443, 3306
   → 3306 (MySQL) 暴露到公网,建议限制访问
❌ 未配置 fail2ban

建议:
1. 禁用 SSH root 登录
2. 限制 MySQL 端口仅内网访问
3. 安装 fail2ban 防暴力破解

智能诊断

当服务器出现异常时,AI 可以自动分析:

  1. 收集信息:系统日志、服务状态、资源使用率
  2. 关联分析:将多个指标关联,找出根因
  3. 给出建议:提供具体的修复步骤
  4. 执行修复:经确认后自动执行修复命令

MCP 工具集成

Runixo 的 AI 模块支持 MCP(Model Context Protocol),插件可以注册 MCP 工具供 AI 调用:

typescript
// 插件中注册 AI 工具
ctx.ai.registerTool({
  name: 'query_database',
  description: '查询数据库并返回结果',
  parameters: {
    type: 'object',
    properties: {
      query: { type: 'string', description: 'SQL 查询语句' },
      database: { type: 'string', description: '数据库名称' }
    },
    required: ['query']
  },
  handler: async (params) => {
    // 执行查询并返回结果
    return await db.query(params.query)
  }
})

注册后,AI 会自动识别并在需要时调用这些工具。

安全限制

  • AI 执行危险命令前会请求确认(如 rm -rfreboot
  • 所有 AI 操作都有审计日志
  • 可在设置中配置 AI 的权限范围(只读 / 读写 / 完全控制)
  • 环境变量传递给 MCP 工具时会最小化,不泄露敏感信息

MIT License