纯 Java 库(无 Spring):使用 Kong Unirest 调用 OpenClaw Gateway POST /hooks/agent(推荐 OpenClawClient#agent,兼容旧方法 OpenClawClient#invokeViaGateway):
- 任意顶层命令:
OpenClawClient#cli()返回OpenClawCli,每个方法与官方 CLI 文档页一一对应;第二个参数为cli.opts包中与该命令对应的*Options(实现CliSubArgs),例如SetupOptions、AgentOptions。Gateway 另可用GatewayCommandOptions与GatewayRpcOptions。
HTTP 与 CLI 互不降级。入口类 OpenClawClient。
Spring Boot 应用请使用 openclaw-spring-boot-starter。
| 配置字段 | 含义 | 用于 |
|---|---|---|
hooksToken |
对应 Gateway hooks.token |
Webhook:Authorization: Bearer(默认)或 x-openclaw-token(见下行) |
hooksUseXOpenclawTokenHeader |
true 时仅用 x-openclaw-token,false 时用 Authorization: Bearer |
与文档「二选一」一致,勿同时发两种头 |
apiKey(兼容) |
未设 hooksToken 时的 Hook 令牌兜底 |
同上;不是 gateway.auth.token |
gatewayAuthToken / gatewayAuthPassword |
控制面凭证(如 OPENCLAW_GATEWAY_TOKEN、密码模式) |
文档对齐与后续 WS/高级 HTTP;当前 Webhook HTTP 客户端不读取 |
与 Gateway configuration-reference — Hooks 对齐的可选字段:sessionKey、deliver、channel、to、model、thinking;未设置的属性不会出现在 JSON 中。sessionKey 需网关配置 hooks.allowRequestSessionKey 等策略,否则可能被拒绝。
OpenClaw 官方外部 App SDK 以 WebSocket 连 Gateway(connect、流式事件、agent.wait 等)。本 Java 库现阶段提供 Webhook HTTP + 本地 openclaw CLI;若需与 TS @openclaw/sdk 对等的 WS 能力,需另行集成或等待本仓库扩展。
全局参数(--dev、--profile、--container、--no-color)请使用 OpenClawCliRequest 并通过 OpenClawCli#execute 调用。
表格怎么读:第一列是官方 CLI 的顶层命令(openclaw <cmd> 里的 <cmd>),在 OpenClawCli 里都已经有同名方法;第二参数类型为 cli.opts 中 *Options(如 SetupOptions、DaemonOptions;文档未逐 flag 建模的命令提供 *Options.builder().add(...) 作为扩展)。Gateway 的 RPC 场景优先用 GatewayRpcOptions + gatewayHealth / gatewayStatus / gatewayProbe 或 GatewayCommandOptions.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 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 17(见
pom.xml中maven-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.xml 中 openclaw-java-sdk.version 与已部署的 SDK 版本一致(release-starter-versions.sh 主要调整 parent 与构件版本,不一定会改传递依赖版本)。