LinuxAgent开源程序是一款智能运维助手,通过接入 DeepSeek API 实现对 Linux 终端的自然语言控制,帮助用户更高效地进行系统运维工作

一、软件介绍

文末提供程序和源码下载

LinuxAgent 开源程序是基于LLM大模型的Linux智能运维助手。通过接入DeepSeek API实现对Linux终端的自然语言控制,帮助用户更高效地进行系统运维工作。

二、版本特性对比

特性 v1.4.1 1.4.1 版 v2.0.3 2.0.3 版 v2.0.4 2.0.4 版 v2.0.5 (最新)
自然语言理解
智能命令执行
安全控制机制
多轮对话支持 ✓+ ✓+
自动/手动模式切换
流式输出回答
自定义主题
交互式教程
Linux专属优化
输入阻塞问题修复
终端状态恢复

三、功能特点

  • 自然语言理解:通过DeepSeek API理解用户的自然语言指令
  • 智能命令执行:将用户意图转换为Linux命令并安全执行
  • 结果反馈:清晰展示命令执行结果
  • 安全控制:内置安全检查机制,防止危险操作
  • 历史记录:保存交互历史,方便复用和追踪

系统要求

  • Rocky Linux 9.4 或其他兼容系统
  • Python 3.8+ Python 3.8+ 版
  • 网络连接(用于访问DeepSeek API)
  • DeepSeek API密钥 DeepSeek API 密钥

重要提示: 从版本2.0.5起,LinuxAgent已专门针对Linux环境进行优化,移除了Windows相关代码,解决了终端状态和键盘输入问题。如果您在之前版本遇到过终端输入阻塞或"msvcrt"模块相关错误,强烈建议升级到最新版本。

四、安装说明

  1. 克隆代码库
复制代码
git clone https://gitcode.com/qq_69174109/LinuxAgent.git
cd LinuxAgent
  1. 安装依赖
复制代码
pip install -r requirements.txt
  1. 配置DeepSeek API密钥 配置 DeepSeek API 密钥
复制代码
cp config.yaml.example config.yaml
# 编辑config.yaml,填入DeepSeek API密钥

详细使用指南

获取DeepSeek API密钥
  1. 访问DeepSeek官方网站(https://deepseek.com)注册账号
  2. 在个人设置或API页面申请API密钥
  3. 复制获得的API密钥
配置系统
  1. 编辑config.yaml文件:
复制代码
vi config.yaml
  1. 将您的API密钥填入配置文件的相应位置:
复制代码
api:
  api_key: "your_deepseek_api_key"  # 将此处替换为真实API密钥
  1. 其他配置项说明:

    • base_url: DeepSeek API的基础URL,默认不需要修改
    • model: 使用的模型名称,默认使用"deepseek-chat"
    • timeout: API请求超时时间,默认30秒
  2. 安全设置:

    • confirm_dangerous_commands: 是否确认危险命令(建议保持为true)
    • blocked_commands: 完全禁止执行的命令列表
    • confirm_patterns: 需要确认才能执行的命令模式
启动运行
  1. 直接运行主程序:
复制代码
python linuxagent.py
  1. 使用调试模式运行(显示更多日志信息):
复制代码
python linuxagent.py -d
  1. 指定配置文件路径:
复制代码
python linuxagent.py -c /path/to/your/config.yaml

日常使用

  1. 基本交互方式

    • 启动程序后,您会看到提示符[LinuxAgent] >
    • 直接输入自然语言指令,例如:"帮我查看系统内存使用情况"
    • 系统会调用DeepSeek API分析您的指令并生成对应的Linux命令
    • 显示命令并执行,然后返回结果分析
  2. 内置命令

    • help: 显示帮助信息
    • exitquit: 退出程序
    • clear: 清屏
    • history: 显示历史记录
    • config: 显示当前配置
  3. 常用示例

    系统信息类:

    • "显示系统基本信息"
    • "查看当前系统负载情况"
    • "检查系统已运行时间和登录用户"

    文件操作类:

    • "查找/var目录下最近7天修改的大于100MB的文件"
    • "找出/home目录下权限为777的文件并列出"
    • "将/tmp目录下30天前的日志文件压缩"

    服务管理类:

    • "查看所有正在运行的服务"
    • "检查nginx服务状态并确保它在启动时自动运行"
    • "重启MySQL服务并查看最近的错误日志"

    网络操作类:

    • "检查网络连接状态"
    • "显示所有开放的网络端口和对应的进程"
    • "测试到百度和谷歌的网络连接"
  4. 高级用法

    • 管道和复杂命令: "查找占用CPU最高的5个进程,并显示它们的详细信息"

    • 多步骤任务: "备份MySQL数据库,压缩备份文件,然后移动到/backup目录"

    • 定期任务设置: "创建一个cron任务,每天凌晨3点自动清理/tmp目录下的临时文件"

  5. 设置功能

    • 主题设置:

      复制代码
      [LinuxAgent] > theme

      可选择不同的界面主题,包括默认、暗色、亮色、复古和海洋等主题风格。

    • 语言设置:

      复制代码
      [LinuxAgent] > language

      支持切换中文、英文等多种语言界面。

    • 模式切换:

      复制代码
      [LinuxAgent] > mode
      [LinuxAgent] > chat mode
      [LinuxAgent] > agent mode
      [LinuxAgent] > auto mode

      在聊天模式、命令执行模式和自动模式之间切换。

    • API密钥设置:

      复制代码
      [LinuxAgent] > set api_key YOUR_API_KEY

      在不修改配置文件的情况下,直接在程序内设置DeepSeek API密钥。

    • 教程启动:

      复制代码
      [LinuxAgent] > tutorial

      启动交互式教程,学习如何使用LinuxAgent。

    • 会话导出:

      复制代码
      [LinuxAgent] > export chat

      将当前会话内容导出为文档或脚本。

使用方法

基本用法

复制代码
# 启动LinuxAgent
./linuxagent.py

输入自然语言命令,LinuxAgent会自动转换为相应的Linux命令并执行:

notranslate 复制代码
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>[LinuxAgent] > 查找最近7天内修改过的大于100MB的日志文件
</code></span></span></span></span>

特殊命令

  • help - 显示帮助信息
  • exitquit - 退出程序
  • clear - 清屏
  • history - 显示命令历史
  • config - 显示当前配置

交互式命令

LinuxAgent支持直接使用交互式命令或自然语言描述:

notranslate 复制代码
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code># 直接使用命令
[LinuxAgent] > vim /etc/nginx/nginx.conf

# 使用自然语言描述
[LinuxAgent] > 使用nano编辑apache配置文件
[LinuxAgent] > 编辑/etc/fstab文件用vim
[LinuxAgent] > 用htop查看系统资源占用
</code></span></span></span></span>

支持的交互式命令包括:

  • 文本编辑器:vim, vi, nano, emacs
  • 命令行工具:top, htop, less, more
    命令行工具:top, htop, less, more
  • 数据库客户端:mysql, psql, sqlite3
  • Shell程序:bash, sh, zsh Shell 程序:bash, sh, zsh
  • 网络工具:ssh, telnet, ftp, sftp

高级功能

命令拆分执行

对于复杂的多步骤命令,LinuxAgent可以将其拆分为多个步骤执行,提供更好的可控性:

notranslate 复制代码
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>[LinuxAgent] > 更新系统,安装nginx,并设置开机启动
</code></span></span></span></span>

系统会询问是否要将这个复杂命令拆分为多个步骤执行。

交互式编辑

可以通过edit命令直接编辑文件:

notranslate 复制代码
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>[LinuxAgent] > edit /etc/hosts vim
</code></span></span></span></span>

或者使用自然语言描述:

notranslate 复制代码
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>[LinuxAgent] > 使用nano编辑/etc/resolv.conf</code></span></span></span></span>

五、软件下载

夸克网盘分享

本文信息来源于GitHub作者地址:https://github.com/Eilen6316/LinuxAgent

相关推荐
__lost42 分钟前
MATLAB画出3d的常见复杂有机分子和矿物的分子结构
开发语言·人工智能·matlab·化学·分子结构
每天都要写算法(努力版)1 小时前
【神经网络与深度学习】五折交叉验证(5-Fold Cross-Validation)
人工智能·深度学习·神经网络
hi星尘1 小时前
深度解析:基于Python的微信小程序自动化操作实现
python·微信小程序·自动化
郭不耐1 小时前
DeepSeek智能时空数据分析(六):大模型NL2SQL绘制城市之间连线
人工智能·数据分析·时序数据库·数据可视化·deepseek
winfredzhang2 小时前
Deepseek 生成新玩法:从文本到可下载 Word 文档?思路与实践
人工智能·word·deepseek
潘yi.2 小时前
web技术与nginx网站环境部署
服务器·网络·nginx
KY_chenzhao3 小时前
ChatGPT与DeepSeek在科研论文撰写中的整体科研流程与案例解析
人工智能·机器学习·chatgpt·论文·科研·deepseek
安顾里3 小时前
Linux命令-iostat
linux·运维·服务器
whoarethenext3 小时前
初始https附带c/c++源码使用curl库调用
服务器·c++·qt·https·curl
不爱吃于先生3 小时前
生成对抗网络(Generative Adversarial Nets,GAN)
人工智能·神经网络·生成对抗网络