5.2 KiB
Warp ACP Ops
Current Phase
Phase 1 standardizes Warp-backed ACP usage for opencode only.
Current Secret Source
Primary secret file:
~/.openclaw/.env
Cluster rule:
mac-5,mac-6, andmac-7must each keep a local~/.openclaw/.envif they may locally run Warp-backed ACP harnesses.- Do not rely on
mac-5secrets propagating tomac-6/mac-7at runtime. - Wrapper scripts should always read the local machine's own
~/.openclaw/.env.
Current placeholder variables:
WARP_INFINI_API_KEYWARP_INFINI_BASE_URLWARP_CKIMI_API_KEYWARP_CKIMI_BASE_URL
This file should contain real values locally, but memory documents must never store actual secrets.
Why ~/.openclaw/.env instead of ~/.zshrc
Observed behavior on mac-5: current OpenClaw / exec / ACP-related process paths do not reliably inherit environment variables from ~/.zshrc. Therefore Warp provider secrets must be loaded explicitly by wrapper scripts or service environment, not assumed from interactive shell startup.
Planned opencode ACP Agent Ids
Use provider-qualified names, not model-only names.
opencode-warp-infini-kimiopencode-warp-infini-minimaxopencode-warp-infini-glm
Future provider examples:
opencode-warp-ckimi-kimi
Wrapper Policy
Each Warp-backed opencode ACP agent should launch through a dedicated wrapper script.
Suggested wrapper locations:
~/.local/bin/opencode-warp-infini-kimi-acp~/.local/bin/opencode-warp-infini-minimax-acp~/.local/bin/opencode-warp-infini-glm-acp
Each wrapper should:
- load
~/.openclaw/.env - verify required env vars exist
- fix provider + model mapping
- run
opencode-ai acp
Active Default Routing Baseline (2026-03-18)
Current opencode default-model routing baseline:
mac-5- provider label:
infini - base URL:
https://cloud.infini-ai.com/maas/coding/v1 - model id:
kimi-k2.5 - default model:
infini/kimi-k2.5 - rationale: removed the temporary
ckimi / kimi-for-codingroute becauseKimi For Codingis currently limited to coding-agent products and is not a reliableopencodedefault path
- provider label:
mac-6- provider label:
vllm - base URL:
http://100.64.0.5:8000/v1 - model id:
Qwen3.5-27B - default model string:
vllm/Qwen3.5-27B
- provider label:
mac-7- provider label:
vllm - base URL:
http://100.64.0.5:8000/v1 - model id:
Qwen3.5-27B - default model string:
vllm/Qwen3.5-27B
- provider label:
Superseded assumption:
- Do not continue to describe the cluster rule as "each machine defaults to its own local model" for
opencodeACP. - That older description was true for the earlier
oMLX-first phase but is no longer the active default-policy baseline.
Validation snapshot:
mac-6ACP test result:MAC6_VLLM_ACP_OKmac-7ACP test result:MAC7_VLLM_ACP_OK
Key Files
OpenClaw
~/.openclaw/openclaw.json- purpose: allow ACP agent ids and overall runtime policy
acpx
~/.acpx/config.json- purpose: map ACP
agentIdvalues to wrapper commands
- purpose: map ACP
opencode
~/.config/opencode/opencode.json- purpose: harness provider/model behavior where needed
secrets
~/.openclaw/.env- purpose: provider secret and base URL storage
Fallback Operating Rule
If a Warp-backed provider fails due to quota exhaustion, weekly limit exhaustion, rate limiting, or model unavailability during an ACP task, do not treat that as a dead end. Route to the documented fallback.
Fallback order:
- same model, other provider
- same provider, adjacent model
- other provider, adjacent model
Example Fallback Skeleton
For opencode-warp-infini-kimi:
- primary:
infini / kimi-k2.5 - fallback candidate:
ckimi / kimi-k2.5 - fallback candidate:
infini / glm-5 - fallback candidate:
infini / minimax-m2.5
For opencode-warp-infini-glm:
- primary:
infini / glm-5 - fallback candidate: another provider with
glm-5 - fallback candidate:
infini / kimi-k2.5 - fallback candidate:
infini / minimax-m2.5
Continuation Rule for Limited / Failed ACP Runs
If an ACP opencode run is interrupted by provider-side request limits or similar provider failures, the replacement run should continue with context rather than restart from zero.
Required operator behavior:
- classify the failure as provider-side (rate limit / quota / upstream unavailable) vs task-side
- summarize the interrupted task before switching agents
- start a new ACP run with the next fallback Warp agent
- provide the summary so the new run can continue remaining work
Minimum summary fields:
- original task objective
- work completed so far
- files touched
- relevant error / provider limit signal
- remaining work
Testing Checklist (for later execution)
- Confirm
~/.openclaw/.envexists on each machine - Confirm wrapper can load env successfully
- Confirm
opencodedirect provider call works - Confirm ACP agent alias works through
acpx - Confirm OpenClaw can invoke the ACP agent id
- Record success/failure in daily notes
Documentation Rule
Whenever a new Warp provider is added:
- add new
WARP_<PROVIDER>_*variable names to the ops doc - add/update fallback chains in the long-term project doc
- add the corresponding
opencode-warp-<provider>-<model>naming entry - document the change in daily notes