跳到正文
DEV Community· Ridwan Yoga Suryantara·· 2 小時前AI 評分46

Fuenzer Bot:結合 Gemma 與 ElevenLabs 的全渠道晨間聊天樹懶管家

Fuenzer Bot: The Omnichannel Sloth Butler for Morning Chat Catch-ups with Gemma & ElevenLabs

AI 導讀

Fuenzer Bot 是一款同時在 WhatsApp、Telegram、Discord 和 Slack 運作的個人助理,利用 Google Gemma 4(google/gemma-4-26b-a4b-it)整理羣組訊息,提取重點及待辦事項。它會透過 ElevenLabs 將摘要合成 30 秒語音訊息,發送至用戶的私人聊天。

正文

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady

Fuenzer Bot Banner

What I Built

In celebration of International Sloth Day and Hacktoberfest Week 3's "Slow and Steady" theme, I built an automated, ultra-lazy personal productivity assistant: Fuenzer Bot.

The Problem: Morning Doomscrolling Fatigue

Every morning, we wake up to hundreds of unread messages across various group chats (work, family, developer communities, and friend circles). Catching up means spending 20 to 30 minutes reading through banter, noise, stickers, and scattered plans just to find out if anything actually required our attention.

The Solution: The "Sloth Morning Briefing"

Fuenzer Bot is a high-availability, omnichannel bot that runs concurrently across WhatsApp, Telegram, Discord, and Slack. It passively buffers incoming group messages overnight and wakes up before you do.

Instead of forcing you to comb through chaotic chat logs:

  1. Google Gemma acts as a personal Sloth Butler, filtering out chatter and condensing hundreds of messages into an executive Sloth TL;DR and action item checklist.
  2. ElevenLabs turns that summary into a calm, soothing 30-second voice note delivered directly to your private chat. You don't even need to open your eyes in bed to catch up on everything that happened while you were asleep.
  3. Browserbase gives you an autonomous cloud browsing agent via /browse <url>. If someone drops a link to a long article or documentation, the bot spins up a headless cloud session, blocks ads, solves captchas, captures a viewport screenshot, and extracts a clean reading excerpt without opening a bloated desktop browser.

Preview

Fuenzer Bot operates seamlessly across all four major chat platforms simultaneously from a single unified backend:

WhatsApp (Baileys) Telegram (Telegraf)
WhatsApp Bot Screenshot Telegram Bot Screenshot
Discord (discord.js) Slack (Bolt Socket Mode)
Discord Bot Screenshot Slack Bot Screenshot

Live Interactive Capabilities:

  • Daily Sloth Briefing (/summarize or Scheduled Cron):
    • Delivers a structured breakdown:
    • 🦥 Sloth TL;DR: 2–3 sentences of core highlights.
    • 🎯 Key Action Items & Mentions: Decisions made, tasks assigned, and urgent pings.
    • 📊 Chatter Snapshot: Signal-to-noise ratio so you know how productive the chat was.
    • Automatically sends an ElevenLabs Audio Voice Note attachment directly into WhatsApp and Telegram.
  • Headless Cloud Web Agent (/browse <url>):
    • Dispatches an ephemeral cloud browser on Browserbase to navigate JavaScript-heavy sites.
    • Sends back a crisp viewport screenshot and key body text snippet directly in your chat thread.
  • Natural Language Conversational Agent:
    • Conversational intent router capable of recording financial expenses, checking live weather, calculating prayer schedules, and searching books without memorizing rigid slash commands.

Code

GitHub logo Yogs4R / fuenzer-bot

An intelligent omnichannel personal bot across WhatsApp, Telegram, Discord, and Slack powered by open-source AI and voice synthesis

Fuenzer Bot Banner

Fuenzer Bot

The Autonomous Omni-Channel Personal Productivity Assistant
Runs concurrently on WhatsApp, Telegram, Discord & Slack · Powered by Node.js, Supabase, and Serverless AI

Release CI Status Node.js WhatsApp Telegram Discord Slack Supabase License

About • Preview • Features • Commands • Installation • Architecture • CI/CD • PRD

