跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaWeChatAIjava

OpenClaw Java:基于 Spring Boot 的 AI Agent Gateway 全栈实践

OpenClaw Java 是基于 Spring Boot 3.3 构建的 AI Agent Gateway 全栈项目。它通过 WebSocket 自定义帧协议提供多模型接入、工具调用及多渠道对话能力。项目包含 594 个 Java 源文件,支持 Claude、GPT、Ollama 等模型,内置命令执行、文件读写等工具链,并适配微信公众号等即时通讯渠道。架构采用模块化设计,涵盖网关、Agent 引擎、渠道适配器及插件系统,提供 OpenAI 兼容 HTTP API。代码已开源,适合生产环境部署或学习 Agent 架构设计。

remedios发布于 2026/3/16更新于 2026/6/216 浏览
OpenClaw Java:基于 Spring Boot 的 AI Agent Gateway 全栈实践

项目简介

OpenClaw Java 是一个基于 Spring Boot 3.3 实现的开源 AI Agent Gateway,通过 WebSocket 自定义帧协议提供全功能的 Agent 接口。

项目地址:https://github.com/yuenkang/openclaw-java

当前规模: 594 个 Java 源文件 + 17 个测试文件,约 88,500 行代码

设计初衷

当前 AI Agent 框架多集中于 Python 与 TypeScript 生态,Java 社区相对缺乏成熟的运行时方案。OpenClaw Java 旨在为 Java 开发者提供一个工程化的 AI Agent 运行时,支持多模型接入、多渠道对话、工具调用和会话管理等完整能力。

核心能力

🤖 Agent 执行引擎
  • 多轮对话循环:用户 → 大模型 → 工具调用 → 大模型 → 回复
  • 多模型提供者:支持 Claude、GPT 系列、Ollama 本地模型、vLLM 等 OpenAI 兼容接口
  • 内置工具链:命令执行 (Exec)、文件读写 (File)、浏览器控制 (Browser)、图片分析 (Image)
  • 指令处理:快速回复、队列验证、Follow-up
  • Hooks 系统:内置 Hook + Workspace Hook + 优先级管理
  • Memory 系统:记忆索引、关键字搜索
📱 多渠道接入

支持通过即时通讯渠道与 AI Agent 对话,已实现的渠道适配器包括:

  • 即时通讯 Bot — 私聊/群聊、图片收发、流式输出、会话管理、白名单
  • 微信公众号 — SHA-1 签名验证、access_token 缓存、客服消息 API

渠道适配器采用插件化架构,方便扩展更多平台。

🌐 WebSocket 自定义协议

采用 req/res/event 三种帧类型的自定义协议,示例如下:

// 请求帧
{"type":"req","id":"1","method":"agent.message","params":{"message":"你好"}}
// 响应帧
{"type":"res","id":"1","ok":true,"payload":{...}}
// 事件帧
{"type":"event","event":"agent.streaming","payload":{...}}

支持三步安全握手、会话管理、Cron 定时任务、配置热重载等功能。

🔌 OpenAI 兼容 HTTP API

提供标准的 /v1/chat/completions 和 /v1/models 接口,可作为现有 OpenAI 客户端的后端使用。

架构设计

┌────────────────────────────────────────────────────┐
│ openclaw-app                                       │
│ Spring Boot 入口 + OpenAI 兼容 REST API            │
├──────────┬──────────┬──────────┬──────────────────┤
│ gateway  │ agent    │ channel  │ plugin           │
│ WebSocket│ 大模型   │ 渠道适配 │ SPI              │
│ 会话管理 │ 工具链   │ 消息归一化│ 插件加载         │
│ Cron 调度│ Memory   │ 出站投递 │ 注册中心         │
├──────────┴──────────┴──────────┴──────────────────┤
│ common                                             │
│ Config · Models · Protocol · Auth · Media · CLI    │
└────────────────────────────────────────────────────┘

模块说明:

  • openclaw-common — 配置管理 (90+ 嵌套类型)、数据模型、协议、认证
  • openclaw-gateway — WebSocket 服务、会话管理、方法路由、Cron 调度
  • openclaw-agent — Agent 引擎、多模型提供者、内置工具、Hooks、Memory
  • openclaw-channel — 渠道适配器、消息归一化、出站投递
  • openclaw-plugin — SPI 插件加载器、注册中心
  • openclaw-app — Spring Boot 入口、模块桥接

