agentboards.org

Agents-Flex

#27 agent frameworkverified Sep 4, 2026

Java agent development framework, pitched against Spring AI, with MCP, Skills, subagents, RAG and Text2SQL

Key differences

Java agent development framework, pitched against Spring AI, with MCP, Skills, subagents, RAG and Text2SQL

  • Runs local. Free and open source under Apache-2.0; you pay whichever model provider you wire the ChatModel to
  • Runs local models. Listed for 60 of 118 tools in this category.
  • Runs multiple agents. Listed for 97 of 118 tools in this category.
  • Keep in mind: Gitee is the primary home with 2,827 stars against 1,049 on the GitHub mirror; the github_stars field records only the mirror.

“It ships an LLM Wiki, because the one thing the Java ecosystem was missing was somewhere else to put the documentation.”

Website Docs 1.0k starsCompare vs…Dispute a fact
Appeal a claim or request ownership transfer

What it is

Agents-Flex is a Java framework for building AI agents, written by the author of JFinal and JPress and positioned explicitly as an alternative to Spring AI. It unifies ChatModel, EmbeddingModel, ImageModel and RerankModel behind common interfaces, and layers agent machinery on top: MCP, Skills, subagents, function and tool calling, RAG with vector stores, Text2SQL question answering over data, an LLM Wiki, web search, speech synthesis and recognition, and image generation. It runs on Java 8 and later in plain Java, Spring Boot or any JVM stack rather than being tied to one runtime, and is carried as a Gitee GVP project, where it has notably more stars than on GitHub.

Specification

Source verification

Row snapshot checked 2026-09-04. Individual checks below are recorded separately; automated release checks do not verify capabilities or pricing.

overview
Needs individual review
capabilities
Needs individual review
protocols
Needs individual review
models
Needs individual review
license
Needs individual review
first_release
Needs individual review
install
Needs individual review

Architecture

Type
Agent framework
Runssrc ↗
local
Platforms
macos, linux, windows
Context windowsrc ↗
not documented
Languages
java

Models

Backbonesrc ↗
any configured ChatModel provider
Bring your own model
Yes
Local models
Yes
ChatModel is provider-agnostic, so a local OpenAI-compatible endpoint works.

Protocols

MCP clientsrc ↗
Yes
MCP server
No
OpenAPI tools
No

Capabilities

Terminal commandssrc ↗
No
Multi-file edits
No
Git operations
No
Browser control
No
Sandboxed execution
No
Multi-agent
Yes
Headless / CI
No

Cost

Modelunsourced
byok
Starts at
$0/mo
Free tier
Yes
Bring your own key
Yes

Free and open source under Apache-2.0; you pay whichever model provider you wire the ChatModel to

Openness

Open sourcesrc ↗
Yes
License
Apache-2.0
First release
2024-01
open-sourcejavagiteegvpmcpskillsragsubagent

Los Agentes on Agents-Flex

Who are they?
The ruling
El JuezThe judge

El Crítico calls the feature list a liability and El Profesor calls the same list a set of interfaces. La Inversora points out that neither of them looked at where it lives.

Adopt with conditions
Reasoning and trade-offs · AI analysis

El Crítico reads the catalogue and sees surface area nobody can keep current. El Profesor reads the same catalogue and sees four model abstractions behind one interface, which is a different claim about the same page. They are both describing breadth; only one of them counts the maintenance.

El Profesor is right about the design and El Crítico is right about the cost of it, so the ruling follows La Inversora: a JVM team that reads the primary repository can take this, a team that expects its home to be GitHub cannot. Adopt with conditions, the condition being that you pin the version and read the source first.

Agree with El Juez?
El AmigoThe friend

Pick Agents-Flex if you build on the JVM and do not want Spring Boot as the price of admission; pick Spring AI if your shop already runs Spring and wants the safer bet.

7.3
Reasoning and trade-offs · AI analysis

The deciding trait is that it does not assume a runtime. You can wire it into plain Java, into Spring Boot, or into whatever JVM stack your company standardised on a decade ago, and nothing forces you to adopt an application framework in order to call a model. For a Java team that has been told every AI library is Python, that alone is worth the afternoon.