English | Bahasa Indonesia

Support via Ko-fi    Support via Saweria


What is Fuenzer Bot?

Fuenzer Bot is a high-availability, standalone virtual assistant engineered to increase daily productivity by bringing financial management, multi-modal AI reasoning, document processing, and server monitoring directly into your everyday chat apps (WhatsApp, Telegram, Discord & Slack) with zero context switching.

  • 🔄 Omni-Channel Architecture: Operates simultaneously on WhatsApp (via Baileys), Telegram (via Telegraf), Discord (via discord.js), and Slack (via Bolt Socket Mode).
  • 🌐 Bilingual & Internationalized: Default English (en) for global evaluation with native Indonesian (id) support via /lang [en|id] and 1-to-1 bilingual command aliases.
  • 🦥 Automated Morning Briefings (Gemma & ElevenLabs): Passively buffers group chat clutter and delivers scheduled…
  • Repository: https://github.com/Yogs4R/fuenzer-bot
  • License: MIT
  • Tech Stack: Node.js (v20 LTS), Baileys (WhatsApp), Telegraf (Telegram), Discord.js, @slack/bolt, Supabase (PostgreSQL), Playwright Core, and PM2.

How I Built It

Fuenzer Bot is architected around the idea of effortless automation, modularity, and strict privacy.

                    ┌───────────────────────────────────────────────┐
                    │               Inbound Messages                │
                    │      (WhatsApp, Telegram, Discord, Slack)     │
                    └───────────────────────┬───────────────────────┘
                                            │
                                            ▼
                    ┌───────────────────────────────────────────────┐
                    │      Buffer Pipeline (AES-256-GCM Encrypted)  │
                    │        Supabase 'chat_buffer' (24h TTL)       │
                    └───────────────────────┬───────────────────────┘
                                            │
               ┌────────────────────────────┼────────────────────────────┐
               │ Scheduled / On-Demand      │ On-Demand /browse          │
               ▼                            ▼                            ▼
  ┌─────────────────────────┐  ┌─────────────────────────┐  ┌─────────────────────────┐
  │      Google Gemma       │  │       ElevenLabs        │  │       Browserbase       │
  │ (Reasoning & Filtering) │  │  (Voice Note Synthesis) │  │   (Cloud Web Sandbox)   │
  │   - Sloth Butler Persona│  │   - Speech Sanitization │  │   - Anti-bot / Captcha  │
  │   - Actionable Extraction│ │   - Audio Buffer Stream │  │   - Viewport Screenshot │
  └─────────────────────────┘  └─────────────────────────┘  └─────────────────────────┘

1. Google Gemma: The Sloth Butler Intelligence

At the heart of the summarization pipeline (src/services/summarizeService.js) sits Google Gemma 4 (google/gemma-4-26b-a4b-it).

Chat conversations are messy—filled with fragments, slang, reactions, and typos. Gemma's strong reasoning capabilities allow it to execute nuanced signal-to-noise filtering. I engineered a specialized "Sloth Butler" system prompt that instructs Gemma to:

  1. Ignore casual banter, greetings, memes, and sticker reactions.
  2. Identify explicit decisions, deadlines, meetings, and mentions.
  3. Group discussions by topic rather than chronological timestamp.
  4. Output a clean, predictable markdown format with bilingual awareness (English and Indonesian).

2. ElevenLabs: Hands-Free Voice Note Briefing

Reading a screen right when your alarm goes off causes instant eye strain. Using ElevenLabs Multilingual v2 (src/services/elevenLabsService.js) with the calming Rachel persona, Fuenzer Bot takes the generated summary and converts it into a high-fidelity voice note.

  • Intelligent Speech Preprocessing: Raw AI summaries contain markdown asterisks, URLs, backticks, bullet symbols, and emojis that sound terrible when read verbatim by a TTS engine. The bot's cleanTextForSpeech() function strips all non-verbal syntax and parses the text into natural spoken cadence.
  • Native Chat Audio Buffering: The audio stream is synthesized directly into memory buffers and pushed to WhatsApp as a native PTT (Push-To-Talk) voice note and Telegram as an audio message.

