Changelog
All notable changes to EasyShell are documented here. This project follows Semantic Versioning.
v1.0.5
Section titled “v1.0.5”- Feishu (Lark) bot channel — Supports both Webhook and Stream modes
- Slack bot channel — Receives messages via Events API, supports Bot Token for in-channel replies
- WeCom (WeChat Work) bot channel — Webhook push messaging to group chats
- DingTalk Stream mode — WebSocket-based message receiving, no public IP required
- Feishu Stream mode — WebSocket-based message receiving, no public IP required
- Standalone bot configuration page — Bot channel settings moved out of AI Settings into a dedicated management interface
- Dynamic scheduled task channels — Scheduled inspections and script tasks can push results to selected bot channels
v1.0.0
Section titled “v1.0.0”- AI-native operations platform — Full upgrade to an AI-driven intelligent operations platform
- README rewrite — Completely rewritten project documentation highlighting AI-native positioning
- Editor resize fixes
- Version bump to 1.0.0
v0.2.5
Section titled “v0.2.5”- AI Script Workbench — Full-page AI-assisted script authoring workbench
- Task CodeMirror editor — Task details now use CodeMirror instead of plain text
- Fix dispatchJob transaction race condition
v0.2.4
Section titled “v0.2.4”- GitHub Copilot 401 fix — Fix short-lived Copilot token expiring after ~30 minutes; ChatModelFactory bypasses cache for github-copilot provider; OrchestratorEngine adds 401-aware retry with token refresh
- 403 redirect to login — Frontend interceptors handle 403 (Spring Security default for expired JWT); both axios and fetch handlers redirect to /login on 401/403
- Text selection visibility — Fix ::selection white-on-white in AI chat
- Task timeout handling — Transaction race fix: dispatch WebSocket after DB commit; timeout watchdog: auto-fail jobs running >5 min; WebSocket disconnect: auto-fail running jobs for disconnected agents
- Copy button — Copy button checkmark feedback, added common.copied i18n
- Agent panic recovery — Go agent executeJob() with panic recovery and enhanced logging
v0.2.3
Section titled “v0.2.3”- Exponential backoff for task polling
- Copy button fallback for HTTP environments
- Text selection visibility fix in AI chat
- i18n for configuration descriptions
v0.2.2
Section titled “v0.2.2”- Web terminal file manager — Browse, upload, and download files in the web terminal
- File transfer progress — Progress bar for file upload/download operations
- Split timeout strategy — Improved task execution timeout handling
- Agent version bump to 0.2.2
v0.2.0
Section titled “v0.2.0”- AI module overhaul — Complete rewrite of the AI module with architecture improvements
- 10 utility tools — AI assistant gains 10 new infrastructure management tools
- DAG workflows — Support for directed acyclic graph workflow orchestration
Improved
Section titled “Improved”- Frontend UI fixes and optimizations
v0.1.3
Section titled “v0.1.3”- AI-driven notification decisions — AI decides whether to send notifications based on custom criteria
- Cron picker upgrade — Improved cron expression picker component
- Header external links — External links added to the page header
v0.1.2
Section titled “v0.1.2”- Host batch import — Bulk import hosts via CSV file
- Batch deploy — Auto-deploy agents after CSV import
- SSH key authentication — Host connections support SSH key auth
- Unified host list — Consolidated host management view
- Fix @Async self-invocation in batch deploy
- Fix credential status preservation during uninstall flow
- Fix host action button agentId check priority
- Fix template download 403 error
v0.1.1
Section titled “v0.1.1”- Scheduled task stuck fix — Fix scheduled tasks remaining in running status
- HTTP timeout improvements — HTTP request timeout and retry strategy enhancements
- Scheduled task bot push notifications
- Refresh models button for all AI provider tabs
- Async message handling optimization for Telegram and Discord bot polling
v0.1.0 (Initial Release)
Section titled “v0.1.0 (Initial Release)”Core Platform
Section titled “Core Platform”- Server — Java 17 + Spring Boot 3.5 central management server
- Agent — Go 1.24 lightweight agent with zero runtime dependencies
- Web UI — React 19 + TypeScript + Vite 7 frontend with Ant Design 6
CI/CD & Distribution
Section titled “CI/CD & Distribution”- Docker image publishing — GitHub Actions workflow builds and pushes multi-platform (amd64/arm64) images to Docker Hub and GHCR on tagged releases
- Pre-built images —
docker compose up -dpulls ready-to-use images with no local build required - Image registries — Available on Docker Hub (
laolupaojiao/) and GHCR (ghcr.io/easyshell-ai/easyshell/)
Infrastructure Management
Section titled “Infrastructure Management”- Host registration (manual and auto-discovery via agent)
- Host detail view with system info and resource metrics
- Cluster grouping for organizing related hosts
- Tag-based host organization
Script Execution
Section titled “Script Execution”- Script library with CRUD management
- Batch script execution across multiple hosts
- Real-time log streaming via WebSocket
- Execution history with status tracking
- Configurable execution timeout
- Support for Bash, Python, and PowerShell scripts
Web Terminal
Section titled “Web Terminal”- Browser-based SSH terminal via WebSocket
- Multi-tab terminal sessions
- Terminal resize support
- Copy/paste support
AI Intelligence
Section titled “AI Intelligence”- AI chat assistant powered by Spring AI
- Support for OpenAI, Azure OpenAI, and OpenAI-compatible providers
- Scheduled host inspections with automated reports
- Operation approval workflow for destructive commands
- SOP (Standard Operating Procedure) management
- Vector store for AI memory and context retrieval
Administration
Section titled “Administration”- Role-based access control (Admin, Operator, Viewer)
- User management
- System configuration UI
- AI model settings
- Audit logging
Platform Features
Section titled “Platform Features”- Internationalization (English and Chinese)
- Dark and light theme
- Responsive design
- Agent heartbeat monitoring (30-second intervals)
- Resource metrics collection (60-second intervals)
Communication Protocol
Section titled “Communication Protocol”- HTTP REST API for routine operations
- WebSocket for real-time log streaming and terminal
- Agent registration with token-based authentication
- Automatic reconnection with exponential backoff