/ README.zh-CN.md
README.zh-CN.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-TW.md) | [한국어](./README.ko.md) | [Русский](./README.ru.md) | [日本語](./README.ja.md) 16 17 --- 18 19 ## 为什么选择 EasyShell? 20 21 传统的服务器管理工具需要你亲手编写每个脚本、登录每台机器并自行解读输出结果。EasyShell 颠覆了这一模式:**AI 是执行者,你是决策者。** 22 23 - **用自然语言描述需求** → AI 编写生产级 Shell 脚本,并支持差异比对预览 24 - **设定跨多机目标** → AI 规划执行步骤、运行任务并汇总分析结果 25 - **配置定时巡检任务** → AI 分析输出结果并自主决策是否通过机器人频道告警通知团队 26 - **通过 Web SSH 连接** → 全功能终端,集成文件管理器、多标签页及搜索 —— 无需本地客户端 27 28 --- 29 30 ## 核心功能 31 32 ### 1. AI 脚本助手 33 34 > 描述你的需求。AI 编写脚本。查看差异比对。一键应用执行。 35 36 AI 脚本工作台是一个双栏编辑器,你只需用自然语言描述需求,AI 即可针对目标操作系统生成(或修改)Shell 脚本。支持实时流式输出,内置差异比对视图(Diff View)精准定位改动,并提供中文摘要解释修改内容。 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 生产级的 Web 终端,支持多标签会话、集成式文件管理器(上传、下载、创建、删除、导航)、终端回滚缓冲区全文本搜索,并通过 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 │ register / heartbeat │ Server │ 179 │ (Go 1.24) │ script exec / logs │ (Spring Boot 3.5)│ 180 └──────────────┘ └────────┬─────────┘ 181 │ 182 ┌────────┴─────────┐ 183 │ EasyShell Web │ 184 │ (React + Ant Design)│ 185 └──────────────────┘ 186 ``` 187 188 ## 技术栈 189 190 | 组件 | 技术 | 191 |-----------|-----------| 192 | Server | Java 17, Spring Boot 3.5, Gradle, JPA/Hibernate, Spring AI, Spring Security | 193 | Agent | Go 1.24, 单一二进制文件, 零运行时依赖 | 194 | Web | React 19, TypeScript, Vite 7, Ant Design 6 | 195 | Database | MySQL 8.0 | 196 | Cache | 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) 开源。