32 lines
1.2 KiB
Markdown
32 lines
1.2 KiB
Markdown
# AtoCore Capture Plugin for OpenClaw
|
|
|
|
Minimal OpenClaw plugin that mirrors Claude Code's `capture_stop.py` behavior:
|
|
|
|
- watches user-triggered assistant turns
|
|
- uses OpenClaw's cleaned user message (`before_agent_reply.cleanedBody`) so AtoCore stores the real prompt instead of the full inbound wrapper
|
|
- POSTs `prompt` + `response` to `POST /interactions`
|
|
- sets `client="openclaw"`
|
|
- sets `reinforce=true`
|
|
- fails open on network or API errors
|
|
|
|
## Config
|
|
|
|
Optional plugin config:
|
|
|
|
```json
|
|
{
|
|
"baseUrl": "http://dalidou:8100",
|
|
"minPromptLength": 15,
|
|
"maxResponseLength": 50000
|
|
}
|
|
```
|
|
|
|
If `baseUrl` is omitted, the plugin uses `ATOCORE_BASE_URL` or defaults to `http://dalidou:8100`.
|
|
|
|
## Notes
|
|
|
|
- Project detection is intentionally left empty for now. Unscoped capture is acceptable because AtoCore's extraction pipeline handles unscoped interactions.
|
|
- Prompt cleaning is done inside the plugin by reading OpenClaw's finalized cleaned message body instead of the raw prompt-build input.
|
|
- Extraction is **not** part of the capture path. This plugin only records interactions and lets AtoCore reinforcement run automatically.
|
|
- The plugin captures only user-triggered turns, not heartbeats or system-only runs.
|