Add end-to-end installation guide for /ac

This commit is contained in:
Alice (OpenClaw)
2026-04-23 12:17:21 +08:00
parent 0dac3ec76b
commit 3624dff1d3
3 changed files with 294 additions and 3 deletions

View File

@@ -8,6 +8,8 @@ Reusable OpenClaw skill for `/auto-continue` (`/ac`) session-level auto-followup
### 這個 repo 內有什麼 ### 這個 repo 內有什麼
- `openclaw-auto-continue/SKILL.md`**給 Agent 看的** skill 指引 - `openclaw-auto-continue/SKILL.md`**給 Agent 看的** skill 指引
- `openclaw-auto-continue/references/installation-guide.md`**給要落地 `/ac` 指令的人 / agent 看** 的安裝指南
- `openclaw-auto-continue/references/runtime-integration.md``/ac` runtime integration 說明
- `openclaw-auto-continue.skill` — 已打包好的 skill 檔 - `openclaw-auto-continue.skill` — 已打包好的 skill 檔
### 其他電腦怎麼用 ### 其他電腦怎麼用
@@ -97,7 +99,8 @@ cp -R openclaw-auto-continue ~/.openclaw/workspace/skills/
一句話: 一句話:
- `README.md` 是給人 / operator 看的 - `README.md` 是給人 / operator 看的
- `openclaw-auto-continue/SKILL.md` 是給 agent 看的 - `openclaw-auto-continue/SKILL.md` 是給 agent 看的
- `references/runtime-integration.md` 是給要落地 runtime 的人 / agent 看的 - `references/installation-guide.md` 是給要從頭做到尾落地 `/ac` 的人 / agent 看的
- `references/runtime-integration.md` 是給要理解 runtime 接法的人 / agent 看的
--- ---
@@ -105,6 +108,8 @@ cp -R openclaw-auto-continue ~/.openclaw/workspace/skills/
### What this repo contains ### What this repo contains
- `openclaw-auto-continue/SKILL.md` — the **agent-facing** skill instructions - `openclaw-auto-continue/SKILL.md` — the **agent-facing** skill instructions
- `openclaw-auto-continue/references/installation-guide.md` — end-to-end guide for making `/ac` real on another machine
- `openclaw-auto-continue/references/runtime-integration.md` — runtime integration notes for `/ac`
- `openclaw-auto-continue.skill` — packaged skill artifact - `openclaw-auto-continue.skill` — packaged skill artifact
### For humans: how to use on another computer ### For humans: how to use on another computer
@@ -194,4 +199,5 @@ If an OpenClaw agent is deciding how to use this repo:
In short: In short:
- `README.md` is the human/operator guide - `README.md` is the human/operator guide
- `openclaw-auto-continue/SKILL.md` is the agent-facing guide - `openclaw-auto-continue/SKILL.md` is the agent-facing guide
- `references/runtime-integration.md` is for runtime integration work - `references/installation-guide.md` is for end-to-end `/ac` installation work
- `references/runtime-integration.md` is for runtime integration details

View File

@@ -124,7 +124,7 @@ A practical verification flow:
3. Give the agent a multi-step but low-risk task 3. Give the agent a multi-step but low-risk task
4. Confirm the agent continues without waiting after every intermediate step 4. Confirm the agent continues without waiting after every intermediate step
If the target machine does not recognize `/ac`, read `references/runtime-integration.md` and treat it as a runtime integration problem, not a skill-discovery problem. If the target machine does not recognize `/ac`, read `references/installation-guide.md` first, then `references/runtime-integration.md` if deeper implementation detail is needed. Treat it as a runtime integration problem, not a skill-discovery problem.
If you need concrete implementation evidence, the verified live installation path was: If you need concrete implementation evidence, the verified live installation path was:
- `/home/chchang/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/dist/commands-handlers.runtime-Akj_Dqoi.js` - `/home/chchang/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/dist/commands-handlers.runtime-Akj_Dqoi.js`

View File

