English | 中文
MDD & Annotation-driven development, zero front-end code, zero CRUD, multi-dimensional data management
GitHub | GitCode | Gitee | Official Website | Ecosystem | Online Demo | Documentation
@Erupt annotation enables out-of-the-box functionality in all scenarios
- Visualization: Tables / Trees / Gantt Charts / Cards + 20+ form components
- Data: Full database compatibility, API data sources, automatic table/index creation, LambdaQuery multi-table queries, dynamic CRUD
- API: One-click OpenAPI exposure, row/column permission control
- Permissions: UPMS / Class / Row/Column / Role multi-dimensional management
- Extensions: i18n, Cloud clustering, audit & event logs, BI, SaaS, AI large models
- Form Reusability: Flow processes, custom nodes, custom buttons
erupt-aimodule — enterprise-grade LLM integration with zero boilerplate
| Provider | Models |
|---|---|
| OpenAI / ChatGPT | GPT-4o and variants |
| Claude (Anthropic) | claude-3-7-sonnet and variants |
| Gemini (Google) | gemini-2.0-flash and variants |
| DeepSeek | deepseek-chat (thinking model support) |
| Qwen / GLM / Doubao | Alibaba · Zhipu · ByteDance |
| Moonshot / MiniMax | Kimi-K2.5 · MiniMax-M2.5 |
| Mistral / Grok | Mistral Large · Grok-2 |
| Fireworks / Together / OpenRouter | Open-source model hosting |
| Ollama | Local self-hosted models |
- Multi-Provider Switching — configure multiple LLMs via UI, switch without code changes
- Streaming Chat (SSE) — real-time token-by-token responses with configurable timeouts
- Thinking Models — native support for reasoning models (DeepSeek, Kimi-K2)
- MCP Protocol — connect any MCP-compatible tool server (SSE & STDIO transports), with auto-reconnect health checks
- AI Toolbox — expose any Spring Bean as an AI tool via
@AiToolbox+@Toolannotations - Agent Framework — define agents with custom system prompts, hint lists, and dynamic prompt handlers
- Chat History — per-user conversation sessions with token tracking and soft-delete
LLM providers, MCP servers, and agents are all managed through the built-in admin UI — no restarts required.
Drive your server through natural language — just like talking to a colleague
Erupt AI Claw lets you control annotation-driven data & business logic, execute shell commands, read/write files, and extend custom Skills — all through conversational AI.
- Erupt Model Operations — query, create, update data across any
@Eruptentity via chat - Shell Execution — run system commands directly through natural language
- File I/O — read and write files on the server
- Browser Control — interact with the browser via MCP configuration
- Skills (700k+) — compatible with 700k+ skills from skills.sh; AI auto-matches and executes the right skill based on your prompt; supports dynamic skill creation
- Long-term Memory — cross-session memory persistence; AI automatically stores key decisions and context, reloaded on next session
⚠️ Warning: Claw has broad system permissions. Do NOT enable in production environments.
Skills are stored in ~/.erupt/skills/ and can also be created dynamically through chat.
@Erupt(
name = "Simple",
power = @Power(importable = true, export = true),
@RowOperation(
title = "Custom Action",
mode = RowOperation.Mode.SINGLE,
operationHandler = OperationHandlerImpl.class
)
)
@Table(name = "t_simple") //DB Table name
@Entity
public class Simple extends BaseModel {
@EruptField(
views = @View(title = "Text"),
edit = @Edit(title = "Text", notNull = true, search = @Search)
)
private String input;
@EruptField(
views = @View(title = "Date"),
edit = @Edit(title = "Date", search = @Search(vague = true))
)
private Date date;
@EruptField(
views = @View(title = "Slider"),
edit = @Edit(title = "Slider", type = EditType.SLIDER, search = @Search,
sliderType = @SliderType(max = 90, markPoints = {0, 30, 60, 90}, dots = true))
)
private Integer slide;
@EruptField(
views = @View(title = "Choice Select"),
edit = @Edit(
search = @Search,
title = "Choice Select", type = EditType.CHOICE,
choiceType = @ChoiceType(fetchHandler = SqlChoiceFetchHandler.class,
fetchHandlerParams = "select id,name from e_upms_menu"
)
)
)
private Long choice;
}public void select() {
List<EruptUser> list = eruptDao.lambdaQuery(EruptUser.class)
.like(EruptUser::getName, "e")
.isNull(EruptUser::getWhiteIp)
.in(EruptUser::getId, 1, 2, 3, 4)
.ge(EruptUser::getCreateTime, "2023-01-01")
.list();
}![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
No need to compile source code. Simply add the following dependencies to your Spring Boot project:
<!--Core dependency-->
<dependency>
<groupId>xyz.erupt</groupId>
<artifactId>erupt-admin</artifactId>
<version>${LATEST-VERSION}</version>
</dependency>
<!--Backend WEB interface-->
<dependency>
<groupId>xyz.erupt</groupId>
<artifactId>erupt-web</artifactId>
<version>${LATEST-VERSION}</version>
</dependency>Latest Version
Demo URL: https://www.erupt.xyz/demo
Username/Password: guest / guest
Supports mainstream modern browsers and can run directly on Electron and other web-standard-based environments
Linq.J: Object query language based on JVM
magic-api: Rapid interface development framework
Erupt is a free and open-source project. We welcome anyone to contribute to Erupt to help improve it. This includes but is not limited to: submitting code, reporting bugs, sharing ideas, or sharing your use cases based on Erupt. We also welcome users to share Erupt on personal blogs or social media.
If you want to contribute code, please read our Contribution Guidelines first.
Please submit Issues and Pull Requests at https://github.com/erupts/erupt.
⭐️ Erupt is under the Apache 2.0 license. See the LICENSE file for details.
Author: YuePeng / erupts@126.com









