Arc Reactor

使用说明内容(Markdown格式)

项目简介

Arc Reactor 是一个企业级 AI Agent 运行时,构建在 Spring AI 之上,围绕 ReAct 循环(Reasoning + Acting)设计,提供对资源、工具、提示模板等的统一管理与外部工具调用能力,并通过 MCP(Model Context Protocol)实现服务器端对 MCP 服务的注册、调度和治理。它支持多通道交付、严格的治理管线、审计日志以及可扩展的工具策略,适合搭建生产级的上下文服务后端。

主要功能点

  • ReAct 执行引擎:受控的工具调用循环,带有重试、上下文裁剪与结构化输出校验
  • 5 阶段 Guard 管线:速率限制、输入长度、字符集规范化、分类等安全检查
  • 4 点 Hook 生命周期:BeforeStart、AfterToolCall、BeforeResponse、AfterComplete,用于审计、计费和策略执行
  • 动态 MCP 注册:运行时通过 REST API 注册并管理 MCP 服务器(STDIO/SSE),具备 per-server 访问策略
  • 人工干预与工具策略:HITL 审批、工具策略引擎,按通道治理写工具调用
  • Prompt 模板版本管理:版本化的 Prompt 模板与评估
  • RAG 与向量检索集成:查询转换、PGVector、重排序和上下文注入
  • 多代理编排、支持多通道交付(REST、SSE、Slack 等)
  • 安全与合规:JWT 认证、审计日志、OpenTelemetry 等
  • 部署友好:Kubernetes Helm、Docker、PostgreSQL 与 Flyway 数据迁移

安装步骤

  • 克隆仓库并进入项目目录
  • 系统依赖与环境变量设定(示例):
    • ARC_REACTOR_AUTH_JWT_SECRET:JWT 加密密钥,32 字节以上
    • SPRING_DATASOURCE_URL/SPRING_DATASOURCE_USERNAME/SPRING_DATASOURCE_PASSWORD:PostgreSQL 数据库连接
    • GEMINI_API_KEY:默认 LLM 提供方密钥(如 Gemini),也可配置 OpenAI/Anthropic 替代
  • 启动方式(本地开发/快速启动)
    • 使用 Gradle 启动:./gradlew :arc-app:bootRun
    • 使用 Docker Compose 启动(含数据库、向量存储等组件)
  • 运行后对外暴露的 API 入口
    • MCP 服务器相关 API:/api/mcp/servers
    • 其他管理与诊断端点:/api/auth、/actuator/health 等

服务器配置(MCP 客户端无需,需要给 MCP 服务端提供的注册配置,以下为示例描述)

  • 服务器名称与描述,用于标识 MCP 服务端
  • transportType:STDIO 或 SSE,决定与 MCP 客户端的通信方式
  • config:包含启动服务器所需的命令及参数等
  • autoConnect:启动后是否自动连接到 MCP 客户端

示例 1(Filesystem 类工具,来自项目示例): { "name": "filesystem", "description": "Local file tools", "transportType": "STDIO", "config": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/data"] }, "autoConnect": true }

示例 2( Atlassian MCP 访问策略代理): { "name": "atlassian", "transportType": "SSE", "config": { "url": "http://localhost:8085/sse", "adminToken": "change-me", "adminHmacRequired": true, "adminHmacSecret": "change-me-hmac" }, "autoConnect": true }

基本使用方法

  • 启动后通过 /api/mcp/servers 注册 MCP 服务端
  • 使用客户端配置文件指向已注册的 MCP 服务,客户端将通过 MCP 规范与服务器交互,获取上下文、调用工具、渲染 Prompt 等
  • 管理端可对 MCP 服务器执行访问策略、动态更新、监控和审计

需要的准备与注意

  • 确保 PostgreSQL/PGVector 等后端就绪,Flyway 迁移生效
  • 安全性:尽量启用 JWT 验证、CORS、HSTS 等安全策略
  • 生产环境中应对 MCP 服务器进行访问控制与审计策略配置

运行与测试

  • 本地快速启动脚本、Gradle 构建或 Docker 方式任选其一
  • 使用 MCP 服务注册 API 将 MCP 服务端注册并启动连接
  • 验证端点与工具调用的路由、权限和日志

备注

Arc Reactor 的 MCP 支持强调动态服务器注册、工具治理和多通道交付能力,是真正面向 MCP 客户端的后端运行时框架,支持将外部工具/资源以标准化方式暴露给 LLM 客户端使用。

服务器信息