Skip to content

Installation

  • Java 21 or later
  • Gradle or Maven build tool
  • A LangChain4j-supported LLM provider (OpenAI, Anthropic, Ollama, etc.)

agentensemble-bom is a Bill of Materials that aligns every AgentEnsemble module to the same version. Import it once and add only the modules you need — no individual version numbers required.

Gradle (Kotlin DSL):

repositories {
mavenCentral()
}
dependencies {
// Import the BOM -- aligns all AgentEnsemble module versions
implementation(platform("net.agentensemble:agentensemble-bom:2.1.0"))
// Core framework -- always required
implementation("net.agentensemble:agentensemble-core")
// Optional: task-scoped cross-execution memory (MemoryStore SPI)
implementation("net.agentensemble:agentensemble-memory")
// Optional: human-in-the-loop review gates (ReviewHandler SPI, ConsoleReviewHandler)
implementation("net.agentensemble:agentensemble-review")
// Optional: built-in tools -- add only the ones you need
implementation("net.agentensemble:agentensemble-tools-web-search")
implementation("net.agentensemble:agentensemble-tools-web-scraper")
implementation("net.agentensemble:agentensemble-tools-calculator")
implementation("net.agentensemble:agentensemble-tools-datetime")
// Other tools: agentensemble-tools-json-parser, agentensemble-tools-file-read,
// agentensemble-tools-file-write, agentensemble-tools-process, agentensemble-tools-http
// Optional: live execution dashboard -- embedded WebSocket server that streams
// real-time task/tool events to a browser and supports browser-based review gates.
// agentensemble-review is included transitively; declare it above only if you
// reference review types directly in your own code.
implementation("net.agentensemble:agentensemble-web")
// Optional: Micrometer metrics integration
implementation("net.agentensemble:agentensemble-metrics-micrometer")
// Add the LangChain4j integration for your LLM provider:
implementation("dev.langchain4j:langchain4j-open-ai:1.11.0")
}

Gradle (Groovy DSL):

repositories {
mavenCentral()
}
dependencies {
implementation platform('net.agentensemble:agentensemble-bom:2.1.0')
implementation 'net.agentensemble:agentensemble-core'
implementation 'net.agentensemble:agentensemble-memory'
implementation 'net.agentensemble:agentensemble-review'
implementation 'dev.langchain4j:langchain4j-open-ai:1.11.0'
}

Maven:

<dependencyManagement>
<dependencies>
<dependency>
<groupId>net.agentensemble</groupId>
<artifactId>agentensemble-bom</artifactId>
<version>2.1.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>net.agentensemble</groupId>
<artifactId>agentensemble-core</artifactId>
<!-- version from BOM -->
</dependency>
<dependency>
<groupId>net.agentensemble</groupId>
<artifactId>agentensemble-memory</artifactId>
<!-- version from BOM -->
</dependency>
<dependency>
<groupId>net.agentensemble</groupId>
<artifactId>agentensemble-review</artifactId>
<!-- version from BOM -->
</dependency>
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai</artifactId>
<version>1.11.0</version>
</dependency>
</dependencies>

If you need only the framework core (no memory, no review, no built-in tools):

dependencies {
implementation("net.agentensemble:agentensemble-core:2.0.0")
implementation("dev.langchain4j:langchain4j-open-ai:1.11.0")
}

If you want to align just the built-in tool versions without importing the full BOM:

dependencies {
implementation(platform("net.agentensemble:agentensemble-tools-bom:2.0.0"))
implementation("net.agentensemble:agentensemble-core:2.0.0")
// No version needed for tools -- resolved from tools BOM
implementation("net.agentensemble:agentensemble-tools-calculator")
implementation("net.agentensemble:agentensemble-tools-web-search")
}

ModuleDescription
agentensemble-coreFramework core — required
agentensemble-tools-calculatorArithmetic expression evaluator
agentensemble-tools-datetimeDate/time operations
agentensemble-tools-json-parserJSON path extraction
agentensemble-tools-file-readSandboxed file reading
agentensemble-tools-file-writeSandboxed file writing
agentensemble-tools-web-searchWeb search (Tavily/SerpAPI)
agentensemble-tools-web-scraperWeb page text extraction
agentensemble-tools-processSubprocess execution (cross-language)
agentensemble-tools-httpHTTP endpoint wrapping
agentensemble-tools-bomVersion alignment BOM
agentensemble-memoryMemory subsystem: task-scoped cross-execution memory with MemoryStore SPI; also includes legacy short-term, long-term, and entity memory
agentensemble-reviewHuman-in-the-loop review gates: ReviewHandler SPI, ConsoleReviewHandler, and HumanInputTool
agentensemble-webLive execution dashboard: embedded WebSocket server that streams real-time task/tool/delegation events to a browser and supports browser-based review gates
agentensemble-metrics-micrometerMicrometer metrics integration
agentensemble-bomTop-level BOM — aligns all module versions in one import

AgentEnsemble uses the LangChain4j ChatModel interface and works with any provider that implements it:

ProviderLangChain4j Artifact
OpenAI (GPT-4o, GPT-4o-mini, etc.)langchain4j-open-ai
Anthropic (Claude 3.5, Claude 3 Haiku, etc.)langchain4j-anthropic
Ollama (local models)langchain4j-ollama
Azure OpenAIlangchain4j-azure-open-ai
Amazon Bedrocklangchain4j-bedrock
Google Vertex AIlangchain4j-vertex-ai-gemini
Mistral AIlangchain4j-mistral-ai

For a full list, see the LangChain4j documentation.


AgentEnsemble uses SLF4J for logging. Add your preferred implementation:

// Logback (recommended)
implementation("ch.qos.logback:logback-classic:1.5.32")

See the Logging guide for configuration details.


Execution Graph Visualizer: agentensemble-viz

Section titled “Execution Graph Visualizer: agentensemble-viz”

agentensemble-viz is a standalone developer tool for visualizing task dependency graphs and execution timelines. It reads JSON files exported by agentensemble-devtools and renders them in a local web UI.

Homebrew (macOS and Linux):

Terminal window
brew install agentensemble/tap/agentensemble-viz
agentensemble-viz ./traces/

This installs a self-contained native binary (no Node.js required). The formula is updated automatically on every AgentEnsemble release.

npx (no installation required):

Terminal window
npx @agentensemble/viz ./traces/

Global npm install:

Terminal window
npm install -g @agentensemble/viz
agentensemble-viz ./traces/

See the Visualization Guide for the complete workflow including how to export DAGs and execution traces from your Java application.