Agent.Workbench is an open-source application platform for building, deploying, and operating multi-agent systems — from desktop applications to distributed, cloud-ready deployments. It combines the power of the JADE agent framework with a Java Swing-based desktop environment and a modern REST API, making agent technology accessible to developers and end users alike.
Originally known as Agent.GUI, the project has been developed by EnFlex.IT and moved to GitHub in 2017. The current release is v3.0.0, built on Java 21 and Eclipse 4.x.
Multi-agent systems (MAS) are a powerful paradigm for solving complex, distributed problems — used in energy management, industrial automation, simulation, and beyond. However, building and operating MAS has traditionally required deep framework knowledge and significant engineering effort.
Agent.Workbench bridges that gap. It provides:
- A graphical desktop environment (Java Swing) for configuring, running, and monitoring agent-based applications — no command-line expertise required. Eclipse RCP and SWT are used for the RCP-specific installation variant and for property dialogs provided by the RCP framework.
- A REST API (OpenAPI-based, served via embedded Jetty) for integrating AWB into larger system landscapes or controlling it programmatically.
- A web-based UI (in active development) for browser-based access and remote operations.
- An extensible plugin architecture (OSGi) that allows developers to build custom agent applications on top of AWB without modifying the core.
AWB is not just a development tool — it is a runtime platform for production deployments, including embedded and headless operation on edge hardware.
- OSGi Plugin System — Modular architecture allows teams to build independent application bundles that plug into AWB seamlessly.
- Simulation & Time Management — Built-in support for discrete and continuous simulations with time control.
- Load Balancing & Distribution — Distribute agent workloads across multiple machines in a network.
- JADE Integration — Full support for the JADE multi-agent platform (IEEE/FIPA-compliant), including agent lifecycle management, ontologies, and inter-agent communication.
- Desktop UI (Java Swing) — A rich desktop application for end users to manage agent projects, configure environments, and monitor running systems. SWT is used only within the Eclipse RCP installation variant and for RCP-provided property dialogs.
- Web Server Base UI (System Tray) — The Web Server runtime includes a lightweight base UI accessible via the system tray icon, allowing local configuration of the web server and related settings without a full desktop environment.
- Embedded REST API & Embedded System Mode — OpenAPI-documented REST endpoints served via Jetty, fully extensible for custom application APIs. AWB can also be deployed headlessly on edge devices or servers, with agents starting automatically on boot.
- Web UI — A React Native-based web interface for remote access and monitoring (active development, see web.template).
- Database Support — Hibernate-based database connectivity with support for MySQL, MariaDB, and PostgreSQL.
- Protocol Connectors — Integration of communication protocols (e.g. MQTT) via AWB-Connectors.
AWB is structured as a layered OSGi application, built and packaged with Eclipse Tycho.
┌─────────────────────────────────────────────────────────┐
│ Application Layer │
│ (Custom agent applications as OSGi bundles, │
│ JADE-based agents, ontologies) │
├─────────────────────────────────────────────────────────┤
│ AWB Product Layer │
│ ┌──────────────┐ ┌───────────────────────────────┐ │
│ │ Desktop UI │ │ REST API & Web UI │ │
│ │ (Swing / │ │ (Jetty / OpenAPI / │ │
│ │ SWT/RCP) │ │ React Native) │ │
│ └──────────────┘ └───────────────────────────────┘ │
├─────────────────────────────────────────────────────────┤
│ AWB Core Layer │
│ Agent Lifecycle │ Simulation │ Load Balancing │ Config │
├─────────────────────────────────────────────────────────┤
│ JADE Agent Platform │
│ (IEEE/FIPA-compliant, Java-based MAS) │
├─────────────────────────────────────────────────────────┤
│ OSGi Runtime (Eclipse Equinox) │
└─────────────────────────────────────────────────────────┘
Two products are built from this repository:
- AWB Desktop — The full Swing-based desktop application for development and operations.
- AWB Web Server — A server runtime with embedded Jetty and REST API. Includes a lightweight base UI accessible via the system tray for local configuration.
Both products share the same core bundles and are assembled via Tycho feature definitions.
- Java 21 (JDK required)
- Eclipse IDE with Plug-in Development Environment (PDE) for development
- Maven 3.9+ (for command-line builds)
Pre-built releases are available on the Releases page. AWB is provided as two products — the full Desktop Application and a headless Web Server Application — for all major platforms.
AWB Desktop Application (Swing UI + embedded Jetty):
| Platform | Download |
|---|---|
| Windows (x86_64) | de.enflexit.awb-win32.win32.x86_64.zip |
| Linux (x86_64) | de.enflexit.awb-linux.gtk.x86_64.tar.gz |
| macOS (x86_64) | de.enflexit.awb-macosx.cocoa.x86_64.tar.gz |
AWB Web Server Application (headless REST API + system tray base UI):
| Platform | Download |
|---|---|
| Windows (x86_64) | de.enflexit.awb.ws-win32.win32.x86_64.zip |
| Linux (x86_64) | de.enflexit.awb.ws-linux.gtk.x86_64.tar.gz |
| macOS (x86_64) | de.enflexit.awb.ws-macosx.cocoa.x86_64.tar.gz |
- Download the archive for your platform and product variant.
- Extract and launch the
AgentWorkbenchexecutable (Desktop) or the start script (Web Server). - The application starts with an embedded Jetty server (default port:
8080, configurable).
The REST API is available at:
http://localhost:8080/api/v1/
API documentation (Swagger UI) is served at:
http://localhost:8080/api/swagger-ui
git clone https://github.com/EnFlexIT/AgentWorkbench.git
cd AgentWorkbench/eclipseProjects/de.enflexit.awb
mvn clean installThe build produces both products in the respective target/products directories.
Additional Maven profiles are available for publishing build artifacts:
| Profile | Description |
|---|---|
p2DeployClean |
Cleans the remote p2 update site before publishing |
p2Deploy |
Publishes the p2 update site to the central repository |
uploadProducts |
Uploads the built product archives to the distribution server |
Example — full build including p2 deployment and product upload:
mvn clean install -P [p2DeployClean|p2Deploy],uploadProductsNote: These profiles require server credentials configured in your local
settings.xml. They are intended for CI/CD use only and are executed automatically via the Jenkins pipeline.
AWB and its dependencies can be installed directly into an Eclipse IDE via the central p2 repository:
https://p2.enflex.it/awb/latest/
In Eclipse: Help → Install New Software → Add… and enter the URL above.
| Repository | Description |
|---|---|
| JADE | EnFlex.IT fork of the JADE agent platform |
| RestAPIs | OpenAPI specifications for AWB REST endpoints |
| web.template | React Native-based web UI template for AWB applications |
| AWB-Connectors | Protocol connectors (MQTT and others) for AWB |
| AWB-ProjectAssist | Eclipse wizards for creating AWB-compatible plugins and projects (AWBTools) |
| EnergyAgents | Reference implementation: Energy Agent applications on AWB |
-
📖 GitBook — https://enflexit.gitbook.io/agent-workbench
-
🔧 Wiki — GitHub Wiki
We welcome contributions from the community. Please open an issue to discuss proposed changes before submitting a pull request.
- Bug reports and feature requests: GitHub Issues
- Discussions: GitHub Discussions
Agent.Workbench is released under the GNU Lesser General Public License v2.1.
© EnFlex.IT, Essen, Germany.