Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux 智能代理 - AI Hackathon 2026

Version Python React License

通过自然语言管理 Linux 服务器的智能运维助手

功能特性快速开始使用示例技术架构


🎯 项目简介

本项目为 超聚变 AI Hackathon 2026 参赛作品,实现了一个基于大语言模型的 Linux 服务器智能管理代理。

用户只需用自然语言描述需求(如"查看磁盘使用情况"、"安装nginx并启动服务"),系统即可:

  • 自动解析意图并生成执行计划
  • 智能执行命令并分析结果
  • 提供专业的运维建议
  • 自动拦截高风险操作

✨ 功能特性

🔥 核心亮点

特性 描述
智能结果分析 不只是执行命令,AI会解读输出结果,提取关键信息,给出专业建议
失败智能诊断 命令失败时自动分析原因,提供解决方案和备选命令
自然语言回滚 说"撤销刚才的操作"即可自动执行回滚命令
连续任务编排 复杂任务自动拆分为多步骤,支持依赖管理和失败回滚

📊 基础能力

  • 磁盘监测 - "查看磁盘使用情况" → 智能分析空间状态
  • 内存监控 - "查看内存使用" → 给出优化建议
  • 进程管理 - "查看nginx进程状态" → 进程健康分析
  • 端口查询 - "80端口被谁占用" → 端口占用详情
  • 用户管理 - "创建deploy用户并禁止登录" → 自动编排多步骤
  • 服务管理 - "安装nginx并启动服务" → 完整安装流程

🛡️ 安全风控

  • 高风险操作拦截 - rm -rf /、删除 /etc 等危险操作自动拒绝
  • 敏感文件保护 - /etc/passwd/etc/shadow 等关键文件禁止修改
  • 二次确认机制 - 多步骤任务执行前需用户确认
  • 操作审计日志 - 完整记录所有操作历史

🚀 探索能力

  • 语音输入 - Web Speech API 支持,解放双手
  • 多轮对话 - 上下文记忆,支持追问和指代消解
  • 健康检查 - 一键生成系统健康报告和优化建议
  • 智能问答 - "为什么失败了?"自动诊断问题

🚀 快速开始

环境要求

  • Python 3.10+
  • Node.js 18+
  • Linux 服务器(Ubuntu/CentOS/openEuler),需开启 SSH 服务

1. 启动后端

cd backend
pip install -r requirements.txt

# 配置环境变量
cp .env.example .env
# 编辑 .env 填入 API Key

# 启动服务
uvicorn app.main:app --host 0.0.0.0 --port 8000

2. 启动前端

cd frontend
npm install
npm run dev

3. 连接 Linux 服务器

打开浏览器访问 http://localhost:3000,输入目标 Linux 服务器的 SSH 连接信息:

参数 说明
主机 Linux 服务器 IP 地址
端口 SSH 端口(默认 22)
用户名 SSH 用户名
密码 SSH 密码

📖 使用示例

示例 1:基础操作 + 智能分析

用户: 查看磁盘使用情况

Agent: ✅ 任务完成
       📝 查看磁盘使用情况
       ━━━━━━━━━━━━━━━━━━━━━
       ✅ 步骤1: 查看磁盘使用情况

       📊 智能分析
       ✅ 根分区磁盘使用率40%,状态健康

       💡 建议:
       • 当前空间充足,无需处理

示例 2:连续任务编排

用户: 安装nginx并启动服务

Agent: 📋 任务计划

       ⏳ 步骤1: 更新软件包列表
          命令: `sudo apt update`
       ⏳ 步骤2: 安装nginx
          命令: `sudo apt install -y nginx`
          回滚: `sudo apt remove -y nginx`
       ⏳ 步骤3: 启动nginx服务
          命令: `sudo service nginx start`
          回滚: `sudo service nginx stop`

       是否确认执行?

示例 3:失败智能诊断

用户: 创建test用户

Agent: ❌ 任务执行失败

       失败步骤: 创建test用户
       错误信息: useradd: Permission denied

       🔍 失败诊断

       错误类型: 权限
       根本原因: 当前用户非root用户,需要sudo权限
       解决方案: 使用 sudo useradd 命令提权执行
       备选命令: sudo useradd -m test

示例 4:自然语言回滚

用户: 创建一个testuser用户

Agent: ✅ 用户 testuser 创建成功

用户: 撤销刚才的操作

