惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
C
Check Point Blog
J
Java Code Geeks
腾讯CDC
Martin Fowler
Martin Fowler
MongoDB | Blog
MongoDB | Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 三生石上(FineUI控件)
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
Engineering at Meta
Engineering at Meta
罗磊的独立博客
Last Week in AI
Last Week in AI
B
Blog
IT之家
IT之家
S
SegmentFault 最新的问题
D
DataBreaches.Net
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
GbyAI
GbyAI
博客园 - 聂微东
U
Unit 42
有赞技术团队
有赞技术团队
Y
Y Combinator Blog
MyScale Blog
MyScale Blog

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - openclaw-easy/ViralMint: Open-source viral conte...
tangxinzhi15 · 2026-05-21 · via Hacker News: Show HN

ViralMint

The open-source viral content pipeline

Scout trends → Analyze competitors → Generate videos → Auto-publish → Run anywhere from your phone. 100% local. Bring your own API keys. No SaaS lock-in. No telemetry.

🌐 WebsiteQuick StartFeaturesArchitectureAPI KeysContributing

Website License: AGPL-3.0 CI Python 3.11+ React 18 FastAPI Platform


What manual creators do every day, ViralMint automates in one workflow. Find trending videos across 5 platforms, transcribe and analyze them with local Whisper, write original scripts with AI, render stock-footage videos with word-by-word captions, and post directly to YouTube and TikTok — all from a single command. Talk to it from a browser, or chat with it on Telegram, WhatsApp, Discord, or Slack.

ViralMint Chat — streaming AI agent that scouts trending videos, analyzes channels, and orchestrates the full pipeline
Chat with the AI agent: paste a URL, ask for a scout, or kick off a workflow — it runs the right pipeline in the background.

✨ Why ViralMint

🔒 100% local SQLite, local Whisper, local FFmpeg. Your scripts, transcripts, downloads, and generated videos never leave your machine.
🔑 BYOK Bring your own Anthropic / OpenAI / OpenRouter / YouTube / Pexels keys. Encrypted at rest with AES-256. There is no ViralMint backend in the middle.
📱 Phone-first when you want it Two-way chat with the planner agent over Telegram, WhatsApp, Discord, or Slack. Get job notifications in the same thread.
🤖 Agent-based, not a chat wrapper Scout, Download, Analyzer, Generator, Uploader, and Planner — six purpose-built agents orchestrated by streaming AI chat.
🆓 Free out of the box Edge TTS (400+ voices), local Whisper, royalty-free music, Pexels stock — all the heavy stuff is free. Pay only for what you choose to upgrade.
🪪 AGPL-3.0 Use it personally, build a business on it, fork it, modify it. The only ask: share your modifications under the same license if you distribute.

🚀 Quick Start

Prerequisites

Tool macOS Linux Windows
Python 3.11+ brew install python apt install python3.11 python.org
Node.js 18+ brew install node apt install nodejs npm nodejs.org
FFmpeg brew install ffmpeg apt install ffmpeg ffmpeg.org
ImageMagick brew install imagemagick apt install imagemagick imagemagick.org

Install & Run

git clone https://github.com/openclaw-easy/ViralMint.git
cd ViralMint

python -m venv venv && source venv/bin/activate     # Windows: venv\Scripts\activate
pip install -r requirements.txt

cp .env.example .env                                  # optional — keys can also be set in the UI
python run.py

The first run installs frontend deps, builds the SPA, starts the API, and opens your browser at http://localhost:16888.

💡 Don't have an API key yet? Open Settings → AI Provider after launch and paste your Anthropic, OpenAI, or OpenRouter key directly into the UI. OpenRouter is a unified gateway — a single key gets you Claude, GPT, Gemini, Llama, and Mistral. Edge TTS, Whisper, FFmpeg, and yt-dlp work offline with zero configuration.

Build a desktop .app from source (optional)

If you'd rather have a clickable .app than a terminal command, the repo includes a self-contained PyInstaller pipeline that produces a macOS .dmg, Linux .tar.gz, or Windows .zip of this OSS source — same code, no terminal needed at runtime.

PYTHON_BIN=./venv/bin/python VIRALMINT_VERSION=0.1.0-dev \
  bash desktop/scripts/build-app.sh

Output lands in desktop/release/. First build takes ~10–15 min (PyInstaller bundling is the long pole). Skip flags, signing/notarization env vars, and the smoke-test recipe live in desktop/README.md.

Note: this build is a vanilla bundle of the OSS app — your browser is the UI, no tray launcher, no auto-update, no signed binaries unless you provide a Developer ID. The richer desktop experience (Tools page, AI Music tab, Visual Style preset, signed-and-notarized installer) comes from the prebuilt viralmint.net installer.


