本项目为 超聚变 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 服务
cd backend
pip install -r requirements.txt
# 配置环境变量
cp .env.example .env
# 编辑 .env 填入 API Key
# 启动服务
uvicorn app.main:app --host 0.0.0.0 --port 8000cd frontend
npm install
npm run dev打开浏览器访问 http://localhost:3000,输入目标 Linux 服务器的 SSH 连接信息:
| 参数 | 说明 |
|---|---|
| 主机 | Linux 服务器 IP 地址 |
| 端口 | SSH 端口(默认 22) |
| 用户名 | SSH 用户名 |
| 密码 | SSH 密码 |
用户: 查看磁盘使用情况
Agent: ✅ 任务完成
📝 查看磁盘使用情况
━━━━━━━━━━━━━━━━━━━━━
✅ 步骤1: 查看磁盘使用情况
📊 智能分析
✅ 根分区磁盘使用率40%,状态健康
💡 建议:
• 当前空间充足,无需处理
用户: 安装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`
是否确认执行?
用户: 创建test用户
Agent: ❌ 任务执行失败
失败步骤: 创建test用户
错误信息: useradd: Permission denied
🔍 失败诊断
错误类型: 权限
根本原因: 当前用户非root用户,需要sudo权限
解决方案: 使用 sudo useradd 命令提权执行
备选命令: sudo useradd -m test
用户: 创建一个testuser用户
Agent: ✅ 用户 testuser 创建成功
用户: 撤销刚才的操作
Agent: ↩️ 已撤销刚才的操作
✅ 撤销: 创建用户 testuser: `sudo userdel -r testuser`
用户: 删除 /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 # 演示场景
传统运维工具只返回命令输出,本系统使用 AI 对结果进行深度解读:
- 自动提取关键数据点
- 判断系统健康状态
- 给出专业运维建议
命令失败时,系统不会简单报错,而是:
- 分析失败根本原因
- 提供具体解决方案
- 推荐备选命令
用户说"撤销刚才的操作"即可回滚,无需记忆具体命令:
- 自动记录回滚命令
- 按正确顺序执行回滚
- 验证回滚结果
复杂任务自动拆分为原子操作:
- 依赖关系自动处理
- 失败自动回滚已执行步骤
- 进度实时展示
| 组件 | 选择 | 理由 |
|---|---|---|
| LLM | Claude API | 强大的意图理解和分析能力 |
| 后端 | FastAPI | 异步支持好,性能优秀 |
| 前端 | React + TypeScript | 类型安全,生态成熟 |
| SSH | paramiko | Python 最成熟的 SSH 库 |
| 样式 | Tailwind CSS | 开发效率高 |
MIT License
Made with ❤️ for AI Hackathon 2026