mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 10:30:44 +00:00
build(plugins): externalize acpx release packages
This commit is contained in:
@@ -1016,7 +1016,7 @@ Notes:
|
||||
- `enabled`: global ACP feature gate (default: `true`; set `false` to hide ACP dispatch and spawn affordances).
|
||||
- `dispatch.enabled`: independent gate for ACP session turn dispatch (default: `true`). Set `false` to keep ACP commands available while blocking execution.
|
||||
- `backend`: default ACP runtime backend id (must match a registered ACP runtime plugin).
|
||||
If `plugins.allow` is set, include the backend plugin id (for example `acpx`) or the bundled default plugin will not load.
|
||||
Install the backend plugin first, and if `plugins.allow` is set, include the backend plugin id (for example `acpx`) or the ACP backend will not load.
|
||||
- `defaultAgent`: fallback ACP target agent id when spawns do not specify an explicit target.
|
||||
- `allowedAgents`: allowlist of agent ids permitted for ACP runtime sessions; empty means no additional restriction.
|
||||
- `maxConcurrentSessions`: maximum concurrently active ACP sessions.
|
||||
|
||||
@@ -7,7 +7,7 @@ read_when:
|
||||
- You need the exact metric names, span names, or attribute shapes to build dashboards or alerts
|
||||
---
|
||||
|
||||
OpenClaw exports diagnostics through the bundled `diagnostics-otel` plugin
|
||||
OpenClaw exports diagnostics through the official `diagnostics-otel` plugin
|
||||
using **OTLP/HTTP (protobuf)**. Any collector or backend that accepts OTLP/HTTP
|
||||
works without code changes. For local file logs and how to read them, see
|
||||
[Logging](/logging).
|
||||
@@ -27,6 +27,12 @@ works without code changes. For local file logs and how to read them, see
|
||||
|
||||
## Quick start
|
||||
|
||||
For packaged installs, install the plugin first:
|
||||
|
||||
```bash
|
||||
openclaw plugins install @openclaw/diagnostics-otel
|
||||
```
|
||||
|
||||
```json5
|
||||
{
|
||||
plugins: {
|
||||
|
||||
@@ -266,7 +266,7 @@ Docker notes:
|
||||
- The Docker runner lives at `scripts/test-live-acp-bind-docker.sh`.
|
||||
- By default, it runs the ACP bind smoke against the aggregate live CLI agents in sequence: `claude`, `codex`, then `gemini`.
|
||||
- Use `OPENCLAW_LIVE_ACP_BIND_AGENTS=claude`, `OPENCLAW_LIVE_ACP_BIND_AGENTS=codex`, `OPENCLAW_LIVE_ACP_BIND_AGENTS=droid`, `OPENCLAW_LIVE_ACP_BIND_AGENTS=gemini`, or `OPENCLAW_LIVE_ACP_BIND_AGENTS=opencode` to narrow the matrix.
|
||||
- It sources `~/.profile`, stages the matching CLI auth material into the container, then installs the requested live CLI (`@anthropic-ai/claude-code`, `@openai/codex`, Factory Droid via `https://app.factory.ai/cli`, `@google/gemini-cli`, or `opencode-ai`) if missing. The ACP backend itself is the bundled embedded `acpx/runtime` package from the `acpx` plugin.
|
||||
- It sources `~/.profile`, stages the matching CLI auth material into the container, then installs the requested live CLI (`@anthropic-ai/claude-code`, `@openai/codex`, Factory Droid via `https://app.factory.ai/cli`, `@google/gemini-cli`, or `opencode-ai`) if missing. The ACP backend itself is the embedded `acpx/runtime` package from the official `acpx` plugin.
|
||||
- The Droid Docker variant stages `~/.factory` for settings, forwards `FACTORY_API_KEY`, and requires that API key because local Factory OAuth/keyring auth is not portable into the container. It uses ACPX's built-in `droid exec --output-format acp` registry entry.
|
||||
- The OpenCode Docker variant is a strict single-agent regression lane. It writes a temporary `OPENCODE_CONFIG_CONTENT` default model from `OPENCLAW_LIVE_ACP_BIND_OPENCODE_MODEL` (default `opencode/kimi-k2.6`) after sourcing `~/.profile`, and `pnpm test:docker:live-acp-bind:opencode` requires a bound assistant transcript instead of accepting the generic post-bind skip.
|
||||
- Direct `acpx` CLI calls are only a manual/workaround path for comparing behavior outside the Gateway. The Docker ACP bind smoke exercises OpenClaw's embedded `acpx` runtime backend.
|
||||
|
||||
@@ -161,13 +161,13 @@ export OTEL_SERVICE_NAME="openclaw-gateway"
|
||||
./scripts/docker/setup.sh
|
||||
```
|
||||
|
||||
The official OpenClaw Docker release image includes the bundled
|
||||
`diagnostics-otel` plugin source. To enable export, allow and enable the
|
||||
`diagnostics-otel` plugin in config, then set
|
||||
`diagnostics.otel.enabled=true` or use the config example in
|
||||
[OpenTelemetry export](/gateway/opentelemetry). Collector auth headers are
|
||||
configured through `diagnostics.otel.headers`, not through Docker environment
|
||||
variables.
|
||||
Install the official `@openclaw/diagnostics-otel` plugin in packaged Docker
|
||||
installs before enabling export. Custom source-built images can still include
|
||||
the local plugin source with `OPENCLAW_EXTENSIONS=diagnostics-otel`. To enable
|
||||
export, allow and enable the `diagnostics-otel` plugin in config, then set
|
||||
`diagnostics.otel.enabled=true` or use the config example in [OpenTelemetry
|
||||
export](/gateway/opentelemetry). Collector auth headers are configured through
|
||||
`diagnostics.otel.headers`, not through Docker environment variables.
|
||||
|
||||
Prometheus metrics use the already-published Gateway port. Enable the
|
||||
`diagnostics-prometheus` plugin, then scrape:
|
||||
|
||||
@@ -126,8 +126,15 @@ See [Configuration Reference](/gateway/configuration-reference).
|
||||
|
||||
## Plugin setup for acpx backend
|
||||
|
||||
Fresh installs ship the bundled `acpx` runtime plugin enabled by default, so ACP
|
||||
usually works without a manual plugin install step.
|
||||
Packaged installs use the official `@openclaw/acpx` runtime plugin for ACP.
|
||||
Install and enable it before using ACP harness sessions:
|
||||
|
||||
```bash
|
||||
openclaw plugins install @openclaw/acpx
|
||||
openclaw config set plugins.entries.acpx.enabled true
|
||||
```
|
||||
|
||||
Source checkouts can also use the local workspace plugin after `pnpm install`.
|
||||
|
||||
Start with:
|
||||
|
||||
@@ -136,10 +143,10 @@ Start with:
|
||||
```
|
||||
|
||||
If you disabled `acpx`, denied it via `plugins.allow` / `plugins.deny`, or want
|
||||
to switch to a local development checkout, use the explicit plugin path:
|
||||
to switch back to the packaged plugin, use the explicit package path:
|
||||
|
||||
```bash
|
||||
openclaw plugins install acpx
|
||||
openclaw plugins install @openclaw/acpx
|
||||
openclaw config set plugins.entries.acpx.enabled true
|
||||
```
|
||||
|
||||
@@ -157,7 +164,7 @@ Then verify backend health:
|
||||
|
||||
### acpx command and version configuration
|
||||
|
||||
By default, the bundled `acpx` plugin registers the embedded ACP backend without
|
||||
By default, the `acpx` plugin registers the embedded ACP backend without
|
||||
spawning an ACP agent during Gateway startup. Run `/acp doctor` for an explicit
|
||||
live probe. Set `OPENCLAW_ACPX_RUNTIME_STARTUP_PROBE=1` only when you need the
|
||||
Gateway to probe the configured agent at startup.
|
||||
@@ -243,7 +250,7 @@ What this does:
|
||||
|
||||
### Runtime timeout configuration
|
||||
|
||||
The bundled `acpx` plugin defaults embedded runtime turns to a 120-second
|
||||
The `acpx` plugin defaults embedded runtime turns to a 120-second
|
||||
timeout. This gives slower harnesses such as Gemini CLI enough time to complete
|
||||
ACP startup and initialization. Override it if your host needs a different
|
||||
runtime limit:
|
||||
|
||||
@@ -39,10 +39,15 @@ directly to existing OpenClaw channel conversations, use
|
||||
|
||||
## Does this work out of the box?
|
||||
|
||||
Usually yes. Fresh installs ship the bundled `acpx` runtime plugin enabled
|
||||
by default with a plugin-local pinned `acpx` binary that OpenClaw probes
|
||||
and self-repairs immediately after the Gateway HTTP listener is live. Run
|
||||
`/acp doctor` for a readiness check.
|
||||
Yes, after installing the official ACP runtime plugin:
|
||||
|
||||
```bash
|
||||
openclaw plugins install @openclaw/acpx
|
||||
openclaw config set plugins.entries.acpx.enabled true
|
||||
```
|
||||
|
||||
Source checkouts can use the local `extensions/acpx` workspace plugin after
|
||||
`pnpm install`. Run `/acp doctor` for a readiness check.
|
||||
|
||||
OpenClaw only teaches agents about ACP spawning when ACP is **truly
|
||||
usable**: ACP must be enabled, dispatch must not be disabled, the current
|
||||
@@ -53,8 +58,8 @@ an unavailable backend.
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="First-run gotchas">
|
||||
- If `plugins.allow` is set, it is a restrictive plugin inventory and **must** include `acpx`; otherwise the bundled default is intentionally blocked and `/acp doctor` reports the missing allowlist entry.
|
||||
- The bundled Codex ACP adapter is staged with the `acpx` plugin and launched locally when possible.
|
||||
- If `plugins.allow` is set, it is a restrictive plugin inventory and **must** include `acpx`; otherwise the installed ACP backend is intentionally blocked and `/acp doctor` reports the missing allowlist entry.
|
||||
- The Codex ACP adapter is staged with the `acpx` plugin and launched locally when possible.
|
||||
- Other target harness adapters may still be fetched on demand with `npx` the first time you use them.
|
||||
- Vendor auth still has to exist on the host for that harness.
|
||||
- If the host has no npm or network access, first-run adapter fetches fail until caches are pre-warmed or the adapter is installed another way.
|
||||
@@ -86,7 +91,7 @@ should call those tools directly.
|
||||
|
||||
## Supported harness targets
|
||||
|
||||
With the bundled `acpx` backend, use these harness ids as `/acp spawn <id>`
|
||||
With the `acpx` backend, use these harness ids as `/acp spawn <id>`
|
||||
or `sessions_spawn({ runtime: "acp", agentId: "<id>" })` targets:
|
||||
|
||||
| Harness id | Typical backend | Notes |
|
||||
@@ -232,7 +237,7 @@ See also [Sub-agents](/tools/subagents).
|
||||
For Claude Code through ACP, the stack is:
|
||||
|
||||
1. OpenClaw ACP session control plane.
|
||||
2. Bundled `acpx` runtime plugin.
|
||||
2. Official `@openclaw/acpx` runtime plugin.
|
||||
3. Claude ACP adapter.
|
||||
4. Claude-side runtime/session machinery.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user