技术栈

  • Spring Boot 3.3 — Web + WebSocket + Scheduling
  • Jackson — JSON 序列化
  • OkHttp — HTTP 客户端
  • Caffeine — 本地缓存
  • Lombok — 代码简化
  • docker-java — 沙箱执行
  • JUnit 5 + Mockito — 测试

本地运行

环境要求 Java 17+ 及 Maven 3.8+。

# 克隆并构建
git clone https://github.com/yuenkang/openclaw-java.git
cd openclaw-java
mvn clean install

# 配置模型(二选一)
export OPENAI_API_KEY=sk-xxx
export OLLAMA_BASE_URL=http://127.0.0.1:11434/v1

# 启动服务
mvn spring-boot:run -pl openclaw-app

服务启动后监听 ws://127.0.0.1:3578/ws,通过 WebSocket 客户端即可与 Agent 对话。

持久化设计

  • 会话历史 — JSONL 格式对话记录,Bot 重启自动恢复最近 50 条上下文
  • 用量追踪 — 多模型 token 用量统计和成本估算
  • 会话元数据 — JSON 原子写入,保证数据一致性

开发历程

项目经历了 33 个迭代 Phase:

  • Phase 1–6 — 基础框架 + Gateway + Agent + 渠道 + 测试
  • Phase 7–18 — Agent 高级功能 + Gateway 深度扩展
  • Phase 19–23 — 工具链 + 认证 + CLI + 渠道类型定义
  • Phase 24–28 — 编译修复 + 基础设施补齐
  • Phase 29–31 — 渠道 Bot 完整层 + 微信公众号
  • Phase 32–33 — 集成测试 + 浏览器控制 + 图片处理 + 持久化

后续规划

  • 更多渠道适配(飞书、钉钉等)
  • 向量数据库 Memory 后端
  • 插件市场
  • Web 管理面板
  • Docker 一键部署

总结

OpenClaw Java 致力于成为 Java 生态中功能完整的 AI Agent Gateway。无论你是想在生产环境部署 AI Agent,还是想学习 Agent 架构设计,都欢迎参考源码。

License: MIT

目录

  1. 项目简介
  2. 设计初衷
  3. 核心能力
  4. 🤖 Agent 执行引擎
  5. 📱 多渠道接入
  6. 🌐 WebSocket 自定义协议
  7. 🔌 OpenAI 兼容 HTTP API
  8. 架构设计
  9. 技术栈
  10. 本地运行
  11. 克隆并构建
  12. 配置模型(二选一)
  13. 启动服务
  14. 持久化设计
  15. 开发历程
  16. 后续规划
  17. 总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • C++ 异常处理机制:异常捕获、自定义异常与实战应用
  • Vivado 工程版本管理实战:Git 配置与重建指南
  • Python 企业级反爬虫核心技巧与风控规避策略
  • 基于 OpenClaw 与 Open WebUI 的企业多部门 AI 平台搭建及 Docker 部署指南
  • LeetCode 202. 快乐数:快慢指针判环解法
  • JavaScript 表单验证禁用与选择框编程详解
  • StarUML 6.3.3 配置指南:汉化、激活与 C++ 扩展搭建
  • Unity+AI 使用自然语言制作小游戏:飞翔的牛马
  • 二分答案专题实战:木材加工与砍树问题详解
  • 单链表核心操作全实现:查找、插入与删除的深度解析
  • Spring Boot 日志体系详解与实战配置指南
  • Seedream 4.0 企业级图像生成能力与应用场景深度解析
  • 二分查找算法实战:x 的平方根与搜索插入位置
  • NestJS 接口响应 Message 编写规范与 API 提示标准化
  • .NET 集成 GoView 低代码可视化大屏实战指南
  • ClawdBot 实战:树莓派 4 运行 OCR/Whisper/vLLM 实现 15 人并发无卡顿
  • 分布式文件系统 HDFS:存储原理详解
  • C++ 模板编程详解:从基础到元编程
  • 常见代码托管平台对比:极狐 GitLab、GitLab、GitHub 与 Gitee
  • SDXL Prompt Styler:提示词风格化增强实战指南

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online