🎯 Features

🔍 Scout

Multi-platform trend discovery across YouTube, TikTok, Douyin, and Google Trends with AI virality scoring, view-velocity analysis, and outlier detection (3×–20× channel baseline).

🧠 Analyze

Local Whisper transcription, AI insight extraction (hook, structure, tone, retention risks), segment-level scoring, and AI-generated improvement suggestions per video.

🎬 Generate

Full pipeline: AI script → TTS voice → Pexels stock footage matched to keywords → word-by-word animated captions → background music → AI thumbnail.

✂️ Clip Studio

Extract viral 30–60s shorts from long-form videos. AI picks the best moments and auto-burns captions. One source video → many publishable clips.

📤 Publish

Direct upload to YouTube (OAuth) and TikTok (OAuth or session cookie) with platform-optimized titles, descriptions, tags, and thumbnails.

💬 Chat

Streaming WebSocket chat that orchestrates every agent. Say "scout cooking videos" or "download this URL" and it just runs. Action blocks dispatch background jobs.

📲 Messaging

Two-way chat from your phone via Telegram, WhatsApp, Discord, Slack. Get job alerts and command the planner from anywhere — same agent, different transport.

⬇️ Universal Downloader

yt-dlp under the hood — supports YouTube, TikTok, Bilibili, Instagram, Twitter, SoundCloud, Vimeo, and 1000+ other sites.


📸 Screenshots

Library — Scout results with virality scores Library — Scout results
154 videos discovered, sorted by AI virality score, downloadable in one click.
Clip Studio — extract viral shorts from a long-form video Clip Studio — viral clip extraction
AI picks the best 30–60s moments from a long video, scores them, and burns captions automatically.
Messaging — Telegram, WhatsApp, Discord, Slack Messaging — chat from your phone
Connect Telegram, WhatsApp, Discord, or Slack to control the planner agent and receive job notifications.
My Channels — channel analytics My Channels — channel analytics
Connect any YouTube/TikTok channel by URL. View counts, engagement, median views, and outlier detection.
Stock Video / Smart Video studio Smart Video studio (extras like the Visual Style preset and AI Music tab are exclusive to the desktop installer)
Mix your own clips with stock footage; word-by-word captions; background music; cost estimator.
Tools — single-purpose utilities Tools (bundled in the desktop installer)
Quick Chain, AI Image, AI Music, Voice-over, Reframe, Watermark, Translate + Dub, Hook Detector — single-purpose utilities for finishing videos.

🆓 What works without API keys

Feature Powered By Cost
Video downloading from 1000+ sites yt-dlp $0
Audio transcription Local faster-whisper $0
Voiceover (400+ voices, 70+ languages) Edge TTS $0
Word-by-word animated captions FFmpeg + ASS subtitles $0
Background music library Royalty-free local library $0
Sound effects auto-placement FFmpeg-synthesized $0

YouTube/TikTok/Pexels still require free API keys — links in the next section.


🔑 Bring your own keys (BYOK)

Every key can be set in .env or per-user inside the app under Settings — whichever is set takes priority. Per-user keys are AES-256 encrypted before storage. Keys go straight to the provider; ViralMint has no backend server in the middle.

For Provider Where Cost
AI chat, scripting, analysis Anthropic · OpenAI · OpenRouter console.anthropic.com · platform.openai.com · openrouter.ai/keys — Settings → AI Provider Pay-per-use
YouTube scouting · comments · My Channels YouTube Data API v3 console.cloud.google.com/apis/credentials — Settings → Service API Keys Free 10K units/day
Stock footage Pexels pexels.com/api Free
Premium voiceover (optional) OpenAI TTS platform.openai.com Pay-per-use
TikTok / Douyin scouting TikHub API (recommended) tikhub.io Free tier
YouTube / TikTok upload OAuth One-click in Settings Free
Telegram / Discord / Slack Bot tokens Settings → Messaging Free
WhatsApp QR-scan pairing Settings → Messaging Free

⚠️ TikTok / Douyin session-cookie scouting is also available as an advanced fallback in Settings, but it violates the platforms' Terms of Service and the cookie's TikTok/Douyin account is the one TikTok/Douyin sees acting. Use the TikHub API path unless you have specifically accepted that risk. See LEGAL.md for details.