Agent: ↩️ 已撤销刚才的操作
       ✅ 撤销: 创建用户 testuser: `sudo userdel -r testuser`

示例 5:安全拦截

用户: 删除 /etc 目录

Agent: 🚫 安全警告

       检测到高风险操作:
       • rm -rf /etc: 涉及系统核心目录 /etc

       此操作已被阻止,以保护系统安全。

🏗️ 技术架构

┌─────────────────────────────────────────────────────────────┐
│                      Web Frontend                           │
│  (React + TypeScript + Tailwind CSS)                       │
│  - 现代化聊天界面、语音输入、实时状态展示                      │
└─────────────────────┬───────────────────────────────────────┘
                      │ HTTP/WebSocket
┌─────────────────────▼───────────────────────────────────────┐
│                    Backend Server                           │
│  (Python FastAPI)                                          │
│  - 会话管理、意图解析、任务编排、安全审计                      │
└─────────────────────┬───────────────────────────────────────┘
                      │
        ┌─────────────┼─────────────┬─────────────┐
        ▼             ▼             ▼             ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│  Claude API   │ │  SSH Engine   │ │ Safety Guard  │ │  Analyzer     │
│  (意图理解)    │ │ (命令执行)     │ │ (风险控制)    │ │ (智能分析)    │
└───────────────┘ └───────────────┘ └───────────────┘ └───────────────┘
                          │
                          ▼
                  ┌───────────────┐
                  │ Linux Server  │
                  │ (Ubuntu/      │
                  │  CentOS/      │
                  │  openEuler)   │
                  └───────────────┘

核心模块

模块 文件 功能
任务编排 task_orchestrator.py 意图解析、任务规划、多步骤编排
智能分析 intelligent_analyzer.py 结果解读、失败诊断、专业建议
安全防护 safety_guard.py 风险评估、高危拦截、二次确认
状态管理 state_manager.py 系统状态追踪、健康检查、智能建议
SSH引擎 ssh_client.py 连接管理、命令执行、输出捕获

📁 项目结构

ai-hackthon/
├── frontend/                    # React 前端
│   ├── src/
│   │   └── App.tsx             # 主应用组件
│   ├── package.json
│   └── vite.config.ts
├── backend/                     # Python 后端
│   ├── app/
│   │   ├── main.py             # FastAPI 入口
│   │   ├── agents/
│   │   │   ├── task_orchestrator.py    # 任务编排引擎
│   │   │   ├── intelligent_analyzer.py # 智能分析引擎
│   │   │   ├── safety_guard.py         # 安全防护模块
│   │   │   └── state_manager.py        # 状态管理模块
│   │   ├── tools/
│   │   │   └── ssh_client.py           # SSH 连接管理
│   │   └── models/
│   │       └── schemas.py              # 数据模型定义
│   ├── requirements.txt
│   └── .env
└── docs/                        # 设计文档
    ├── README.md               # 项目说明
    ├── architecture.md         # 架构设计
    ├── agent_config.md         # Agent 配置
    ├── prompts.md              # 核心 Prompt
    ├── tools.md                # 工具定义
    └── demo_scenarios.md       # 演示场景

📊 技术亮点

1. 智能结果分析

传统运维工具只返回命令输出,本系统使用 AI 对结果进行深度解读:

  • 自动提取关键数据点
  • 判断系统健康状态
  • 给出专业运维建议

2. 失败智能诊断

命令失败时,系统不会简单报错,而是:

  • 分析失败根本原因
  • 提供具体解决方案
  • 推荐备选命令

3. 自然语言回滚

用户说"撤销刚才的操作"即可回滚,无需记忆具体命令:

  • 自动记录回滚命令
  • 按正确顺序执行回滚
  • 验证回滚结果

4. 连续任务编排

复杂任务自动拆分为原子操作:

  • 依赖关系自动处理
  • 失败自动回滚已执行步骤
  • 进度实时展示

🛠️ 技术选型

组件 选择 理由
LLM Claude API 强大的意图理解和分析能力
后端 FastAPI 异步支持好,性能优秀
前端 React + TypeScript 类型安全,生态成熟
SSH paramiko Python 最成熟的 SSH 库
样式 Tailwind CSS 开发效率高

📝 License

MIT License


Made with ❤️ for AI Hackathon 2026

About

Manage Linux servers with natural language. AI parses intent, executes commands, analyzes results, and blocks risks automatically.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages