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"模块相关错误,强烈建议升级到最新版本。
四、安装说明
- 克隆代码库
git clone https://gitcode.com/qq_69174109/LinuxAgent.git
cd LinuxAgent
- 安装依赖
pip install -r requirements.txt
- 配置DeepSeek API密钥 配置 DeepSeek API 密钥
cp config.yaml.example config.yaml
# 编辑config.yaml,填入DeepSeek API密钥
详细使用指南
获取DeepSeek API密钥
- 访问DeepSeek官方网站(https://deepseek.com)注册账号
- 在个人设置或API页面申请API密钥
- 复制获得的API密钥
配置系统
- 编辑
config.yaml
文件:
vi config.yaml
- 将您的API密钥填入配置文件的相应位置:
api:api_key: "your_deepseek_api_key" # 将此处替换为真实API密钥
-
其他配置项说明:
base_url
: DeepSeek API的基础URL,默认不需要修改model
: 使用的模型名称,默认使用"deepseek-chat"timeout
: API请求超时时间,默认30秒
-
安全设置:
confirm_dangerous_commands
: 是否确认危险命令(建议保持为true)blocked_commands
: 完全禁止执行的命令列表confirm_patterns
: 需要确认才能执行的命令模式
启动运行
- 直接运行主程序:
python linuxagent.py
- 使用调试模式运行(显示更多日志信息):
python linuxagent.py -d
- 指定配置文件路径:
python linuxagent.py -c /path/to/your/config.yaml
日常使用
-
基本交互方式:
- 启动程序后,您会看到提示符
[LinuxAgent] >
- 直接输入自然语言指令,例如:"帮我查看系统内存使用情况"
- 系统会调用DeepSeek API分析您的指令并生成对应的Linux命令
- 显示命令并执行,然后返回结果分析
- 启动程序后,您会看到提示符
-
内置命令:
help
: 显示帮助信息exit
或quit
: 退出程序clear
: 清屏history
: 显示历史记录config
: 显示当前配置
-
常用示例:
系统信息类:
- "显示系统基本信息"
- "查看当前系统负载情况"
- "检查系统已运行时间和登录用户"
文件操作类:
- "查找/var目录下最近7天修改的大于100MB的文件"
- "找出/home目录下权限为777的文件并列出"
- "将/tmp目录下30天前的日志文件压缩"
服务管理类:
- "查看所有正在运行的服务"
- "检查nginx服务状态并确保它在启动时自动运行"
- "重启MySQL服务并查看最近的错误日志"
网络操作类:
- "检查网络连接状态"
- "显示所有开放的网络端口和对应的进程"
- "测试到百度和谷歌的网络连接"
-
高级用法:
-
管道和复杂命令: "查找占用CPU最高的5个进程,并显示它们的详细信息"
-
多步骤任务: "备份MySQL数据库,压缩备份文件,然后移动到/backup目录"
-
定期任务设置: "创建一个cron任务,每天凌晨3点自动清理/tmp目录下的临时文件"
-
-
设置功能:
-
主题设置:
[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命令并执行:
<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
- 显示帮助信息exit
或quit
- 退出程序clear
- 清屏history
- 显示命令历史config
- 显示当前配置
交互式命令
LinuxAgent支持直接使用交互式命令或自然语言描述:
<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可以将其拆分为多个步骤执行,提供更好的可控性:
<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
命令直接编辑文件:
<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>
或者使用自然语言描述:
<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