
























@@ -42,7 +42,8 @@ Quick rule:
4242| ACP area | Status | Notes |
4343| --------------------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
4444| `initialize`, `newSession`, `prompt`, `cancel` | Implemented | Core bridge flow over stdio to Gateway chat/send + abort. |
45-| `listSessions`, slash commands | Implemented | Session list works against Gateway session state; commands are advertised via `available_commands_update`. |
45+| `listSessions`, slash commands | Implemented | Session list works against Gateway session state with bounded cursor pagination and `cwd` filtering where Gateway session rows carry workspace metadata; commands are advertised via `available_commands_update`. |
46+| `resumeSession`, `closeSession` | Implemented | Resume rebinds an ACP session to an existing Gateway session without replaying history. Close cancels active bridge work, resolves pending prompts as cancelled, and releases bridge session state. |
4647| `loadSession` | Partial | Rebinds the ACP session to a Gateway session key and replays stored user/assistant text history. Tool/system history is not reconstructed yet. |
4748| Prompt content (`text`, embedded `resource`, images) | Partial | Text/resources are flattened into chat input; images become Gateway attachments. |
4849| Session modes | Partial | `session/set_mode` is supported and the bridge exposes initial Gateway-backed session controls for thought level, tool verbosity, reasoning, usage detail, and elevated actions. Broader ACP-native mode/config surfaces are still out of scope. |
@@ -120,6 +121,50 @@ Permission model (client debug mode):
120121- Server-provided `toolCall.kind` is treated as untrusted metadata (not an authorization source).
121122- This ACP bridge policy is separate from ACPX harness permissions. If you run OpenClaw through the `acpx` backend, `plugins.entries.acpx.config.permissionMode=approve-all` is the break-glass "yolo" switch for that harness session.
122123124+## Protocol smoke testing
125+126+For protocol-level debugging, start a Gateway with isolated state and drive
127+`openclaw acp` over stdio with an ACP JSON-RPC client. Cover `initialize`,
128+`session/new`, `session/list` with an absolute `cwd`, `session/resume`,
129+`session/close`, duplicate close, and missing resume.
130+131+The proof should include the advertised lifecycle capabilities, a Gateway-backed
132+session row, update notifications, and the Gateway `sessions.list` log:
133+134+```json
135+{
136+"initialize": {
137+"protocolVersion": 1,
138+"agentCapabilities": {
139+"sessionCapabilities": {
140+"list": {},
141+"resume": {},
142+"close": {}
143+ }
144+ }
145+ },
146+"listSessions": {
147+"sessions": [
148+ {
149+"sessionId": "agent:main:acp-smoke",
150+"cwd": "/path/to/workspace",
151+"_meta": {
152+"sessionKey": "agent:main:acp-smoke",
153+"kind": "direct"
154+ }
155+ }
156+ ],
157+"nextCursor": null
158+ },
159+"notifications": ["session_info_update", "available_commands_update", "usage_update"],
160+"gatewayLogTail": ["[gateway] ready", "[ws] ⇄ res ✓ sessions.list 305ms"]
161+}
162+```
163+164+Avoid using `openclaw gateway call sessions.list` as the only ACP proof. That
165+CLI path may request a fresh-token operator scope upgrade; ACP bridge
166+correctness is proven by ACP stdio frames plus the Gateway `sessions.list` log.
167+123168## How to use this
124169125170Use ACP when an IDE (or other client) speaks Agent Client Protocol and you want
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。