ReachAI 企业智能体开发平台
面向 Java 存量业务系统的企业级智能体底座,让 AI 在 OA、ERP、CRM 等原系统中查数据、填表单、办业务。
README 系统描述了最小权限与确认策略(READ 自动、PAGE_ACTION 需页面意图、WRITE 需一次确认、IRREVERSIBLE 默认拒绝;Capability 白名单、Tool ACL、短期 Token、后端最终鉴权、Trace 审计),并有 @ReachCapability 的 sideEffect/requiredRoles 注解示例作为代码佐证。扣分点:这些治理机制只有 README 描述与一个注解示例,核心 Guard/ACL/确认执行代码未在本次审查文件中,无法核实实际实现;敏感数据处理仅见 env 模板、生产禁用开发默认密钥的说明,代码未验;回滚/撤销仅有 Skill '撤销' 字样;发布者为未验证个人账号 w8123,仅 MIT 版权行可归属。
README 内部叙述大体自洽(五服务端口、表所有权、快速开始步骤一致),技术栈与版本号明确,基础设施有 docker compose 与 SQL 基线支撑可用性。扣分点:失败/异常的具体错误信息与降级行为仅在 RunOps 层面泛泛提及,无代码证据;测试文件仅见一个 OpenAPI 测试夹具,覆盖情况不明。
目标受众(OA/ERP/CRM 等存量 Java 企业系统)、三类角色与四场景描述充分,边界明确(JDK8 SDK / Spring Boot 2 Starter 接入、BETA 节点分级)。扣分点:触发精度依赖白名单与页面意图的描述,未见实现;环境适配限于 Java/Spring 技术栈,README 自述为当前主路径。
文档架构清晰(AGENTS.md、docs 导航、SQL 基线、服务边界文档),快速开始含环境要求与分步命令,'当前实现边界'明确承认未完备之处,扣分理由少;命名(五服务、端口、核心对象)稳定。扣分点:无 CHANGELOG/版本发布记录,维护责任仅有快速迭代自述与学习交流群,无明确治理路径;示例多为 README 示意而非可运行样例仓库。
产出可用性有 Trace/回放/EvalOps/验收证据链的设计支撑,相对 Dify/OpenClaw 的差异化定位清晰(面向存量系统改造)。扣分点:成本收益仅述 Token/耗时统计,无实际数据;全部能力未经验证执行,价值主张停留在设计描述。
README 主动区分 confirmedFact/technicalInference/openQuestion,并提供代码与文档指针(Page Bridge 源文件、服务表所有权文档),可追溯性设计好。扣分点:本次仅三个文件,README 的多数声明(截图、治理实现、验收流程)无法与其他源码交叉印证;测试夹具仅覆盖扫描器一处。
- 本次为静态审查,仅基于 README、LICENSE 和一个测试夹具;所有治理声明(Tool ACL、Guard、确认策略、短期 Token、后端鉴权)均未经代码核实,生产使用前应审计 reachai-runtime-service 与 reachai-control-service 的实际实现。
- 本地开发默认注入公开的加密/签名密钥并预填 admin/admin123,务必确认生产环境设置 REACHAI_LOCAL_AUTH_ENABLED=false、REACHAI_BOOTSTRAP_ADMIN_ENABLED=false 并从 Secret 注入独立密钥。
- 发布者为未验证个人账号,无变更日志与明确维护承诺,依赖前应评估长期维护风险。
- IRREVERSIBLE 默认拒绝、WRITE 需确认等策略为文档声明,接入真实业务系统前应验证其代码路径确实生效。
这个 Agent 能做什么,适合哪些场景?
ReachAI(仓库 w8123/EnterpriseAgentFramework)是一个 MIT 协议开源的企业智能体开发与运行平台,目标是快速、安全地把 AI 能力植入已有业务系统。它由五个 Spring Boot 服务组成:model-service(模型网关)、knowledge-service(知识库与 RAG)、control-service(公共 API 与身份)、runtime-service(Agent 与 Workflow 执行)、capability-service(能力目录)。业务系统通过 JDK 8 兼容的 Capability SDK / Spring Boot 2 Starter 注册业务能力,前端用 ReachAI Embed 和 Page Bridge 在原页面内嵌对话并显式登记页面动作。执行模型上,AgentScope Supervisor 负责意图理解与任务规划,从白名单中选择已发布的 Workflow-as-Tool,由 Runtime 按版本固定的 GraphSpec 执行,读写操作受 Tool ACL、风险级别和用户确认约束,全程记录 Trace 并可在 RunOps 回放。管理端为 Vue 3 + TypeScript 的运营控制台,覆盖系统扫描、改造推荐、AI Coding 任务、能力发布、验收与运行治理。
平台按两阶段工作。建设阶段:注册业务系统并扫描页面、路由、接口,形成能力地图;对选定页面做只读分析,输出带 confirmedFact、codeReferences 和 acceptanceCriteria 的改造清单;将改造需求封装为标准化任务交给 Codex、Trae、Cursor 或 Claude Code 执行并回传验收证据;通过 @ReachCapability 注解把 Java 接口沉淀为 Capability Catalog,并经字段级 diff 和人工 apply/ignore 评审。运行阶段:员工在原业务页面通过 Embed 对话发起请求,Supervisor 理解意图后选择 0/1/多个已授权 Workflow,GraphSpec Executor 按版本执行;READ 自动执行、PAGE_ACTION 需页面意图、WRITE 需一次确认、IRREVERSIBLE 默认拒绝;调用真实能力时携带业务用户短期 Token,由原后端做最终鉴权。平台还提供 Workflow Studio(可视化/AI 编排 GraphSpec)、Automation、EvalOps(版本化数据集与发布门禁)、MCP Hub 和 A2A 互联中心,将 Capability 与 Workflow 发布为 MCP Tool 或远程 Agent。
- 使用 OA 系统的企业:员工用自然语言汇总今日待办并打开最紧急项,无需切换系统
- eHR 团队:AI 查询本月异常考勤并筛出未处理记录
- 采购部门:AI 创建办公用品采购申请草稿,提交前由用户确认
- CRM 销售:AI 根据本周客户动态生成跟进计划
- 拥有大量缺少接口文档的存量 Java 系统的团队:用页面扫描和能力快照完成有代码证据的系统盘点
- 平台管理者:通过运营中心、EvalOps 和 RunOps 持续测评 Agent 版本表现并治理失败运行
这个 Agent 有哪些优点和局限?
- 差异化定位:不止于创建 AI 应用,而是覆盖存量系统扫描、改造推荐、AI Coding 实施、能力接入、真实验收和上线治理的完整闭环
- 治理证据链完整:Capability 白名单、Tool ACL、按风险分级(READ 自动 / WRITE 确认 / IRREVERSIBLE 拒绝)、业务身份 Token、全程 Trace 回放
- Agent 负责灵活规划、Workflow 按版本固定的 GraphSpec 稳定执行,兼顾新需求与高频任务的确定性
- 页面自动化基于显式登记的动作契约而非截图识别和鼠标模拟,可靠性更高
- 开放协议生态:通过 MCP Hub 和 A2A 互联中心对外发布受治理的能力与远程 Agent,模型接入为 OpenAI 兼容网关
- 项目自述处于快速迭代阶段,README 明确表示并非所有能力都达到生产完备状态,部分 Workflow 节点仍为 BETA
- 部署较重:需要 MySQL 8、Redis 7、Milvus 2.4 和五个 Java 服务,运维成本高于轻量级 Agent 框架
- 主要面向 Java/Spring 生态(JDK 8 SDK + Spring Boot 2 Starter),非 Java 存量系统只能靠扫描方式补充盘点
- 当前五服务共用一个 MySQL 实例,表所有权边界依赖 internal API 约束,架构演进可能带来迁移风险
- 自动化中心的截图环境执行引擎尚未启用;治理面(ACL、Guard、开放协议)仍在产品化中
如何安装或部署这个 Agent?
环境要求:JDK 17、Maven、Node.js 与 npm、Docker Compose。步骤:
- 复制凭据模板并启动基础设施:
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"- 构建后端:
mvn clean install -DskipTests - 启动五个服务:可在 IntelliJ IDEA 中运行
.run/00-reachai-five-services.run.xml一键启动,或按顺序执行mvn spring-boot:run(model 18601、knowledge 18602、control 18603、runtime 18604、capability 18605)。本地开发模式自动注入开发专用密钥,无需配置各 SECRET 环境变量。 - 启动管理端:
cd ai-admin-front
npm ci
npm run dev本地开源模式默认提供预填的 admin / admin123 账号,仅限本地开发;生产环境必须设置 REACHAI_LOCAL_AUTH_ENABLED=false、REACHAI_BOOTSTRAP_ADMIN_ENABLED=false 并接入正式身份体系。
如何使用这个 Agent?
接入路径:将 Capability SDK / Spring Boot 2 Starter 加入可修改的 Java 系统,用 @ReachCapability 注解标记业务方法(含 name、domain、sideEffect、requiredRoles 等元数据),Starter 自动扫描注解方法和 Spring MVC 接口并完成心跳与签名上报;在 Capability Catalog 中对能力快照执行 apply/ignore 并授权。然后在管理端用 Workflow Studio 编排或让 AI 生成 GraphSpec,校验后发布;配置 Agent 的固定版本、使用范围和可调用的 Workflow-as-Tool 白名单。前端在业务页面集成 ReachAI Embed 与 eafPageBridge.ts,显式登记筛选、跳转和表单动作。上线后通过 Automation 按计划运行,通过 EvalOps 做版本对比,通过 RunOps 排查失败。详细参考:docs/reference/SDK接入与EmbedChat快速参考.md 与 docs/reference/Workflow-AI-Coding.md。
这个 Agent 与同类方案有什么区别?
README 直接对比了两个替代方案:Dify 等 AI 应用编排平台侧重创建和发布 AI 应用、Agent 与 Workflow;OpenClaw 等个人智能体侧重从聊天入口跨应用帮个人完成任务。ReachAI 的区别是面向已有企业业务系统,覆盖系统扫描、改造推荐、AI Coding 实施、能力接入、真实验收与生产级运行治理,且关键操作需确认、全程可追踪。