/ README.zh-TW.md
README.zh-TW.md
1 <p align="center"> 2 <img src="docs/images/logo.png" alt="EasyShell Logo" width="200" /> 3 </p> 4 5 # EasyShell 6 7 **AI 原生伺服器運維平台** 8 9 讓 AI 為您撰寫腳本、編排多機任務並分析基礎設施 —— 您只需專注於核心決策。 10 11 [](./LICENSE) 12 [](https://docs.easyshell.ai) 13 [](https://discord.gg/akQqRgNB6t) 14 15 **語言**: [English](./README.md) | [简体中文](./README.zh-CN.md) | 繁體中文 | [한국어](./README.ko.md) | [Русский](./README.ru.md) | [日本語](./README.ja.md) 16 17 --- 18 19 ## 為什麼選擇 EasyShell? 20 21 傳統的伺服器管理工具需要您親自撰寫每個腳本、手動 SSH 進入每台機器,並自行解讀所有輸出結果。EasyShell 翻轉了這個模式:**AI 是操作員,您是決策者。** 22 23 - **用自然語言描述您的需求** → AI 撰寫生產環境等級的 Shell 腳本,並提供差異比對(diff)審核 24 - **設定多機協作目標** → AI 規劃執行步驟、自動執行並彙整產出結果 25 - **設定定時巡檢任務** → AI 分析輸出結果並自主決策是否透過機器人頻道告警通知團隊 26 - **透過 Web SSH 連線** → 完整終端機整合檔案管理員、多標籤頁與搜尋功能 —— 無需安裝在地端用戶端 27 28 --- 29 30 ## 核心功能 31 32 ### 1. AI 腳本助手 33 34 > 描述您的需求。AI 撰寫腳本。審核差異。一鍵套用。 35 36 AI 腳本工作台是一個雙面板編輯器,您可以用自然語言描述需求,AI 會針對您選擇的作業系統生成(或修改)Shell 腳本。即時串流顯示腳本撰寫過程,內建的差異檢視器會標示出變動之處,摘要分頁則會以您的語言解釋修改內容。 37 38 <p align="center"> 39 <img src="docs/images/AI%20Script%20helper.png" alt="AI 腳本助手 —— 即時程式碼生成與差異審核" width="90%" /> 40 </p> 41 42 **運作方式:** 43 1. **描述** —— 用自然語言描述需求,選擇目標作業系統 44 2. **生成** —— AI 即時串流生成生產環境等級的腳本 45 3. **審核** —— 內建差異檢視器標示所有變動;摘要分頁解釋修改內容 46 4. **套用** —— 一鍵儲存至腳本庫或立即下發執行 47 48 ### 2. AI 任務編排 49 50 > 「檢查所有主機的磁碟與記憶體,標記任何超過 80% 的項目,並建議修復方案。」—— 完成。 51 52 AI 對話介面讓您能下達高層級的運維目標。AI 會將目標分解為多步驟執行計畫(探索 → 分析 → 報告),將腳本分發至目標主機,收集結果,並在單次對話中提供包含風險評估與行動建議的結構化分析。 53 54 <p align="center"> 55 <img src="docs/images/AI%20task%20orchestration.png" alt="AI 任務編排 —— 多步驟執行計畫與分析" width="90%" /> 56 </p> 57 58 **運作方式:** 59 1. **指令** —— 在 AI 對話中描述高層級運維目標(如「檢查所有主機磁碟使用率」) 60 2. **規劃** —— AI 將目標拆解為多步驟執行計畫(探索 → 分析 → 報告) 61 3. **執行** —— 腳本並行分發至目標主機,結果自動收集 62 4. **報告** —— AI 生成包含風險評估與行動建議的結構化分析報告 63 64 ### 3. AI 定時巡檢 65 66 > **定時任務 → 腳本執行 → AI 智慧分析 → 智能告警** —— AI 分析輸出結果並自主決策是否告警。 67 68 透過 Cron 運算式排程巡檢任務,並從內建腳本庫中選擇腳本。EasyShell 按排程將腳本分發至 Agent,收集輸出結果(磁碟、記憶體、服務、日誌),發送至 AI 模型進行智慧分析,**由 AI 判斷是否需要告警** —— 只在真正需要關注時才推送通知。 69 70 <p align="center"> 71 <img src="docs/images/schedule_task.png" alt="AI 定時巡檢 —— 基於 Cron 的定時任務,AI 智慧分析輸出並自主決策告警" width="90%" /> 72 </p> 73 74 **運作方式:** 75 1. **設定** —— Cron 運算式 + 腳本(從腳本庫選擇或自訂)+ AI 分析提示詞 + 通知規則 76 2. **執行** —— EasyShell 按排程將任務分發至目標 Agent 77 3. **分析** —— 輸出結果發送至 AI 模型(OpenAI / Gemini / GitHub Copilot / 自訂)進行智慧分析 78 4. **通知** —— AI 評估嚴重程度,在需要時透過機器人頻道推送告警 79 80 **通知模式:** 始終推送、失敗時推送、警告時推送、或 **AI 自主決策** —— AI 模型評估輸出內容並自主判斷是否需要告警。 81 82 **支援的機器人頻道** ([設定指南](https://docs.easyshell.ai/configuration/bot-channels/)): 83 84 | 機器人 | 狀態 | 85 |-----|--------| 86 | [Telegram](https://docs.easyshell.ai/configuration/bot-channels/) | ✅ 已支援 | 87 | [Discord](https://docs.easyshell.ai/configuration/bot-channels/) | ✅ 已支援 | 88 | [Slack](https://docs.easyshell.ai/configuration/bot-channels/) | ✅ 已支援 | 89 | [釘釘 (DingTalk)](https://docs.easyshell.ai/configuration/bot-channels/) | ✅ 已支援 | 90 | [飛書 (Feishu)](https://docs.easyshell.ai/configuration/bot-channels/) | ✅ 已支援 | 91 | [企業微信 (WeCom)](https://docs.easyshell.ai/configuration/bot-channels/) | ✅ 已支援 | 92 93 ### 4. 全功能 Web SSH 94 95 > 真實終端。整合檔案管理。無需 SSH 用戶端。 96 97 生產等級的網頁終端機,支援多標籤頁工作階段、整合式檔案管理員(上傳、下載、建立、刪除、瀏覽)、終端機緩衝區全文搜尋,並透過 WebSocket 維持穩定連線。讓您能併排管理檔案與執行指令。 98 99 <p align="center"> 100 <img src="docs/images/Fully%20functional%20web%20SSH.png" alt="Web SSH —— 整合檔案管理與多標籤頁的終端機" width="90%" /> 101 </p> 102 103 ### 5. 主機管理與監控 104 105 > 統一檢視所有伺服器的即時狀態,支援批次操作和 Agent 生命週期管理。 106 107 單獨或批次管理主機 —— 透過表單或 CSV 匯入新增、依叢集組織、監控連線狀態,一鍵部署/升級 Agent。統一儀表板讓健康指標一目瞭然。 108 109 <p align="center"> 110 <img src="docs/images/host-management.png" alt="主機管理 —— 支援批次操作的統一伺服器儀表板" width="90%" /> 111 </p> 112 113 ### 6. 即時串流日誌 114 115 > 即時觀察腳本在所有目標主機上的執行過程。 116 117 當您下發腳本時,EasyShell 會從每個 Agent 即時串流輸出內容。彩色日誌、時間戳記和依主機篩選功能,讓您能立即發現問題 —— 無需再等待批次任務完成。 118 119 <p align="center"> 120 <img src="docs/images/realtime-logs.png" alt="即時日誌 —— 多主機即時串流輸出" width="90%" /> 121 </p> 122 123 ### 7. 安全與風控 124 125 > 內建安全機制:審批流程、稽核追蹤和操作限制。 126 127 設定哪些操作在執行前需要審批。所有操作都會被記錄以符合合規要求。基於角色的存取控制限制「誰可以做什麼」,敏感命令可以被標記或完全禁止。 128 129 <p align="center"> 130 <img src="docs/images/security-controls.png" alt="安全控制 —— 審批流程與稽核日誌" width="90%" /> 131 </p> 132 133 --- 134 135 ## 快速開始 136 137 ```bash 138 git clone https://github.com/easyshell-ai/easyshell.git 139 cd easyshell 140 cp .env.example .env # 按需編輯 .env 141 docker compose up -d 142 ``` 143 144 無需本地端建構 —— 系統會自動從 [Docker Hub](https://hub.docker.com/u/laolupaojiao) 拉取預建構的映像檔。 145 146 開啟 `http://localhost:18880` → 使用 `easyshell` / `easyshell@changeme` 登入。 147 148 > **想改用 GHCR?** 在 `.env` 中設定: 149 > ``` 150 > EASYSHELL_SERVER_IMAGE=ghcr.io/easyshell-ai/easyshell/easyshell-server:latest 151 > EASYSHELL_WEB_IMAGE=ghcr.io/easyshell-ai/easyshell/easyshell-web:latest 152 > ``` 153 154 > **開發者?從原始碼建構:** 155 > ```bash 156 > docker compose -f docker-compose.build.yml up -d 157 > ``` 158 159 --- 160 161 ## 完整功能集 162 163 | 類別 | 功能 | 164 |----------|----------| 165 | **AI 智慧** | AI 腳本助手(生成 / 修改 / 差異比對 / 摘要)、AI 任務編排(多步驟計畫、並行執行、分析)、AI 定時巡檢(Cron 定時、AI 輸出分析、智能告警決策、多頻道機器人推送)、AI 對話、巡檢報告、操作審批 | 166 | **運維操作** | 腳本庫、批次執行、即時串流日誌、整合檔案管理員的 Web SSH 終端機 | 167 | **基礎設施** | 主機管理、即時監控、叢集分組、Agent 自動部署 | 168 | **系統管理** | 使用者管理、系統設定、AI 模型設定(OpenAI / Gemini / Copilot / 自訂)、風險控制 | 169 | **平台特性** | 多語系(英 / 中)、深色/淺色主題、響應式設計、審計日誌 | 170 171 --- 172 173 ## 系統架構 174 175 ``` 176 ┌──────────────┐ HTTP/WS ┌──────────────────┐ 177 │ EasyShell │◄─────────────────────►│ EasyShell │ 178 │ Agent │ 註冊 / 心跳跳動 │ 伺服器 │ 179 │ (Go 1.24) │ 腳本執行 / 日誌 │ (Spring Boot 3.5)│ 180 └──────────────┘ └────────┬─────────┘ 181 │ 182 ┌────────┴─────────┐ 183 │ EasyShell Web │ 184 │ (React + Ant Design)│ 185 └──────────────────┘ 186 ``` 187 188 ## 技術棧 189 190 | 組件 | 技術 | 191 |-----------|-----------| 192 | 伺服器 | Java 17, Spring Boot 3.5, Gradle, JPA/Hibernate, Spring AI, Spring Security | 193 | Agent | Go 1.24, 單一二進位檔案, 零執行時依賴 | 194 | 網頁前端 | React 19, TypeScript, Vite 7, Ant Design 6 | 195 | 資料庫 | MySQL 8.0 | 196 | 快取 | Redis 7 | 197 198 ## 專案結構 199 200 ``` 201 easyshell/ 202 ├── easyshell-server/ # 中央管理伺服器 (Java / Spring Boot) 203 ├── easyshell-agent/ # Agent 用戶端 (Go, 單一二進位檔案) 204 ├── easyshell-web/ # Web 前端 (React + Ant Design) 205 ├── docker-compose.yml # 生產部署 (拉取預建構映像檔) 206 ├── docker-compose.build.yml # 開發環境 (從原始碼本地建構) 207 ├── Dockerfile.server # Server + Agent 多階段建構 208 ├── Dockerfile.web # Web 前端多階段建構 209 ├── .github/workflows/ # CI/CD: 建構與發佈 Docker 映像檔 210 └── .env.example # 環境變數設定範本 211 ``` 212 213 ## 說明文件 214 215 請瀏覽 **[docs.easyshell.ai](https://docs.easyshell.ai)** 取得: 216 217 - 安裝與部署指南 218 - 快速入門導覽 219 - 設定參考手冊 220 - 開發指南 221 222 ## 社群 223 224 [](https://discord.gg/akQqRgNB6t) 225 226 加入我們的 Discord 社群以獲取支援、參與討論與追蹤更新: 227 **[https://discord.gg/akQqRgNB6t](https://discord.gg/akQqRgNB6t)** 228 229 ## 授權條款 230 231 本專案採用 [MIT 授權條款](./LICENSE)。