OpenClaw Singapore March Meetup
I showed people setting up a personal AI assistant how to shape its responses and make regular news updates useful rather than repetitive.
SQ Collective · Singapore · 4 March 2026
An Assistant That Knows What Matters
I configured a personal assistant with a distinctive voice, preferences, and boundaries: check existing information before asking for help, keep private material out of group conversations, and ask before sending email or posting publicly. For its regular news updates, I narrowed the topics to AI engineering and consumer electronics.
The talk also examines what the assistant actually sent. The example conversation contained repeated stories and duplicate messages even after changes were proposed. It shows why useful instructions are only a starting point: recurring work needs to be checked against the messages the user receives.
Making Recurring News Updates Useful
Behavior Instructions and Action Boundaries
Identity and soul instructions shaped the assistant's voice and behavior separately from cron, heartbeat, and skills. The configured boundaries included checking existing information before asking for help, keeping private material out of group conversations, and asking before email or public posting. These instructions described intended behavior; the resulting messages still needed inspection.
Retrieval Against a News Log
The heartbeat instructions compare SearXNG's top five results with news_log.txt, summarize and log major new updates, and notify the user. With nothing new, the response is HEARTBEAT_OK. The log supplies a record to compare with fresh results, while the quiet response avoids turning every periodic check into another news message.
What the Duplicate Messages Revealed
The published example includes a job running every 30 minutes, repeated stories, and identical messages delivered twice. Reducing frequency and tracking delivered stories were proposed, but duplicates remained in the conversation. Checking the actual delivery history exposed the gap between the intended procedure and what the user received; the example does not establish a successful deduplication fix.