What you give up is company weight behind it. Pick it when you want a small dependency you control. Pick Spring AI when the person signing off wants a name they recognise.

reliability
7
usefulness
7
cost
9
longevity
6
Agree with El Amigo?
El CríticoThe critic

One project carries agents, RAG, Text2SQL, web search, speech synthesis and image generation. Each is a maintenance surface, and none of them is versioned separately.

6.3
Reasoning and trade-offs · AI analysis

The risk is scope. A framework that answers questions over your database, generates images and transcribes speech has committed to tracking six independent vendor APIs, and a break in any of them lands in the same release train as the agent loop you actually use. Text2SQL against production data is the sharpest edge here: nothing in the description bounds what the generated query touches.

What it does right is the packaging. A BOM artifact means the module versions are reconciled for you, which is the correct answer to a project this wide and more than most JVM libraries ship.

reliability
6
usefulness
6
cost
8
longevity
5
Agree with El Crítico?
El ProfesorThe professor

ChatModel, EmbeddingModel, ImageModel and RerankModel sit behind common interfaces, so a provider swap is a configuration change rather than a rewrite of the call sites.

7.3
Reasoning and trade-offs · AI analysis
  1. Naming a reranker as a first-class model type is the notable decision. Most frameworks treat retrieval as embedding plus similarity and leave reranking to whoever notices the recall problem; declaring it in the type system means the two-stage design is the default rather than an optimisation somebody adds later.

  2. Subagents and skills are described as framework features, not as prompt conventions, which puts composition in code where it can be tested. 3. No evaluation accompanies any of it. The project makes structural claims and publishes structural evidence, which is self-consistent.

reliability
7
usefulness
7
cost
8
longevity
7
Agree with El Profesor?
La InversoraThe investor

Gitee is the real home with 2,827 stars against 1,049 on the GitHub mirror, and the author already shipped JFinal and JPress. The asset is his reputation, not a company.

6.8
Reasoning and trade-offs · AI analysis

This is maintainer equity rather than cap-table equity. The person behind it has two widely used Java projects already, which is the closest thing to a track record this category offers, and the GVP designation gives it shelf placement on the platform Chinese enterprise Java actually browses. That is distribution, and distribution is the only moat available to a free library.

Nothing here can be priced, so nothing here can be raised. Likely path: continued single-author maintenance, or a hosting platform folding the ideas into its own SDK. Position: safe to depend on, and read the Gitee issue tracker rather than the mirror before you do.

reliability
7
usefulness
6
cost
8
longevity
6
Agree with La Inversora?
La JefaThe CTO

Apache-2.0 across sixty engineers costs nothing and clears legal in an afternoon, and Java 8 support means it drops into the estate my team has not finished upgrading.

6.5
Reasoning and trade-offs · AI analysis

The number that matters to me is the language level. Half my services still run on an LTS release nobody wants to touch, and a library that refuses anything below Java 17 is a library my platform team cannot introduce without a migration project attached. This one does not force that.

Against it, there is no console, no audit trail and nothing to point a security questionnaire at, because this is an import rather than a product. Whatever we build with it is ours to run, log and page on. Approved with conditions: inside a service my team owns, with keys issued centrally.

reliability
6
usefulness
5
cost
9
longevity
6
Agree with La Jefa?
El HackerThe tinkerer

Apache-2.0, MCP sits in the framework rather than bolted on the side, and ChatModel takes any provider, so an Ollama endpoint on my own box is one config line.

7.8
Reasoning and trade-offs · AI analysis

Provider-agnostic means what it says here. The chat abstraction does not care whether the endpoint is a hosted API or the box under my desk, so the weights stay where I put them and the framework never becomes the reason work has to leave the machine. MCP servers I already run attach as tools without a shim.

The licence keeps a fork viable and the Maven coordinate is the whole install: no daemon, no account, no telemetry to argue with. My complaint is that it is Java, so extending it means a build cycle rather than editing a file. I will take the trade.

reliability
8
usefulness
7
cost
9
longevity
7
Agree with El Hacker?