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.pswp.cn/news/903385.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/903385.shtml
英文地址,請注明出處:http://en.pswp.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 分配偽終端&…