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

Isaac Lab 机器人强化学习实战:配置架构、机器人添加流程与调参技巧全解析

Isaac Lab 机器人强化学习实战:配置架构、机器人添加流程与调参技巧全解析

0. 前言 Robot Lab 是基于 NVIDIA Isaac Lab 构建的机器人强化学习扩展库,专注于足式机器人的运动控制任务。该项目由 Ziqi Fan 开发维护,目前已支持包括 Unitree Go2、G1、H1 在内的十余款主流机器人平台。与原生 Isaac Lab 相比,Robot Lab 提供了更加完善的奖励函数库、域随机化配置以及针对不同机器人形态优化的训练参数。 在深入技术细节之前,有必要先理解 Isaac Lab 的基本架构。Isaac Lab 构建于 Isaac Sim 之上,采用分层设计:最底层是 Omniverse 渲染引擎与 PhysX 物理引擎,中间层是 Isaac Sim 提供的机器人仿真接口,最上层则是

AR系列摄像头完整发展历程及参数规格

第一代:基础AR识别传感器(2010-2014) 型号分辨率帧率FOV深度技术应用领域AR03302304x129660fps120°单目SLAM早期AR眼镜AR05212592x194430fps90°结构光工业ARAR05422688x152060fps100°ToF移动ARAR08353840x216030fps80°立体视觉专业AR 第二代:深度感知系列(2015-2018) 型号分辨率帧率FOV深度技术AR特性AR13354208x312030fps120°双摄深度手机ARAR13454224x313660fps130°主动立体VR/AR头显AR14454656x349690fps140°iToF手势识别AR18204896x367230fps100°激光雷达自动驾驶AR 第三代:AI增强系列(2019-2021) 型号分辨率帧率FOVAI特性应用场景AR20205120x3840120fps150°实时SLAM工业ARAR23456480x486060fps160°语义分割医疗ARAR28358192x614430fps170°神经渲染元宇宙A

电子战侦察干扰技术在反无人机领域的技术浅析

电子战侦察干扰技术在反无人机领域的技术浅析

一、技术核心原理:电磁频谱的攻防博弈 电子战侦察干扰技术的核心是通过电磁信号的 “侦 - 识 - 扰” 闭环,破坏无人机的通信链路、导航系统或控制指令传输,实现 “软杀伤” 反制。其中,PDW(脉冲描述字)是连接侦察与干扰的核心数据载体,其生成质量、脉冲检测精度直接决定干扰有效性。技术逻辑优化为: 1.1 电子侦察:PDW 生成的全流程解析 电子侦察的核心产出是标准化 PDW,通过对无人机脉冲信号的多维度参数提取,形成可用于识别与干扰的数字特征集,具体流程如下: 1. 信号采集与预处理 数字信道化接收机(如多相滤波架构)接收无人机射频信号(通信 / 导航频段),通过 IQ 基带采样转换为数字信号,消除噪声与信道失真影响。针对无人机常用的短脉冲信号(部分通信脉冲宽度≤0.1μs),采用多相滤波信道化处理提升接收灵敏度,避免传统接收机的 “兔耳”

如何用腾讯云轻量应用服务器内置OpenClaw应用搭建OpenClaw并接入QQ、飞书机器人,下载skill,开启对话

如何用腾讯云轻量应用服务器内置OpenClaw应用搭建OpenClaw并接入QQ、飞书机器人,下载skill,开启对话

诸神缄默不语-个人技术博文与视频目录 如需OpenClaw下载安装、配置、部署服务可以联系:https://my.feishu.cn/share/base/form/shrcnqjFuoNiBPXjADvRhiUcB1B 我发现腾讯云买服务器可以用QQ钱包,这不得狠狠把我多年来抢的红包狠狠利用一下。 OpenClaw我之前玩了几天,现在把gateway关了,因为我感觉第一是感觉AI对于一些细微的执行逻辑还是绕不明白,而且API太慢了等得我着急,慢得我都不知道它是死了还是只是慢,不如我直接一个古法编程下去开发一个自己的工具。我本来是想拿OpenClaw当时间管理助手的,但是研究了一番感觉它作为整个人完整的时间/项目/文件系统/财务/生活管理助手的潜力还是很大的。但是,也就仅止于潜力了,跟OpenClaw绕记账怎么记实在是把我绕火大了……第二,正如网上一直宣传的那样,这玩意太耗token了,我的混元和Qwen免费额度几乎都秒爆,GLM也给我一下子烧了一大笔。我觉得这不是我的消费水平该玩的东西……主要我也确实没有什么用OpenClaw赚大钱的好idea。 但是我仍然觉得OpenClaw