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命令并执行:

<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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/903385.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Shadertoy着色器移植到Three.js经验总结

Shadertoy是一个流行的在线平台&#xff0c;用于创建和分享WebGL片段着色器。里面有很多令人惊叹的画面&#xff0c;甚至3D场景。本人也移植了几个ShaderToy上的着色器。本文将详细介绍移植过程中需要注意的关键点。 1. 基本结构差异 想要移植ShaderToy的shader到three.js&am…

StarRocks SRCA 考试心得总结

文章目录 前言0 什么是StarRcoks&#xff1f;1. 关于 SRCA 考试2. 备考资料与学习方式2.1 官方文档与教程2.2 在线培训课程2.3 实战演练 3. 重点考试内容3.1 StarRocks 架构与原理3.2 数据导入与导出3.3 SQL 查询优化3.4 性能调优 4. 备考建议4.1 多做实操4.2 注重考试中的细节…

什么是 Spring Profiles 以及如何在 Spring Boot 中使用:配置与实践指南

在现代应用开发中&#xff0c;应用程序通常需要在不同环境&#xff08;如开发、测试、生产&#xff09;中运行&#xff0c;每个环境可能有不同的配置&#xff08;如数据库、日志级别、消息队列&#xff09;。Spring Profiles 是 Spring 框架提供的一项功能&#xff0c;用于根据…

Spring Cloud Gateway限流:基于Redis的请求限流实现

文章目录 引言一、Spring Cloud Gateway限流基础1.1 限流机制概述1.2 Redis分布式限流原理 二、实现基于Redis的限流方案2.1 环境准备与依赖配置2.2 配置限流策略2.3 自定义限流响应 三、高级应用与最佳实践3.1 动态限流规则调整3.2 优先级与降级策略3.3 监控与告警 总结 引言 …

keil修改字体无效,修改字体为“微软雅黑”方法

在网上下载了微软雅黑字体&#xff0c;微软雅黑参考下载链接 结果在Edit->Configuration中找不到这个字体 这个时候可以在keil的安装目录中找到UV4/global.prop文件 用记事本打开它进行编辑&#xff0c;把字体名字改成微软雅黑 重新打开keil就发现字体成功修改了。 这个…

CSS文字特效实例:猜猜我是谁

CSS文字特效实例&#xff1a;猜猜我是谁 引言 在之前的文章中&#xff0c;我们分别实现了空心文字、文字填充、文字模糊、文字裂开等效果。本文将使用一个小实例&#xff0c;组合使用相关特效&#xff1a;当鼠标悬停在图片上时&#xff0c;其余图片模糊&#xff0c;且文字会上…

美团社招一面

美团社招一面 做题 1、面试题 <style> .outer{width: 100px;background: red;height: 100px; }.inner {width: 50px;height: 50px;background: green; }</style> <div class"outer"><div class"inner"></div> </div>…

InitializingBean接口和@PostConstruct-笔记

1. InitializingBean 简介 1.1 功能简介 InitializingBean 是 Spring 框架中的一个接口&#xff0c;用在 Bean 初始化后执行自定义逻辑。它提供了 afterPropertiesSet() 方法&#xff0c;该方法在以下时机被 Spring 容器自动调用&#xff1a; 属性注入完成后&#xff08;即所…

《代码整洁之道》第9章 单元测试 - 笔记

测试驱动开发 (TDD) 是一种编写整洁代码的“规程”或“方法论”&#xff0c;而不仅仅是测试技术。 JaCoCo 在运行测试后生成详细的覆盖率报告的工具&#xff0c; maven 引用。 测试驱动开发 测试驱动开发&#xff08;TDD&#xff09;是什么&#xff1f; TDD 不是说写完代码…

openGauss新特性 | DataKit支持PostgreSQL到openGauss的迁移能力

Postgresql-\>openGauss迁移工具debezium-connector-postgres 可获得性 本特性自openGauss 7.0.0-RC1版本开始引入。 特性简介 debezium-connector-postgres工具是一个基于Java语言的Postgresql到openGauss的复制工具。该工具提供了初始全量数据及对象&#xff08;视图、…

在MySQL Shell里 重启MySQL 8.4实例

