Skip to content

erupts/erupt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5,330 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

English   |   中文

logo

Low-Code + AI & 🦞

MDD & Annotation-driven development, zero front-end code, zero CRUD, multi-dimensional data management


maven-central license Apache 2.0 GitHub stars GitHub forks gitcode Gitee star Gitee fork

GitHub   |   GitCode   |   Gitee   |   Official Website   |   Ecosystem   |   Online Demo   |   Documentation

erupt


🚀 Low-code Development

@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

🤖 AI Integration

erupt-ai module — enterprise-grade LLM integration with zero boilerplate

Supported LLM Providers (15+)

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

Key Capabilities

  • 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 + @Tool annotations
  • 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.

🦞 Erupt AI Claw

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.

Claw Capabilities

  • Erupt Model Operations — query, create, update data across any @Erupt entity 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.


Low-code Quick Start

Annotation Example

@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;

}

JPA LambdaQuery

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();
}

Feature Demo

⛰ Demo Screenshots

🔗 Download and Use

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

maven-central

Detailed Usage Steps

🌕 Online Demo

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

🔭 Open Source Recommendations

Linq.J: Object query language based on JVM

magic-api: Rapid interface development framework

Jpom: Lightweight low-invasive online build, automatic deployment, daily operations and maintenance, project monitoring software

🤝 Contributing

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.

Thanks to the following contributors for their contributions to Erupt:

Contributors

Star History

Star History Chart

License

⭐️ Erupt is under the Apache 2.0 license. See the LICENSE file for details.


Author: YuePeng   /   erupts@126.com


About

MDD & Annotation-driven Low-code Data platform(ORM as View)& AI Platform & AI 🦞

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Contributors

Languages