OpenClaw Java — 用 Java 全栈实现一个 AI Agent Gateway

OpenClaw Java — 用 Java 全栈实现一个 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 社区相对缺少成熟的 Agent 运行时方案。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# 配置模型(二选一)exportOPENAI_API_KEY=sk-xxx exportOLLAMA_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 架构设计,都欢迎来看看源码。

欢迎 Star、提 Issue 和 PR!


License: MIT

Read more

旧电脑秒变 AI 员工:OpenClaw 本地部署教程(含环境配置 + 插件开发 + 常见坑)

旧电脑秒变 AI 员工:OpenClaw 本地部署教程(含环境配置 + 插件开发 + 常见坑)

前言 本文基于最新OpenClaw版本编写,适配电脑低配置场景(最低2vCPU+2GiB内存+40GiB SSD),兼容Windows 10/11(优先WSL2)、Ubuntu 20.04+系统,全程纯操作指令,覆盖环境配置、本地部署、插件开发、高频坑排查。核心解决部署卡顿、国内网络适配、插件开发无思路、报错无法排查四大痛点,全程适配国内网络(国内镜像源)、国内大模型(通义千问、阿里云百炼等),无需海外代理,可稳定运行实现自动化办公(文件处理、IM对接、任务调度等)。 一、前置准备(适配优化) 1.1 硬件要求(最低适配) * CPU:Intel i3 4代+/AMD Ryzen 3 2000+(支持虚拟化,

By Ne0inhk
基于飞算JavaAI的学生成绩综合统计分析系统

基于飞算JavaAI的学生成绩综合统计分析系统

第一章:项目概述与背景 1.1 项目背景与意义 在教育信息化飞速发展的今天,学生成绩管理已成为学校教学管理的核心环节。传统的学生成绩管理多依赖于手工操作或基础的信息管理系统,存在数据处理效率低、统计分析功能薄弱、数据可视化缺失等问题。随着大数据技术的发展,教育领域对数据驱动的决策支持需求日益增长,一个能够提供综合统计分析功能的学生成绩管理系统显得尤为重要。 学生成绩综合统计分析系统旨在通过对学生成绩数据的深度挖掘和多维度分析,为教师、学生和管理者提供全面的数据支持。系统不仅能够实现基础的成绩录入和查询,更重要的是能够识别学习趋势、发现教学问题、预测学业表现,从而为个性化教学和精准教育干预提供科学依据。 1.2 飞算JavaAI平台介绍 飞算JavaAI是一款智能代码生成平台,采用人工智能技术辅助Java项目开发。 飞算JavaAI的核心功能模块,紧密围绕“高效、智能、安全”的Java开发全流程展开:左侧聚焦智能交互,包含三大实用工具——编程智能体可自动调用工具执行编程任务(如自动生成基础代码、辅助调试),智能问答提供实时技术答疑(快速解决开发中的疑难问题),Java Cha

By Ne0inhk
Flutter 三方库 langchain_google 的鸿蒙化适配指南 - 链接 Gemini 智慧中枢、LangChain AI 实战、鸿蒙级智能应用专家

Flutter 三方库 langchain_google 的鸿蒙化适配指南 - 链接 Gemini 智慧中枢、LangChain AI 实战、鸿蒙级智能应用专家

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 langchain_google 的鸿蒙化适配指南 - 链接 Gemini 智慧中枢、LangChain AI 实战、鸿蒙级智能应用专家 在鸿蒙跨平台应用迈向“智能化”的今天,接入生成式 AI(AIGC)已不再是加分项,而是必选项。如果你想在鸿蒙端利用 Google Gemini 的强大推理能力打造智能助手、自动化翻译或垂直领域 RAG 系统。今天我们要深度解析的 langchain_google——一个通过 LangChain 标准协议封装的 Google AI 适配器,正是帮你构建“大模型大脑”的核心插件。 前言 langchain_google 是 LangChain.

By Ne0inhk
AI与单片机之:STM32上运行AI大模型的四种方案!(含案例,建议收藏)

AI与单片机之:STM32上运行AI大模型的四种方案!(含案例,建议收藏)

前几天小编写了2篇文章 “为什么AI会改变单片机的未来?” 单片机上如何运行AI?单片机如何“学会思考”之TinyML崛起!(含案例,建议收藏), 引起了非常多的留言、关注和加群讨论。但是,仍然有读者朋友给小编留言,能否整理一些关于比较常用芯片比如STM32实用AI大模型的案例。为了满足粉丝朋友的诉求,小编整理了“在STM32单片机上运行AI大模型的”真实案例。 从粉丝的一个问题引出本文的思考:AI 模型能跑在 STM32 上吗? 一:先说结论 先说结论:不仅能跑,还一共有四种方案。 方案一:STM32官方提供的 STM32Cube.AI(X-CUBE-AI) 其实原理是我们把在 PC 上训练好的神经网络自动转换成可在 MCU 上运行的 C 库;然后在自己的软件/代码工程中调用已经编译产生的C库。 方案二:直接用 TensorFlow Lite Micro(TFLM)+ CMSIS-NN 在 STM32

By Ne0inhk