AI运维助手-LinuxAgent

介绍

LinuxAgent是基于LLM大模型的智能运维助手,通过接入DeepSeek API实现对Linux终端的自然语言控制,可以实现高效的运维工作。目前已经更新到2.0.5版本。

LinuxAgent能够理解用户的自然语言指令,只要描述需求,系统自动解析意图并执行,支持中文、英语等,可以理解复杂的多步骤请求,根据上下文自动补充命令参数。

支持多种颜色主题,刚上手提供引导帮助,针对Linux进行优化。

https://gitcode.com/qq_69174109/LinuxAgent

智能命令执行

通过自然语言描述,分析后生成命令会对命令进行安全检查,安全比如ls查看则会直接执行,然后分析结果并反馈,如果不安全则需要交互是否进行。

内置多层安全检查机制,命令黑白名单过滤、敏感操作权限检查、系统资源使用限制

对于复杂命令,拆分为多个子命令分步执行,并对子命令执行状态进行监控,出错可终端并给出恢复建议

支持多轮对话

系统会记住之前的交互内容,使得连续操作更流畅‘,保持对话上下文记忆,支持指代消解(“它”、“这个目录”等指代词),根据历史交互调整响应策略

模式介绍

有多种工作模式,可满足不同的需求

  • 自动模式(auto mode):判断输入内容是执行命令还是进行聊天
  • 聊天模式(chat mode):问答交互,不自动执行命令
  • 执行命令模式(agent mode):专注于命令的生成和执行

API密钥管理

支持多种方式配置API密钥

  • 配置文件设置
  • 命令行传入
  • 运行时动态设置
  • 安全的密钥存储机制

数据导出

  • markdown:适合文档记录
  • 文本格式:纯文本日志
  • 脚本格式:提取可执行命令形成脚本

性能监控与优化

确保系统运行高效,内置了性能监控机制

  • API调用性能跟踪
  • 命令执行时间统计
  • 资源使用情况监控
  • 自动调整参数优化性能

架构设计

LinuxAgent采用模块化设计

  • 用户界面模块:处理用户输入和结果展示
  • LLM接口模块:负责与大模型API的通信
  • 命令执行模块:安全执行Linux命令
  • 分析引擎:分析命令执行结果
  • 安全控制模块:命令的白黑名单,安全策略和保护策略
  • 历史记录管理:保存和管理交互历史
  • 配置管理:处理系统设置和参数

内置命令

基本命令

  • help:查看帮助信息
  • exit/quit:退出程序
  • clear:清屏
  • history:显示历史记录
  • config:显示当前配置
  • stats:显示使用统计
  • analytics/dashboard:显示分析仪表板

会话管理

  • chat history:显示对话历史
  • clear chat:清空对话历史
  • save chat:保存对话历史
  • export char [format] [filename]:导出对话内容

设置管理

  • settings/set:进入设置菜单
  • set api_key YOUR_API_KEY:设置API密钥
  • theme:自定义主题设置
  • language [lang]:设置语言

切换模式

  • mode:显示当前模式

  • chat mode:聊天模式

  • agent mode:执行命令模式

  • auto mode:自动模式

学习辅助

  • tutorial:启动交互教程

安装

系统使用Rocky Linux 9.5和Python 3.8

1、克隆代码库

git clone https://gitcode.com/qq_69174109/LinuxAgent.git

2、进入代码库目录解决python依赖

pip install -r requirements.txt

3、配置大模型API密钥,可以使用DeepSeek,我这里使用的是阿里的千问模型。不同的模型官网都有获取API的帮助,写入到config.yaml配置文件中,文件中默认有中文说明,配置文件默认配置了deepseek的案例,使用千问模型只需修改base_url、api_key和provider

provider可随便写,只是在软件中提示使用的LLM

api:
  # LLM提供者: "deepseek"或"openai"
  provider: "qwen-plus"
  # DeepSeek API密钥
  api_key: "sk-b7182a5e1d1a469094821e38962b3a90 "
  # API基础URL
  base_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"

4、运行主程序,在程序中有命令提示,类似在IDE中的代码补全

python linuxagent.py
python linuxagent.py -d # 调试
python linuxagent.py -c ./config.yaml #指定配置文件

使用案例

  • 通过chat mode查看内存信息

  • 查看登录的用户

  • 切换模式

  • 安装docker

提示

  • 在软件中使用ctrl +d 不能像shell中那样退出,必须使用exit或quit
  • 使用命令提示按tab

  • 交互式会根据输入的信息,显示之前交互过的信息,可使用ctrl+f或使用右方向键补齐

总结

软件确实可以帮助运维减少不少的麻烦,对于维护来说,对于Linux系统的复杂,可分析系统资源的使用情况,不用边看系统资源边查资料看参数说明了。

AI估计和13年左右提出的互联网+一样,将各行各业在洗刷一遍,生产力再一步提升。

posted @ 2025-03-23 23:26  夏凉浮生  阅读(428)  评论(0)    收藏  举报