🏗️ Architecture

                     ┌────────────────────────────────────────────────┐
                     │            React 18 + MUI 7 SPA                │
                     │       (served by FastAPI in production)        │
                     │  Chat · Channels · Library · Stock Video       │
                     │  Clip Studio · Messaging · Settings            │
                     └─────────────────┬──────────────────────────────┘
                                       │  HTTP + WebSocket
                                       ▼
                     ┌────────────────────────────────────────────────┐
                     │           FastAPI · localhost:16888            │
                     ├────────────────────────────────────────────────┤
                     │  Planner Agent ─── streaming chat + actions    │
                     │  Scout Agent ───── YouTube · TikTok · Douyin · │
                     │                    Google Trends               │
                     │  Download Agent ── yt-dlp (1000+ sites)        │
                     │  Analyzer Agent ── Whisper + AI insights       │
                     │  Generator Agent ─ Script → TTS → Stock →      │
                     │                    Captions → Music → MP4      │
                     │  Uploader Agent ── YouTube + TikTok OAuth      │
                     │  Messaging ─────── Telegram · WhatsApp ·       │
                     │                    Discord · Slack             │
                     └─────────────────┬──────────────────────────────┘
                                       │
              ┌────────────────────────┼─────────────────────────┐
              ▼                        ▼                         ▼
    ┌─────────────────┐    ┌──────────────────────┐    ┌──────────────────┐
    │  SQLite local   │    │  storage/ on disk    │    │  External APIs   │
    │  (encrypted     │    │  videos · audio ·    │    │  (BYOK, direct)  │
    │   credentials)  │    │  thumbnails · sfx    │    │                  │
    └─────────────────┘    └──────────────────────┘    └──────────────────┘

Tech stack

Layer Stack
Backend Python 3.11+ · FastAPI · SQLAlchemy 2.0 (async) · SQLite · WebSockets
Frontend React 18 · Vite · MUI 7 · Zustand · React Router 6
AI (BYOK) Anthropic Claude SDK · OpenAI SDK
Transcription faster-whisper (local, multilingual, GPU-aware)
TTS Edge TTS (free) · OpenAI TTS
Video Pexels stock · FFmpeg · Ken Burns image fallback
Captions FFmpeg + ASS (word-by-word highlight animation)
Download yt-dlp
Messaging python-telegram-bot · discord.py · slack-sdk · neonize (WhatsApp)
Security Fernet (AES-256) for credentials at rest

📁 Project structure

ViralMint/
├── run.py                          # 🚀 Single entry point
├── launcher.py                     # System-tray launcher (optional)
│
├── backend/
│   ├── agents/                     # Planner, Scout, Download, Analyzer, Generator, Uploader
│   ├── api/                        # REST + WebSocket endpoints
│   ├── core/                       # AI client, BYOK key resolver, crypto, WebSocket manager
│   ├── messaging/                  # Telegram / WhatsApp / Discord / Slack channels
│   ├── models/                     # SQLAlchemy models
│   └── services/                   # TTS, video gen, captions, music, yt-dlp, Whisper, …
│
├── frontend/
│   └── src/
│       ├── pages/                  # Chat · Channels · Library · Stock Video · …
│       ├── components/             # Reusable UI (chat, settings, videos, …)
│       ├── hooks/                  # WebSocket, settings, jobs, source video
│       └── store/                  # Zustand global state
│
├── tests/                          # pytest test suite (92 tests)
├── storage/                        # Downloaded videos, audio, generated output (gitignored)
│
├── requirements.txt
├── .env.example
├── CONTRIBUTING.md
├── SECURITY.md
└── LICENSE                         # AGPL-3.0

🤝 Contributing

Pull requests welcome — bug fixes, new platforms, additional messaging channels, performance work, docs, anything. Read CONTRIBUTING.md for the workflow and house style, and review the Code of Conduct before opening your first issue.

📜 License & terms of use

ViralMint is licensed under the GNU Affero General Public License v3.0 (LICENSE).

In practice that means:

  • ✅ Free for personal use, commercial use, modification, redistribution
  • ✅ Run a SaaS on top of it
  • ⚠️ If you distribute it (or run it as a public network service), you must share the modified source under the same AGPL-3.0 terms

ViralMint is a tool you run on your own machine. The maintainers don't host your content or proxy your API calls — every action is you, acting on your own platforms and keys. Read LEGAL.md before using the scouting and downloader features so you understand what's sanctioned (YouTube Data API, OAuth uploads, Pexels), what's at-your-own-risk (TikTok/Douyin session-cookie scouting), and what you're responsible for under each platform's Terms of Service.


⭐ Star history

Star History Chart

Built with FastAPI, React, Whisper, FFmpeg, and a lot of async Python.

Project website: viralmint.net

If ViralMint is useful to you, ⭐ star the repo — it helps a lot.