Open-Source Cold Email & Warmup Platform
Warmbly 是开源的冷邮件平台:温暖您的邮箱、发送活动、并对每条回复进行分流。可在我们的云端运行,也可自行托管整套系统。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗ReelSpy is a Next.js App Router application for tracking inspiration reels, scoring virality, and generating original scripts. Production: https://app.reelspy.dev (marketing site: https://reelspy.dev).
📚 Documentation lives in docs/ — start there for the business-logic rulebook (docs/BUSINESS-LOGIC.md), the full technical reference, and all setup runbooks.
.env.example to .env.local and fill all values.supabase/schema.sql in Supabase SQL Editor.
supabase/migrations/ instead (timestamped YYYYMMDDHHMMSS_name.sql — see supabase/migrations/README.md for the convention and the GitHub↔Supabase auto-deploy).lock_down_ig_tokens migration — it makes the stored Instagram token unreadable from browser clients (column-level grants) and restricts the rate-limiter RPCs to the server. The app already routes all token access through the service-role client, so applying it changes no behavior.META_APP_ID or META_IG_APP_ID, META_APP_SECRET, META_REDIRECT_URI).
META_IG_APP_ID.docs/google-supabase-setup.md.The reel transcript feature stores and displays the spoken transcript of a tracked reel.
The pipeline (app/api/reels/[reel_id]/transcript):
--dump-single-json --skip-download to read the reel's metadata and a
direct (short-lived) media URL — without downloading the video binary. The self-contained
yt-dlp_linux binary is fetched into bin/ at install time by scripts/fetch-ytdlp.mjs
and bundled into the function via outputFileTracingIncludes in next.config.ts.GROQ_API_KEY (Groq whisper-large-v3,
free tier, primary) or HF_API_TOKEN (Hugging Face, fallback).tracked_reels; only the transcript text is persisted
(the media file itself is not stored).Env keys (all optional — without them the UI shows a clean "transcript unavailable" state and never errors):
GROQ_API_KEY — required for transcripts to actually work (free tier available).HF_API_TOKEN — optional Whisper fallback.app_settings) and are rotated at runtime with
node scripts/update-ig-cookies.mjs <cookies.txt> (no redeploy). The session self-refreshes
and a daily health check alerts on failure — see docs/ig-cookies-runbook.md.
YTDLP_COOKIES_B64 remains only as a bootstrap fallback.profiles.is_admin: an admin passphrase,
enrolled out of band with npm run admin:passphrase -- invite --email [email protected]
and redeemed at /admin/setup. Without it /admin stays locked — see docs/admin-security.md.IG_HEALTHCHECK_REEL_URL / ADMIN_ALERT_EMAIL — cookie health check + fallback admin-alert recipient (alerts are configured in-product at Admin → Notifications; see docs/admin-notifications.md).YTDLP_BIN — optional path override for the yt-dlp binary.Set GROQ_API_KEY in .env.local locally and in the Vercel project's Production
environment variables.
npm install
npm run dev
Open http://localhost:3000/login.
npm run build
npm run check:auth-setup
This verifies local env keys required for Supabase + Google auth flow and confirms core database tables exist.
/dashboard/onboarding): connect Instagram, set your brand voice + niche, add inspiration accounts./dashboard/feed (default sort: out-performance vs each account's own baseline) and select a reel to generate a script./dashboard/scripts; explore niche-wide winners in /dashboard/trends.