Installation¶
Requirements¶
- Java 21 or later
- Gradle or Maven build tool
- A LangChain4j-supported LLM provider (OpenAI, Anthropic, Ollama, etc.)
Add the Dependency¶
Recommended: Use the agentensemble-bom¶
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:{{ae_version}}"))
// 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: coding agent factory (auto-detects project, assembles coding tools)
implementation("net.agentensemble:agentensemble-coding")
// Optional: Java coding tools (GlobTool, CodeEditTool, ShellTool, etc.)
implementation("net.agentensemble:agentensemble-tools-coding")
// Optional: MCP bridge (filesystem + git via MCP servers; requires Node.js)
implementation("net.agentensemble:agentensemble-mcp")
// 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:{{ae_version}}')
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>{{ae_version}}</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>
Minimal: Core Only¶
If you need only the framework core (no memory, no review, no built-in tools):
dependencies {
implementation("net.agentensemble:agentensemble-core:{{ae_version}}")
implementation("dev.langchain4j:langchain4j-open-ai:1.11.0")
}
Tools-Only BOM¶
If you want to align just the built-in tool versions without importing the full BOM:
dependencies {
implementation(platform("net.agentensemble:agentensemble-tools-bom:{{ae_version}}"))
implementation("net.agentensemble:agentensemble-core:{{ae_version}}")
// No version needed for tools -- resolved from tools BOM
implementation("net.agentensemble:agentensemble-tools-calculator")
implementation("net.agentensemble:agentensemble-tools-web-search")
}
Available Modules¶
| Module | Description |
|---|---|
agentensemble-core |
Framework core -- required |
agentensemble-tools-calculator |
Arithmetic expression evaluator |
agentensemble-tools-datetime |
Date/time operations |
agentensemble-tools-json-parser |
JSON path extraction |
agentensemble-tools-file-read |
Sandboxed file reading |
agentensemble-tools-file-write |
Sandboxed file writing |
agentensemble-tools-web-search |
Web search (Tavily/SerpAPI) |
agentensemble-tools-web-scraper |
Web page text extraction |
agentensemble-tools-process |
Subprocess execution (cross-language) |
agentensemble-tools-http |
HTTP endpoint wrapping |
agentensemble-tools-coding |
Coding tools: glob, code search, code edit, shell, git, build runner, test runner |
agentensemble-tools-bom |
Version alignment BOM |
agentensemble-coding |
Coding agent factory: auto-detects project type, assembles tools, generates coding prompts |
agentensemble-mcp |
MCP protocol bridge: adapts MCP server tools to the AgentTool interface |
agentensemble-workspace |
Workspace isolation: git worktree management for coding agents |
agentensemble-memory |
Memory subsystem: task-scoped cross-execution memory with MemoryStore SPI; also includes legacy short-term, long-term, and entity memory |
agentensemble-review |
Human-in-the-loop review gates: ReviewHandler SPI, ConsoleReviewHandler, and HumanInputTool |
agentensemble-web |
Live execution dashboard: embedded WebSocket server that streams real-time task/tool/delegation events to a browser and supports browser-based review gates |
agentensemble-metrics-micrometer |
Micrometer metrics integration |
agentensemble-bom |
Top-level BOM -- aligns all module versions in one import |
Supported LLM Providers¶
AgentEnsemble uses the LangChain4j ChatModel interface and works with any provider that implements it:
| Provider | LangChain4j 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 OpenAI | langchain4j-azure-open-ai |
| Amazon Bedrock | langchain4j-bedrock |
| Google Vertex AI | langchain4j-vertex-ai-gemini |
| Mistral AI | langchain4j-mistral-ai |
For a full list, see the LangChain4j documentation.
Logging¶
AgentEnsemble uses SLF4J for logging. Add your preferred implementation:
See the Logging guide for configuration details.
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):
This installs a self-contained native binary (no Node.js required). The formula is updated automatically on every AgentEnsemble release.
npx (no installation required):
Global npm install:
See the Visualization Guide for the complete workflow including how to export DAGs and execution traces from your Java application.
Next Steps¶
- Quickstart -- Build your first ensemble
- Core Concepts -- Understand the key abstractions
- Built-in Tools -- Ready-to-use tool reference
- Remote Tools -- Cross-language tools with Python, Node.js, etc.