前一段时间看到MySQL官方视频的Oracle工程师在mysql shell里面重启mysql实例&#xff0c;感觉这个操作很方便&#xff0c;所以来试试&#xff0c;下面为该工程师的操作截图 1.MySQL Shell 通过root用户连上mysql&#xff0c;shutdown mysql实例 [rootmysql8_3 bin]# mysqlshMy…

truffle

文章目录 truffle目录结构各文件作用在本地测试合约 truffle 项目来自https://github.com/Dapp-Learning-DAO/Dapp-Learning/blob/main/basic/04-web3js-truffle/README-CN.md Truffle 是基于 Solidity 语言的一套开发框架&#xff0c;它简化了去中心化应用&#xff08;Dapp&…

SpringCloud核心组件Eureka菜鸟教程

关于Spring Cloud Eureka的核心概念 Eureka 是 Netflix 开源的一款基于 REST 的服务发现工具&#xff0c;主要用于中间层服务器的云端负载均衡。它通过维护一个服务注册表来实现服务之间的通信1。在 Spring Cloud 中&#xff0c;Eureka 提供了一个高可用的服务注册与发现机制&a…

职业教育新形态数字教材的建设与应用:重构教育生态的数字化革命

教育部新时代职业学校名师(名匠)名校长培养计划专题 四川省第四批职业学校名师(名匠)培养计划专题 在某职业院校的智能制造课堂上&#xff0c;学生佩戴VR设备&#xff0c;通过数字教材中的虚拟工厂完成设备装配训练&#xff0c;系统实时生成操作评分与改进建议。这一场景折射出…

基于Python的携程国际机票价格抓取与分析

一、项目背景与目标 携程作为中国领先的在线旅行服务平台&#xff0c;提供了丰富的机票预订服务。其国际机票价格受多种因素影响&#xff0c;包括季节、节假日、航班时刻等。通过抓取携程国际机票价格数据&#xff0c;我们可以进行价格趋势分析、性价比评估以及旅行规划建议等…

Windows 图形显示驱动开发-初始化WDDM 1.2 和 PnP

(WDDM) 1.2 及更高版本显示微型端口驱动程序的所有 Windows 显示驱动程序都必须支持以下行为&#xff0c;以响应即插即用 (PnP) 基础结构启动和停止请求。 根据驱动程序返回成功或失败代码&#xff0c;或者系统硬件是基于基本输入/输出系统 (BIOS) 还是统一可扩展固件接口 (UEF…

【1区SCI】Fusion entropy融合熵,多尺度,复合多尺度、时移多尺度、层次 + 故障识别、诊断-matlab代码

引言 2024年9月&#xff0c;研究者在数学领域国际顶级SCI期刊《Chaos, Solitons & Fractals》&#xff08;JCR 1区&#xff0c;中科院1区 Top&#xff09;上以“Fusion entropy and its spatial post-multiscale version: Methodology and application”为题发表最新科学研…

高并发架构设计之缓存

一、引言 缓存技术作为高并发架构设计的基石之一&#xff0c;通过数据暂存和快速访问机制&#xff0c;在提升系统性能、降低后端负载方面发挥着不可替代的作用。优秀的缓存设计能够将系统吞吐量提升数个数量级&#xff0c;将响应时间从秒级降至毫秒级&#xff0c;甚至成为系统…

Unity AI-使用Ollama本地大语言模型运行框架运行本地Deepseek等模型实现聊天对话(一)

一、Ollama介绍 官方网页&#xff1a;Ollama官方网址 中文文档参考&#xff1a;Ollama中文文档 相关教程&#xff1a;Ollama教程 Ollama 是一个开源的工具&#xff0c;旨在简化大型语言模型&#xff08;LLM&#xff09;在本地计算机上的运行和管理。它允许用户无需复杂的配置…

Docker Python 镜像使用指南

1. 使用 Python 镜像创建容器 docker run -itd -v /data:/data python:latest 作用&#xff1a;创建一个基于 python:latest 镜像的容器&#xff0c;并后台运行。 参数说明&#xff1a; -itd&#xff1a;交互式后台运行&#xff08;-i 交互模式&#xff0c;-t 分配伪终端&…