83 lines
2.4 KiB
Markdown
83 lines
2.4 KiB
Markdown
# OpenClaw Patch Inventory (PoC)
|
|
|
|
## Purpose
|
|
|
|
This file records the exact runtime modifications currently used to make the Telegram + OpenClaw reply-end-controls PoC work inside `openclawtest`.
|
|
|
|
It is not the final architecture.
|
|
|
|
It exists so the current PoC does not depend on vague memory or hand-wavy descriptions.
|
|
|
|
## Environment
|
|
|
|
- User: `openclawtest`
|
|
- OpenClaw install root:
|
|
- `/home/openclawtest/.nvm/versions/node/v22.22.2/lib/node_modules/openclaw/dist`
|
|
|
|
## Patched runtime files
|
|
|
|
### 1. `send-sxDwUGaO.js`
|
|
|
|
Purpose:
|
|
|
|
- inject default Telegram inline buttons into assistant replies for PoC validation
|
|
|
|
Observed patch point:
|
|
|
|
- line containing:
|
|
- `buildInlineKeyboard(opts.buttons ?? [[{ text: "A. 繼續", callback_data: "rec:continue" }, { text: "B. 就這樣吧,不需要額外處理", callback_data: "rec:stop" }]])`
|
|
|
|
What it changes:
|
|
|
|
- if no explicit Telegram buttons are supplied, PoC default reply-end buttons are attached
|
|
|
|
### 2. `bot-Ce301bOE.js`
|
|
|
|
Purpose:
|
|
|
|
- handle reply-end callback data
|
|
- persist callback choice
|
|
- visibly update buttons
|
|
- send callback acknowledgement
|
|
- read stop state on later inbound messages and suppress proactive continuation behavior
|
|
|
|
Observed patch points:
|
|
|
|
- raw callback debug file path:
|
|
- `reply-end-debug.log`
|
|
- persisted state file path:
|
|
- `reply-end-controls.json`
|
|
- callback click handling:
|
|
- `reply-end-controls: ${choice} clicked ...`
|
|
- resolved button states:
|
|
- `✅ A. 繼續`
|
|
- `⏹ B. 就這樣吧,不需要額外處理`
|
|
- callback acknowledgement replies:
|
|
- `reply-end-controls: continue received`
|
|
- `reply-end-controls: stop received`
|
|
- inbound stop-state behavior injection:
|
|
- if stored state for this chat is `stop`, append a strong system-style instruction before agent execution to suppress proactive continuation
|
|
|
|
## Persisted files created by the PoC
|
|
|
|
These are written under the OpenClaw state dir:
|
|
|
|
- `~/.openclaw/reply-end-debug.log`
|
|
- `~/.openclaw/reply-end-controls.json`
|
|
|
|
## What this inventory is for
|
|
|
|
This inventory supports the next implementation phase:
|
|
|
|
- building a reproducible patch set
|
|
- defining apply/rollback scripts
|
|
- replacing direct runtime edits with a cleaner integration path
|
|
|
|
## What this inventory is not
|
|
|
|
- not a production implementation guide
|
|
- not a stable plugin API
|
|
- not a guarantee that these exact line offsets will survive OpenClaw upgrades
|
|
|
|
The purpose is simply to capture what currently makes the PoC work.
|