# ReachAI

> An enterprise agent platform that puts AI inside existing Java business systems

- Category: Agents & Automation / Agent Frameworks & Builders
- Language: Java
- Licence: MIT
- Repository: https://github.com/w8123/EnterpriseAgentFramework
- Canonical page: https://ai-tldr.dev/tools/reachai/

## In short

ReachAI, developed in the EnterpriseAgentFramework repository, is a platform for adding AI to business systems a company already runs — OA, eHR, procurement, CRM, ticketing, contracts — rather than building new AI apps beside them. It sits in the Agent Frameworks & Builders category of the Agents & Automation tools and is open-source, written in Java and licensed MIT.

## Overview

ReachAI, developed in the EnterpriseAgentFramework repository, is a platform for adding AI to business systems a company already runs — OA, eHR, procurement, CRM, ticketing, contracts — rather than building new AI apps beside them. Employees keep using the original pages; an embedded assistant lets them ask in natural language to summarise today's to-dos, find unhandled attendance exceptions or draft a purchase request, and the platform carries those requests out with the logged-in user's identity and permissions.

The work is split between three kinds of asset. A Capability is a real business operation: Java systems register them with a JDK 8-compatible SDK and Spring Boot 2 starter (annotating methods with `@ReachCapability`, including a side-effect level and required roles), and legacy systems can be inventoried by scanning instead. A Workflow is a versioned GraphSpec built in Workflow Studio, and an Agent — an AgentScope supervisor — interprets a request and picks zero, one or several whitelisted workflows to run. On the page, a Page Bridge registers explicit actions such as filtering, navigating and filling forms, so the assistant does not rely on screenshots or simulated clicks.

Governance is built in: reads run automatically, page actions need a clear page intent, writes need one confirmation and irreversible actions are refused by default, while the original back end keeps final authorisation. Every plan, tool call and guard decision lands in a trace, with RunOps, EvalOps and scheduled automation on top. The platform can also generate AI-coding tasks for Codex, Trae, Cursor or Claude Code to wire a system in, and exposes capabilities over MCP and A2A. It runs as five Java 17 / Spring Boot services with a Vue 3 admin console on MySQL, Redis and Milvus, and is licensed MIT; its README notes that it is iterating quickly and not every capability is production-complete.

## What it does

- An embedded chat assistant for existing OA, eHR, procurement and CRM pages that acts as the current logged-in user
- Capability Catalog fed by a JDK 8-compatible SDK and Spring Boot 2 starter (`@ReachCapability`) or by scanning legacy systems, with snapshots, field-level diffs and review
- Workflow Studio for AI-assisted or visual GraphSpec workflows that an AgentScope supervisor calls as whitelisted tools
- Page Bridge: page filters, navigation and form actions registered as explicit contracts instead of computer-use clicking
- Risk tiers (READ / PAGE_ACTION / WRITE / IRREVERSIBLE), tool ACLs, guards and full traces, with RunOps, EvalOps and an automation centre
- MCP Hub, A2A hub and API market to publish governed capabilities and workflows to IDEs and remote agents

## Getting started

The quickest way to try it is the Docker quickstart, which starts ReachAI next to an open-source ERP (Yudao) that is already connected and loaded with demo data. Building from source needs JDK 17, Maven, Node.js and Docker Compose.

1. Run the ten-minute Docker demo

   Optionally add an LLM API key to `.env` first. Then open the ERP at http://localhost:48080 and the ReachAI console at http://localhost:18080; both use the local-only `admin / admin123` account.

```bash
cd deploy/quickstart
cp .env.example .env
docker compose up -d --build
```

2. From source: start the infrastructure and create the database

   Copy the credentials template and fill it with your own random values, start MySQL, Redis and Milvus, then load the SQL baseline.

```bash
cp deploy/.env.example deploy/.env
docker compose --env-file deploy/.env -f deploy/docker-compose.infra.yml up -d
mysql --default-character-set=utf8mb4 -h localhost -u root -p -e "source sql/initV2.sql"
```

3. Build the back end

```bash
mvn clean install -DskipTests
```

4. Start the five services

   Run each with `mvn spring-boot:run` in this order — model (18601), knowledge (18602), capability (18605), runtime (18604), control (18603) — or use the bundled IntelliJ run configuration `.run/00-reachai-five-services.run.xml`.

5. Start the admin console

   Production deployments must disable the local admin account and bootstrap admin and inject their own secrets.

```bash
cd ai-admin-front
npm ci
npm run dev
```

## When to use it

- Adding a natural-language assistant to an in-house OA, ERP or CRM without replacing its pages, permissions or business rules
- Exposing Java service methods to agents as governed capabilities with confirmation on every write
- Turning frequent, proven agent paths into versioned workflows that run faster and more predictably
- Publishing internal business capabilities to coding agents and remote agents over MCP or A2A under the same access rules
