OpenClaw scheduled tasks (DXF email watcher, calendar reminder pings) fire agent sessions with prompts that begin '[cron:<id> ...]'. These were all getting captured as AtoCore interactions — 45 out of 50 recent interactions today were cron noise, not real user turns. Filter at the plugin level: before_agent_start ignores any prompt starting with '[cron:'. The gateway has been restarted with the updated plugin. Impact: graduation, triage, and context pipelines stop seeing noise from OpenClaw's own internal automation. Only real user turns (via chat channels) feed the brain going forward. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
AtoCore Capture Plugin for OpenClaw
Minimal OpenClaw plugin that mirrors Claude Code's capture_stop.py behavior:
- watches user-triggered assistant turns
- POSTs
prompt+responsetoPOST /interactions - sets
client="openclaw" - sets
reinforce=true - fails open on network or API errors
Config
Optional plugin config:
{
"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.
- 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.