项目背景
OpenClaw Java 是一个基于 Spring Boot 3.3 构建的 AI Agent Gateway 全栈实现,通过 WebSocket 自定义帧协议提供完整的 Agent 接口能力。目前 AI Agent 框架多集中在 Python 和 TypeScript 生态,Java 社区相对缺少成熟的 Agent 运行时方案。本项目旨在为 Java 开发者提供一个工程化的 AI Agent 运行时,支持多模型接入、多渠道对话、工具调用和会话管理等完整能力。
核心功能
Agent 执行引擎
- 多轮对话循环:用户 → 大模型 → 工具调用 → 回复
- 多模型提供者:支持 Claude、GPT 系列、Ollama 本地模型、vLLM 等 OpenAI 兼容接口
- 内置工具链:命令执行 (Exec)、文件读写 (File)、浏览器控制 (Browser)、图片分析 (Image)
- Hooks 系统:内置 Hook + Workspace Hook + 优先级管理
- Memory 系统:记忆索引、关键字搜索
多渠道接入
采用插件化架构,已实现的渠道适配器包括:
- 即时通讯 Bot:私聊/群聊、图片收发、流式输出、会话管理、白名单
- 微信公众号:SHA-1 签名验证、access_token 缓存、客服消息 API
通信协议
采用 req/res/event 三种帧类型的自定义 WebSocket 协议,支持三步安全握手、会话管理、Cron 定时任务、配置热重载等。
{
"type": "req",
"id": "1",
"method": "agent.message",
"params": {"message": "你好"}
}
同时提供标准的 /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 │
└────────────────────────────────────────────────────┘