3. Browserbase: Effortless Remote Web Surfing

When someone shares a website link or documentation article in a chat, you shouldn't have to leave your messaging app. With /browse <url> (src/services/browserbaseService.js):

  • Fuenzer Bot requests an on-demand cloud browser session via the Browserbase REST API with built-in ad-blocking and captcha-solving enabled (solveCaptchas: true, blockAds: true).
  • It connects to the remote browser instance via Playwright Core over Chrome DevTools Protocol (CDP).
  • It snaps a high-definition viewport JPEG of the rendered page and extracts an article summary excerpt, forwarding both back to the user's chat along with a live session inspector link.

4. Privacy-First Buffer Architecture

To summarize chats across an entire day or night, messages must be buffered. To guarantee user privacy:

  • Inbound messages are encrypted at rest in Supabase using AES-256-GCM with unique initialization vectors (iv:authTag:ciphertext).
  • An automated cron job (src/jobs/bufferCleanupCron.js) runs continuously to hard-delete any chat records older than 24 hours.

Why Does Open Innovation Matter?

Open innovation is fundamental to building an assistant that people can actually trust with their daily personal communication.

  1. Privacy and Sovereign Control: Chat logs are deeply personal. With open-weights models like Gemma, developers are not locked into opaque, proprietary data silos. Organizations and individuals can run Gemma in private VPCs or locally on consumer hardware without fearing that their private chat logs are being used for third-party model retraining.
  2. Predictable Architecture and Democratization: Open-source AI prevents single-vendor dependency. If an API provider changes its pricing tiers or terms of service, open models ensure that your daily productivity workflows continue operating uninterrupted.
  3. Customizability for Edge Personas: Gemma's efficiency and open weights allow fine-grained prompt tuning and future quantization, enabling small-footprint agents to run on modest cloud VMs (such as a budget PM2 node) without requiring multi-thousand-dollar GPU clusters.

The Lazy Payoff

International Sloth Day is all about maximizing relaxation and letting machines do the heavy lifting. Here is the actual, measured payoff:

Activity The Old, Exhausting Way The Fuenzer Bot "Sloth" Way Time Saved
Morning Chat Catch-Up Scroll 300+ messages across 5 group chats on small phone screen Listen to a 30s ElevenLabs audio brief while still lying in bed ~25 minutes / day
Checking Link Previews Open mobile browser, accept cookie banners, dismiss paywalls & popups Send /browse <url> and get a clean screenshot + text snippet in chat ~3 minutes / link
Task Extraction Re-read chat logs at 5 PM to remember what your teammates asked you to do Look at Gemma's bulleted Key Action Items section ~15 minutes / day

Total Time Saved: Approximately 40 minutes every single day—that's over 240 hours a year reclaimed for sleeping in, relaxing, and being delightfully lazy! 🦥


Prize Categories

1. Best Use of Gemma (Featured Category)

Fuenzer Bot utilizes Google Gemma (google/gemma-4-26b-a4b-it) as its core analytical reasoning engine in src/services/summarizeService.js. Gemma processes asynchronous, multi-user message streams, strips out noise and memes, and formats actionable morning briefings according to a tailored Sloth Butler persona.

2. Best Use of ElevenLabs (Partner Category)

Integrated in src/services/elevenLabsService.js and src/commands/ai/summarize.js. Using the ElevenLabs Multilingual v2 model, the bot converts the morning briefing into a natural, soothing voice note delivered directly to WhatsApp and Telegram, allowing users to catch up on their day completely hands-free.

3. Best Use of Browserbase (Partner Category)

Integrated in src/services/browserbaseService.js and src/commands/browser/index.js. The bot connects to Browserbase's headless cloud browser infrastructure via Playwright Core CDP sessions, automating anti-bot bypassing, captcha solving, ad blocking, viewport screenshot capture, and content extraction on demand directly from chat.


Thank you to the DEV team, GitHub, and the Hacktoberfest sponsors for an amazing Open-Source AI Challenge!

來源:DEV Community · dev.to