【免费下载链接】EnterpriseAgentFrameworkReachAI企业级智能体开发平台快速、安全完成已有业务系统智能化改造让 AI 在 OA、ERP、CRM 等原系统中查数据、填表单、办业务。ReachAI: Quickly and securely bring AI to existing enterprise systems, enabling AI to query data, fill out forms, and execute business tasks directly within OA, ERP, CRM, and other business applications.项目地址https://gitcode.com/gh_mirrors/en/EnterpriseAgentFramework点击查看免费下载ReachAIEnterpriseAgentFramework是一个面向存量 Java 业务系统的企业级智能体开发平台。如果你手上还有一套运行在JDK 8 / Spring Boot 2的 OA、ERP、CRM 系统不需要升级到 JDK 17也不需要重构业务代码——只要引入 ReachAI 的 JDK 8 兼容 SDK在现有的 Service 或 Controller 方法上加一个ReachCapability注解就能把这个业务方法暴露给 AI让智能体在你的原系统里查数据、填表单、办业务。本文是一份从零到上线的实战教程先讲清楚这套 SDK 的设计分层再用一个订单查询的真实例子完整演示ReachCapability、ReachParam的写法最后走完注册、能力同步与验收链路。为什么 Java 8 老系统也能接入 AI很多团队的第一反应是AI 平台都是新框架我们老系统接不进去。 ReachAI 的设计恰好解决了这个问题。平台本身运行在Java 17 Spring Boot 3上但它为业务系统侧单独准备了一套JDK 8 兼容的接入层业务系统侧与平台侧的分工非常清晰侧模块JDK职责业务系统侧reachai-capability-sdkJDK 8 兼容只负责声明注解、能力描述、签名契约无 Spring 运行时依赖业务系统侧reachai-spring-boot2-starterJDK 8 / Spring Boot 2负责自动化扫描注解、注册项目、发心跳、同步能力快照平台侧五个 ReachAI 服务JDK 17能力目录、Agent Runtime、知识检索、模型网关、平台控制也就是说JDK 8 侧不跑 Agent、不跑 Workflow不承担平台治理职责它只做一件事用声明式的方式告诉平台我这里有哪些业务能力可以被 AI 调用。这正是低侵入的关键——你的领域服务、权限、事务逻辑一行都不用改。这套分层的完整设计说明见 JDK8-SDK与JDK17-Runtime分层业务系统接入的官方实施手册见 班组系统接入ReachAI SDK实施步骤。第一步引入两个 Maven 依赖接入只需要在业务工程里加两个依赖。1. 在声明能力的模块通常是 api / service 模块加入 SDKdependency groupIdcom.enterprise.ai/groupId artifactIdreachai-capability-sdk/artifactId version1.0.0-SNAPSHOT/version /dependency2. 在启动模块通常是 web / bootstrap 模块加入 Starterdependency groupIdcom.enterprise.ai/groupId artifactIdreachai-spring-boot2-starter/artifactId version1.0.0-SNAPSHOT/version /dependencyreachai-capability-sdk本身非常轻——看它的 pom.xml 可以发现它编译目标就是 JDK 8maven.compiler.source/target 8运行时只依赖jackson-databind和slf4j-api不会把你的 Spring 版本拖下水。⚠️ 注意ReachAI 平台地址不是Maven 仓库。SDK 需要先发布到公司 Maven 仓库或在 ReachAI 仓库本地执行mvn install。不要把平台 baseUrl 配成 Maven repository。第二步用 ReachCapability 声明一个业务能力这是整个接入最核心、也最轻的一步。我们用一个订单查询接口来演示。假设你已有这样一个 Serviceimport com.enterprise.ai.reach.sdk.annotation.ReachCapability; import com.enterprise.ai.reach.sdk.annotation.ReachParam; import com.enterprise.ai.reach.sdk.annotation.ReachSideEffectLevel; public class OrderQueryService { ReachCapability( name order.query, title 查询订单, description 查询当前业务用户可见的一张订单, domain order, module query, sideEffect ReachSideEffectLevel.READ, requiredRoles {ORDER_READ}, timeoutMs 3000) public OrderView query( ReachParam(name orderId, required true, description 订单号) String orderId) { // 完全复用你原有的鉴权、权限和业务逻辑 return loadAuthorizedOrder(orderId); } }就这么几行注解这个方法就变成了一条 AI 可以理解的能力。下面把用到的注解逐个讲透。核心注解 ReachCapability 属性一览ReachCapability只能标在方法上定义见 ReachCapability.java。它的属性决定了平台如何理解和治理这条能力属性类型默认值作用nameString稳定的能力标识建议用domain.action风格如order.query不要随意改titleString业务人员能看懂的中文名称descriptionString业务行为与授权边界写得越清楚AI 调用越准domainString业务域如order、purchasemoduleString所属业务模块tagsString[]{}用于检索和治理的标签sideEffectReachSideEffectLevelWRITE副作用等级务必显式设置requiredRolesString[]{}该能力要求的业务角色宿主仍需自行鉴权timeoutMsint0超时覆盖0表示用平台策略retryLimitint-1重试覆盖-1表示用平台策略其中sideEffect副作用等级最值得强调。它是一个三档枚举见 ReachSideEffectLevel.javaREAD只读查询平台可自动执行WRITE有写操作AI 调用前需要一次用户确认IRREVERSIBLE不可逆操作如删除、退款默认拒绝。 经验法则默认值是WRITE。如果你写的是一个纯查询一定要显式标成READ这样 AI 才能放心自动执行而涉及写入/提交的接口保留WRITE平台会强制先确认再执行这正是安全护栏的关键。参数注解 ReachParam让 AI 看得懂入参ReachParam标在方法参数或 DTO 字段上定义见 ReachParam.java。对 JDK 8 的简单参数一定要显式写name因为编译时可能拿不到参数名属性作用name稳定输入名JDK 8 下简单参数务必显式设置description业务含义与约束required是否必填默认falseexample非敏感示例值sensitive标记需要脱敏的敏感数据出参注解 ReachOutput让后续节点能引用返回值如果方法返回一个 DTO可以在字段上不是方法上用ReachOutput描述每个字段的含义方便 Workflow 的后续节点引用。示例public static class OrderView { ReachOutput(description 稳定的业务订单号) private String orderId; ReachOutput(description 当前订单状态) private String status; }三个注解配合起来就是声明式暴露能力的完整闭环方法声明ReachCapability→ 入参语义ReachParam→ 出参语义ReachOutput。完整示例和属性表见 reachai-capability-sdk README。第三步配置 Spring Boot Starter 完成注册声明能力之后剩下的注册、心跳、同步都交给 Starter 自动完成。在application.yml里加上reachai配置块即可reachai: registry: url: https://reachai.example.com # ReachAI 中台地址 enrollment-token: ${REACHAI_REGISTRY_ENROLLMENT_TOKEN} # 首次注册一次性凭据 project: code: order-service # 稳定的项目编码 name: Order Service base-url: https://orders.example.com # 平台回调能力时使用的地址 capability: scan-mode: ANNOTATED_ONLY scan-packages: - com.company.order启动后Starter 会自动完成项目注册和实例心跳平台的项目列表里会立刻出现你的order-service并且心跳正常。这里的几个关键点要理解一次性 Enrollment Token首次注册时平台用这个一次性令牌换取长期的appKey / appSecret。Starter 会把它们原子写入一个受限的凭据文件并立即从内存清除一次性令牌——它永远不会落盘保存令牌本身。base-url必须可达这是平台服务端视角能看到你的业务系统的地址。如果base-url指向网关网关必须把/reachai/registry/**转发到含 Starter 的服务并透传X-ReachAI-App-Key、X-ReachAI-Signature等签名头。回调路径要放行但不裸奔平台通过签名头调用POST /reachai/registry/capabilities/sync网关可以绕过普通登录/CSRF但 Starter 自身仍会校验签名非法请求照样返回401。完整配置项与凭据恢复流程见 reachai-spring-boot2-starter README。第四步触发能力同步能力进入平台目录注册和心跳是启动即发生的但能力扫描/同步是显式动作——它不在应用启动时自动跑而是由 ReachAI 的API 管理 → 添加接口 → SDK 同步手动触发。触发后是一个两跳的服务端链路平台根据你配置的base-url回调业务系统的POST /reachai/registry/capabilities/sync业务系统的 Starter 现场扫描ReachCapability把能力快照回传平台平台的 Capability Catalog 生成能力快照并计算字段级 diff新增的只读能力可自动接纳涉及契约/语义/副作用的不确定变化则保留为待处理由开发者执行apply / ignore评审。同步成功后能力列表里就会出现你声明的order.query能力详情里能看到请求路径、HTTP 方法、入参和出参结构。 扫描是怎么工作的Starter 底层用的是ReachCapabilityScanner见 ReachCapabilityScanner.java它通过反射读取方法上的ReachCapability并为每个能力生成一个描述符对复杂参数只展开一层到直接声明的ReachParam字段不会无限递归。第五步让 AI 真正用起来能力进入目录后就只差把它挂到页面这一步了。这一步做的是前端嵌入对话业务前端引入reachai/embed-chat挂载一个对话入口业务后端从当前登录态换取短期 Embed Token浏览器里不保存任何 App Secret。最终效果就是本文开头那张图里的场景——用户在原有的订单页、采购页里直接用自然语言对话OA汇总我今天的待办并打开最紧急的一项。采购帮我创建办公用品采购申请提交前给我确认。WRITE级别触发确认订单查询订单 SO-20261022-001 的当前状态。命中order.query这条READ能力整个调用过程——AI 的理解、规划、工具调用、Guard 决策、耗时和异常——都会进入 Trace / RunOps可回放、可关联发布版本管理者可以在运营中心一眼看到真实使用效果。关键安全边界务必记住注解里的角色不是替代鉴权。requiredRoles只是声明宿主营业务系统仍必须执行自己的最终鉴权、租户隔离和行级可见性控制。sideEffect一定要显式写。查询标READ写操作保留WRITE不可逆操作用IRREVERSIBLE。密钥只留在服务端。Enrollment Token、appSecret、Embed Token 都不该出现在浏览器、Git、日志里。SDK 是声明契约不是运行时。扫描 Bean、注册项目、暴露回调、心跳这些脏活都归 Starter业务服务继续负责真正的鉴权和事务边界。总结给一套 Java 8 老系统加 AI用 ReachAI 的ReachCapability注解其实只分四步加依赖api 模块加reachai-capability-sdk启动模块加reachai-spring-boot2-starter声明能力在方法上加ReachCapability入参加ReachParam出参加ReachOutput并把sideEffect写对配 Starter在application.yml配好reachai注册块启动即完成项目注册与心跳触发同步并挂载对话手动触发 SDK 同步让能力进入目录再用前端嵌入对话让 AI 落地到页面。低侵入、可治理、可追踪——这就是 ReachAI 让存量 Java 8 系统无痛接入 AI 的核心思路。延伸阅读SDK 注解完整参考reachai-capability-sdk READMEStarter 配置与回调边界reachai-spring-boot2-starter READMEJDK8 / JDK17 分层设计JDK8-SDK与JDK17-Runtime分层完整接入实施样例班组系统接入ReachAI SDK实施步骤项目注册与能力资产架构02-项目注册与能力资产SDK 与 Embed Chat 快速参考SDK接入与EmbedChat快速参考赞分享【免费下载链接】EnterpriseAgentFrameworkReachAI企业级智能体开发平台快速、安全完成已有业务系统智能化改造让 AI 在 OA、ERP、CRM 等原系统中查数据、填表单、办业务。ReachAI: Quickly and securely bring AI to existing enterprise systems, enabling AI to query data, fill out forms, and execute business tasks directly within OA, ERP, CRM, and other business applications.项目地址https://gitcode.com/gh_mirrors/en/EnterpriseAgentFramework点击查看免费下载相关推荐如何给NeMo AutoModel接入新模型模型注册、能力系统与自定义架构完全指南如何给NeMo AutoModel接入新模型模型注册、能力系统与自定义架构完全指南 NeMo AutoModel 是一个基于 PyTorch 的分布式训练库Nidium网络编程实战WebSocket、HTTP、TCP/UDP Socket全面解析Nidium网络编程实战WebSocket、HTTP、TCP/UDP Socket全面解析 Nidium是一个功能强大的跨平台渲染引擎专为创建高性能应用和游pay 支付 SDK 支付宝确认回调 success() 方法实战指南从验签到向支付宝服务器应答确认pay 支付 SDK 支付宝确认回调 success 方法实战指南从验签到向支付宝服务器应答确认 导读 本文聚焦于支付开源仓库 pay https://lin上一篇openvscode-server 代码库架构指南VS Code 分层架构、构建验证流程与编码规范实战下一篇react-redux-boilerplate组件开发教程从Header到ReposList的实现方法创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考