更新日志
EasyShell 的所有重要变更都记录在这里。本项目遵循语义化版本控制。
v1.0.5
Section titled “v1.0.5”- 飞书机器人通道 — 支持 Webhook 和 Stream 两种模式接入飞书
- Slack 机器人通道 — 通过 Events API 接收消息,支持 Bot Token 频道内回复
- 企业微信机器人通道 — 支持 Webhook 主动推送消息到群聊
- 钉钉 Stream 模式 — 通过 WebSocket 长连接接收消息,无需公网 IP
- 飞书 Stream 模式 — 通过 WebSocket 长连接接收消息,无需公网 IP
- 独立机器人配置页 — 机器人通道配置从 AI 设置中独立出来,提供专门的管理界面
- 定时任务动态通道 — 定时巡检和脚本任务可选择推送到指定的机器人通道
v1.0.0
Section titled “v1.0.0”- AI 原生运维平台 — 全面升级为 AI 驱动的智能运维平台
- README 重写 — 全新项目说明文档,突出 AI 原生定位
- 编辑器窗口大小调整修复
- 版本号升级至 1.0.0
v0.2.5
Section titled “v0.2.5”- AI 脚本工作台 — 全屏模式的 AI 辅助脚本编写工作台
- 任务 CodeMirror 编辑器 — 任务详情中使用 CodeMirror 替代纯文本
- 修复 dispatchJob 事务竞态条件
v0.2.4
Section titled “v0.2.4”- GitHub Copilot 401 修复 — 修复 Copilot 短期 Token 约 30 分钟后过期的问题,ChatModelFactory 绕过 github-copilot 提供商缓存,OrchestratorEngine 增加 401 感知重试和 Token 刷新
- 403 跳转登录 — 前端拦截器处理 403(Spring Security JWT 过期默认响应),axios 和 fetch 均跳转到 /login
- 文本选中可见性 — 修复 AI 聊天中 ::selection 白底白字的问题
- 任务超时处理 — 事务竞态修复:DB 提交后再派发 WebSocket;超时看门狗:>5 分钟自动失败;WebSocket 断连:自动标记运行中任务为失败
- 复制按钮 — 复制按钮对勾反馈,新增 common.copied 国际化
- Agent panic 恢复 — Go Agent 的 executeJob() 增加 panic 恢复和增强日志
v0.2.3
Section titled “v0.2.3”- 任务轮询指数退避策略
- HTTP 环境下的复制按钮降级处理
- AI 聊天中文本选中样式修复
- 配置项描述国际化
v0.2.2
Section titled “v0.2.2”- Web 终端文件管理器 — 在 Web 终端中浏览、上传、下载文件
- 文件传输进度 — 文件上传/下载支持进度条显示
- 分段超时策略 — 任务执行超时策略优化
- Agent 版本升级至 0.2.2
v0.2.0
Section titled “v0.2.0”- AI 模块重构 — AI 模块全面重写,架构优化
- 10 个实用工具 — AI 助手新增 10 个基础设施管理工具
- DAG 工作流 — 支持有向无环图工作流编排
- 前端 UI 修复与优化
v0.1.3
Section titled “v0.1.3”- AI 自主通知判断 — AI 根据自定义条件决定是否发送通知
- Cron 选择器升级 — 更友好的 Cron 表达式选择组件
- Header 外部链接 — 页头新增外部链接入口
v0.1.2
Section titled “v0.1.2”- 主机批量导入 — 通过 CSV 文件批量导入主机信息
- 批量部署 — CSV 导入后自动部署 Agent 到主机
- SSH 密钥认证 — 主机连接支持 SSH 密钥认证方式
- 统一主机列表 — 合并主机管理视图
- 修复 @Async 自调用问题
- 修复卸载流程中的凭证状态保留
- 修复主机操作按钮的 agentId 检查优先级
- 修复模板下载 403 错误
v0.1.1
Section titled “v0.1.1”- 定时任务卡住修复 — 修复定时任务一直处于运行中状态的问题
- HTTP 超时优化 — HTTP 请求超时和重试策略改进
- 定时任务机器人推送通知
- 刷新模型按钮(所有 AI 提供商标签页)
- 异步消息处理优化(Telegram 和 Discord 机器人轮询)
v0.1.0(首次发布)
Section titled “v0.1.0(首次发布)”- 服务端 — Java 17 + Spring Boot 3.5 中心管理服务器
- Agent — Go 1.24 轻量级 Agent,零运行时依赖
- Web UI — React 19 + TypeScript + Vite 7 前端,使用 Ant Design 6
CI/CD 与分发
Section titled “CI/CD 与分发”- Docker 镜像发布 — GitHub Actions 工作流在打标签发布时自动构建并推送多平台(amd64/arm64)镜像到 Docker Hub 和 GHCR
- 预构建镜像 —
docker compose up -d直接拉取即用镜像,无需本地构建 - 镜像仓库 — 可从 Docker Hub(
laolupaojiao/)或 GHCR(ghcr.io/easyshell-ai/easyshell/)拉取
基础设施管理
Section titled “基础设施管理”- 主机注册(手动注册和通过 Agent 自动发现)
- 主机详情视图,包含系统信息和资源指标
- 集群分组,用于组织相关主机
- 基于标签的主机组织
- 脚本库,支持增删改查管理
- 跨多台主机的批量脚本执行
- 通过 WebSocket 的实时日志流
- 执行历史与状态追踪
- 可配置的执行超时
- 支持 Bash、Python 和 PowerShell 脚本
Web 终端
Section titled “Web 终端”- 基于浏览器的 SSH 终端,通过 WebSocket 连接
- 多标签页终端会话
- 终端窗口大小调整支持
- 复制/粘贴支持
- 基于 Spring AI 的 AI 对话助手
- 支持 OpenAI、Azure OpenAI 及 OpenAI 兼容的提供商
- 定时主机巡检与自动化报告
- 危险命令的操作审批流程
- SOP(标准操作流程)管理
- 向量存储,用于 AI 记忆和上下文检索
- 基于角色的访问控制(管理员、操作员、查看者)
- 用户管理
- 系统配置界面
- AI 模型设置
- 审计日志
- 国际化(英文和中文)
- 深色和浅色主题
- 响应式设计
- Agent 心跳监控(30 秒间隔)
- 资源指标采集(60 秒间隔)
- HTTP REST API 用于常规操作
- WebSocket 用于实时日志流和终端
- 基于 Token 认证的 Agent 注册
- 指数退避的自动重连