@@ -0,0 +1,285 @@
# Installation Guide: build `/auto-continue` (`/ac`) into a target OpenClaw runtime
This guide is written so an agent can follow it end-to-end and add `/auto-continue` (`/ac`) support to another OpenClaw machine.
Use this when the target machine has the skill/docs but the live runtime does not actually recognize `/ac`.
## Goal
After following this guide, the target machine should support:
- `/ac status`
- `/ac on`
- `/ac off`
- `/auto-continue status`
- `/auto-continue on`
- `/auto-continue off`
with session-level behavior equivalent to:
- on:
- `queueMode = "followup"`
- `queueDebounceMs = 0`
- `queueCap = 1`
- `queueDrop = "summarize"`
- off:
- remove those session queue fields
- clear queued followup/lane items for that session
---
## Phase 0 — Preconditions
Before editing code, confirm all of these:
1. You can access the target machine's OpenClaw installation.
2. You know which installation is actually running.
3. You can restart the OpenClaw service/process after changes.
4. You can test from a real chat surface after deployment.
If any of these are unknown, stop and resolve them first.
---
## Phase 1 — Locate the live runtime
Do **not** assume the checked-out repo is the runtime.
Find the actual OpenClaw installation used by the running service. On the verified machine, the live handler existed at:
- `/home/chchang/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/dist/commands-handlers.runtime-Akj_Dqoi.js`
What matters is not this exact path, but the principle:
- identify the real running install
- patch the command handler in the live runtime or rebuild/redeploy the source that produces it
### Verification checklist
Before patching, confirm:
- which binary/service launches OpenClaw
- which code/dist that service is using
- whether slash commands are already handled in that runtime
---
## Phase 2 — Find the command handler entry point
Search the target runtime for the existing slash-command dispatch logic.
You need the place where incoming messages/commands are parsed and existing commands are handled.
Typical target shape:
- a function that receives inbound text
- a branch that recognizes slash commands
- session lookup/load logic
- persistence/save logic for session state
If the target runtime already has command handlers, add `/auto-continue` and `/ac` there.
---
## Phase 3 — Add `/ac` command recognition
Add recognition for both:
- `/auto-continue`
- `/ac`
and their argument forms:
- `/ac on`
- `/ac off`
- `/ac status`
- `/auto-continue on`
- `/auto-continue off`
- `/auto-continue status`
### Parse rule
Normalize input into one of:
- `status`
- `on`
- `off`
Recommended default:
- if no argument is supplied, treat it as `status`
---
## Phase 4 — Add handler behavior
Implement behavior equivalent to the following pseudocode:
```js
if (command is /ac or /auto-continue) {
authorizeSender();
const action = parseAction(arg); // status | on | off
const sessionEntry = await loadSessionEntry(sessionKey);
if (action === 'status') {
return replyWithCurrentQueueMode(sessionEntry);
}
if (action === 'on') {
sessionEntry.queueMode = 'followup';
sessionEntry.queueDebounceMs = 0;
sessionEntry.queueCap = 1;
sessionEntry.queueDrop = 'summarize';
await saveSessionEntry(sessionEntry);
return replyEnabled();
}
if (action === 'off') {
delete sessionEntry.queueMode;
delete sessionEntry.queueDebounceMs;
delete sessionEntry.queueCap;
delete sessionEntry.queueDrop;
await saveSessionEntry(sessionEntry);
await clearQueuedItemsForSession(sessionKey);
return replyDisabled();
}
}
```
### Required semantics
#### `status`
Return enough information to confirm whether the session is:
- default / unset, or
- using `followup`
#### `on`
Must persist session settings so the behavior survives beyond the immediate in-memory branch.
#### `off`
Must:
- remove the session-level queue config
- clear queued followup/lane items for that session so old queued actions do not keep running
---
## Phase 5 — Preserve safety boundaries
`/ac` must **not** bypass:
- approvals
- safety checks
- destructive action confirmation
- decision gates that still require the user
This is a queue/followup behavior switch, not unrestricted autonomy.
---
## Phase 6 — Deploy the change
Use the deployment path appropriate for the target machine:
### Option A — patch live dist directly
Use this only when you intentionally maintain a live dist patch.
### Option B — patch source, then rebuild/redeploy
Preferred when the target machine is managed from source.
After deployment:
1. restart the OpenClaw process/service
2. confirm the restarted service is using the new runtime
3. verify the target chat surface still routes commands normally
---
## Phase 7 — Verify on a real chat
Use a real chat/session on the target machine.
### Test 1 — command recognition
Run:
```text
/ac status
```
Expected:
- no unknown-command failure
- a status reply describing the current queue mode
### Test 2 — enable
Run:
```text
/ac on
/ac status
```
Expected:
- status now shows followup mode or equivalent enabled state
### Test 3 — practical behavior
Give a low-risk, multi-step task.
Expected:
- the agent is more likely to continue into the next step
- the agent pauses less between intermediate steps
- approvals/safety still stop it when appropriate
### Test 4 — disable
Run:
```text
/ac off
/ac status
```
Expected:
- status returns to default/unset behavior
- any queued followup work for that session is cleared
---
## Phase 8 — Troubleshooting
### Problem: `/ac` is unknown
Likely causes:
- you edited the wrong installation
- service restarted into a different runtime
- the surface does not pass through slash commands
- the handler was added in source but not rebuilt/deployed
### Problem: `/ac status` works but `/ac on` has no effect
Check:
- whether the session entry is actually being saved
- whether you are testing the same session you enabled
- whether queue fields are being overwritten elsewhere
### Problem: `/ac off` replies successfully but the agent still continues
Check:
- whether queued followup/lane items were really cleared
- whether a different queue path exists in this runtime
- whether the next message was already in flight before disable completed
### Problem: it still pauses sometimes even when enabled
That can be normal if the next step is blocked by:
- approval requirements
- safety checks
- destructive actions
- explicit user choice points
---
## Acceptance criteria
Do not claim completion unless all are true:
1. `/ac status` is recognized on the target machine
2. `/ac on` changes the session to followup mode
3. `/ac off` removes that mode
4. queued followup items are cleared on disable
5. a real chat test confirms improved auto-continue behavior
6. approvals/safety behavior is unchanged
---
## One-line rule
**The skill teaches usage, but this installation guide is the procedure that makes `/ac` real on another machine.**