# 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.