一、軟件介紹
文末提供程序和源碼下載
? ? ? ?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