Skip to content

Changelog

All notable changes to EasyShell are documented here. This project follows Semantic Versioning.

  • 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

  • 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

  • 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

  • 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

  • Exponential backoff for task polling
  • Copy button fallback for HTTP environments
  • Text selection visibility fix in AI chat
  • i18n for configuration descriptions

  • 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

  • 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
  • Frontend UI fixes and optimizations

  • 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

  • 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

  • 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

  • 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
  • Docker image publishing — GitHub Actions workflow builds and pushes multi-platform (amd64/arm64) images to Docker Hub and GHCR on tagged releases
  • Pre-built imagesdocker compose up -d pulls ready-to-use images with no local build required
  • Image registries — Available on Docker Hub (laolupaojiao/) and GHCR (ghcr.io/easyshell-ai/easyshell/)
  • 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 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
  • Browser-based SSH terminal via WebSocket
  • Multi-tab terminal sessions
  • Terminal resize support
  • Copy/paste support
  • 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
  • Role-based access control (Admin, Operator, Viewer)
  • User management
  • System configuration UI
  • AI model settings
  • Audit logging
  • Internationalization (English and Chinese)
  • Dark and light theme
  • Responsive design
  • Agent heartbeat monitoring (30-second intervals)
  • Resource metrics collection (60-second intervals)
  • 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