Skip to content

partme-ai/openclaw-java-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

openclaw-java-sdk

纯 Java 库(无 Spring):使用 Kong Unirest 调用 OpenClaw Gateway POST /hooks/agent(推荐 OpenClawClient#agent,兼容旧方法 OpenClawClient#invokeViaGateway):

HTTP 与 CLI 互不降级。入口类 OpenClawClient

Spring Boot 应用请使用 openclaw-spring-boot-starter

认证与能力边界

配置字段 含义 用于
hooksToken 对应 Gateway hooks.token Webhook:Authorization: Bearer(默认)或 x-openclaw-token(见下行)
hooksUseXOpenclawTokenHeader true 时仅用 x-openclaw-tokenfalse 时用 Authorization: Bearer 与文档「二选一」一致,勿同时发两种头
apiKey(兼容) 未设 hooksToken 时的 Hook 令牌兜底 同上;不是 gateway.auth.token
gatewayAuthToken / gatewayAuthPassword 控制面凭证(如 OPENCLAW_GATEWAY_TOKEN、密码模式) 文档对齐与后续 WS/高级 HTTP;当前 Webhook HTTP 客户端不读取

POST /hooks/agent 请求体(InvokeAgentRequest

Gateway configuration-reference — Hooks 对齐的可选字段:sessionKeydeliverchanneltomodelthinking;未设置的属性不会出现在 JSON 中。sessionKey 需网关配置 hooks.allowRequestSessionKey 等策略,否则可能被拒绝。

OpenClaw 官方外部 App SDKWebSocket 连 Gateway(connect、流式事件、agent.wait 等)。本 Java 库现阶段提供 Webhook HTTP + 本地 openclaw CLI;若需与 TS @openclaw/sdk 对等的 WS 能力,需另行集成或等待本仓库扩展。

CLI 封装与文档映射

全局参数(--dev--profile--container--no-color)请使用 OpenClawCliRequest 并通过 OpenClawCli#execute 调用。

表格怎么读:第一列是官方 CLI 的顶层命令(openclaw <cmd> 里的 <cmd>),在 OpenClawCli都已经有同名方法;第二参数类型为 cli.opts*Options(如 SetupOptionsDaemonOptions;文档未逐 flag 建模的命令提供 *Options.builder().add(...) 作为扩展)。Gateway 的 RPC 场景优先用 GatewayRpcOptions + gatewayHealth / gatewayStatus / gatewayProbeGatewayCommandOptions.builder().health(...),见下文「Gateway RPC」。

OpenClawCli 方法 官方文档
version() / help() CLI Reference(全局)
gateway gateway
daemon daemon
health health
status status
doctor doctor
logs logs
config config
configure configure
setup setup
onboard onboard
docs docs
agent agent
agents agents
sessions sessions
skills skills
memory memory
approvals approvals
channels channels
message message
pairing pairing
qr qr
node node
nodes nodes
devices devices
browser browser
mcp mcp
plugins plugins
cron cron
hooks hooks
webhooks webhooks
flows flows
models models
security security
secrets secrets
sandbox sandbox
backup backup
update update
uninstall uninstall
reset reset
completion completion
tui tui
dashboard dashboard
directory directory
dns dns
system system
voicecall voicecall
clawbot clawbot
acp acp

Gateway RPC 类型化参数(cli.opts

gateway CLI 中「Query a running Gateway」共享的 --url--token--password--timeout--expect-final--json 等,可用 GatewayRpcOptions 构建;GatewayCliArgv 生成 gateway health|status|probe 的参数列表(不含可执行文件名)。

OpenClawCli 提供便捷方法:

  • gatewayHealth(GatewayRpcOptions)openclaw gateway health ...
  • gatewayStatus(GatewayRpcOptions, GatewayCliArgv.GatewayStatusOptions)openclaw gateway status ...
  • gatewayProbe(GatewayRpcOptions, GatewayCliArgv.GatewayProbeOptions)openclaw gateway probe ...

也可自行调用 GatewayCliArgv.health(...) 等得到 List<String>,组装为 GatewayCommandOptions.builder().add(...),或传入 OpenClawCliRequest.arguments("gateway", ...)

发布与 JDK

  • 本模块要求 JDK 17(见 pom.xmlmaven-enforcer-plugin)。
  • 发布快照/正式版:配置 ~/.m2/settings.xml 中与 distributionManagement 匹配的 server 凭据后执行:
mvn clean deploy -DskipTests
  • 发布 openclaw-spring-boot-starter 各 Spring Boot 线时,请在对应分支使用该线要求的 JDK(通常 2.x 为 JDK 8、3.x/4.x 为 17+,以各分支 pom.xml 为准),在 monorepo 根目录执行例如:
./release-starter-versions.sh openclaw-spring-boot-starter 2.7.x 20260516

执行前请确认该分支 pom.xmlopenclaw-java-sdk.version 与已部署的 SDK 版本一致release-starter-versions.sh 主要调整 parent 与构件版本,不一定会改传递依赖版本)。

About

openclaw-java-sdk

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors