AI-powered Bluesky presence for support, kindness, and engagement β warm, human, never robotic
VibesMom is an autonomous Bluesky presence built on Cloudflare Workers + Workers AI. She handles:
- Distress reply loop β searches Bluesky for people in emotional distress, composes warm, post-specific replies (under 270 chars)
- Kindness engine β finds humans helping other humans, likes their posts, auto-follows after 2 likes from same account
- LoveBomb β manual feed-targeted positivity bombs (queues warm replies to a selected feed)
- FeedReply β manual feed-targeted engagement on news/OSINT feeds with sharp commentary
- Notification loop (v4.1+) β reads incoming replies/mentions, posts 1 followup per thread, detects bot-callouts and flags them for human review
She runs every cron tick, 7AMβ11PM UTC. Daily caps: 12 distress replies, 20 kindness likes.
She is designed to feel like a warm community member, not a corporate wellness bot. No clichΓ©s. No hollow positivity. Real talk.
Cloudflare Cron (every tick, 7AMβ11PM UTC)
β
βΌ
vibesmom-bsky Worker
βββ runDistressReplyLoop() β search distress posts β compose reply β post
βββ runKindnessEngine() β find helpers β like β follow at threshold
βββ runNotificationLoop() β read inbox β followup composer / callout detector
βββ fireDueLBReplies() β fire scheduled LoveBomb queue
βββ fireDueFRReplies() β fire scheduled FeedReply queue
Workers AI bindings:
- LLAMA_FAST = @cf/meta/llama-3.1-8b-instruct
- LLAMA_SMART = @cf/meta/llama-3.3-70b-instruct-fp8-fast
- RERANKER = @cf/baai/bge-reranker-base
Storage:
- D1 (post history, callouts, sessions, replied tracking)
- KV (session cache, dedup keys, daily counters)
Channels:
- Telegram bot for human-in-the-loop alerts (bot-callouts)
| Path | Auth | Purpose |
|---|---|---|
/ |
none | Dashboard (login UI) |
/health |
none | Health check |
/run-distress |
X-Auth | Manual distress loop trigger |
/run-kindness |
X-Auth | Manual kindness engine trigger |
/run-notifs |
X-Auth | Manual notification loop trigger (v4.1+) |
/run-lovebomb |
X-Auth | POST {feed_url} β queue LoveBomb session |
/run-feedreply |
X-Auth | POST {feed_url} β queue FeedReply session |
/admin/callouts |
X-Auth | Bot-callout review dashboard (v4.1+) |
/fire-lb |
X-Auth | Manual fire LoveBomb due queue |
/fire-fr |
X-Auth | Manual fire FeedReply due queue |
/ai-test |
X-Auth | Verify Workers AI is reachable |
# wrangler.toml.example
name = "vibesmom-bsky"
main = "worker.js"
compatibility_date = "2024-12-01"
[[d1_databases]]
binding = "DB"
database_name = "vibesmom-db"
database_id = "YOUR_D1_ID"
[[kv_namespaces]]
binding = "KV"
id = "YOUR_KV_ID"
[ai]
binding = "AI"
[triggers]
crons = ["*/5 * * * *"]Secrets:
wrangler secret put BSKY_HANDLE # vibesmom.bsky.social
wrangler secret put BSKY_APP_PASS # Bluesky app password
wrangler secret put VIBESMOM_SECRET # API auth token
wrangler secret put TG_BOT_TOKEN # Telegram bot for callout alerts
wrangler secret put TG_CHAT_ID # Telegram chat ID to alert
wrangler deploy- Bot clearly identifies as AI in its profile bio
- Does not claim to be a human therapist or counselor
- Posts are supportive, not diagnostic
- Bot-callouts are NEVER replied to β flagged for human review only
- Crisis-detected posts include 988 (Suicide & Crisis Lifeline) reference
- Daily caps enforced to prevent spam
- All content patterns reviewed by the VPDLNY collective
Built by Indica Independent | Part of the VPDLNY mission
- FIX:
composeLBRepliesno longer crashes on non-string Llama responses β hardened parser handles object/null/undefined payloads - FIX: Per-post LLAMA_FAST fallback if LLAMA_SMART batch compose fails β graceful degradation instead of empty queue
- FIX: Schema migration β added missing
post_textcolumn tolb_replied_posts(ALTER TABLE in production) - FIX: Bot-callout detector now also gates LoveBomb threads β won't reply if anyone in the thread is calling out bots
- NEW:
runNotificationLoop()β runs every cron tick. Reads incoming Bluesky notifications, posts ONE followup per thread (KV-dedup, 30-day TTL), auto-marks all notifs as seen - NEW: Bot-callout detector with 16 regex patterns (
"this is a bot","touching grass","automated empathy", etc.) β flags + sends Telegram alert to operator + DOES NOT reply - NEW: Followup composer β separate prompt for thread continuations, 1-2 sentences max, references both their reply and the original context
- NEW: Thanks/heart detector β short
"thank you"/"β€"replies get LIKED instead of text-responded-to - NEW:
/admin/calloutsdashboard for reviewing flagged callouts - NEW:
/run-notifsmanual trigger route - NEW: D1 tables:
vibesmom_callouts,vibesmom_notif_state - FIX: Killed stock empathy template (
"my sister went through something similar") β prompt now forbids specific personal-experience claims and requires opener variation per reply
- Consolidated
lovebomb,feed-reply-engine,vibesmom-bskyinto single worker - Migrated from Anthropic API to Workers AI (
llama-3.3-70b/llama-3.1-8b) - Centralized dashboard for all modules
- Self-learning cycle via reranker model
- Daily auditor + KV integrity guard
- Negative feedback detection β prompt self-correction
- Kindness engine: searches for genuine helpers, likes + auto-follows
- 20 kindness-targeted search queries
- Like β like β follow flow
/statsendpoint with daily counts