Open-Source Cold Email & Warmup Platform
Warmbly 是开源的冷邮件平台:温暖您的邮箱、发送活动、并对每条回复进行分流。可在我们的云端运行,也可自行托管整套系统。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证homepage for Beseam
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗This is the canonical public marketing site for beseam.com. It presents two equal, connected product stories:
Both workspaces keep the underlying evidence and observation time visible. The
primary conversion route is the homepage journey; the free AI discovery scan
is available at /scan.
npm run dev # worker on :7002 in front of next dev on :7003
The free scan, the product-image proxy, and the verification link live in the
Cloudflare Worker (main.js), so next dev alone answers them with
"The scan service is unavailable right now." npm run dev therefore runs both:
Wrangler serves /api/* and /scan/verify, and hands everything else to Next,
so hot reload still works.
It points at a local API on http://localhost:8123/api. Override with:
LOCAL_API_BASE=https://api.beseam.com/api npm run dev # scan against production
LOCAL_APP_BASE=http://localhost:5123 npm run dev # Continue/sign-in links target this app
LP_PORT=7012 LP_NEXT_PORT=7013 npm run dev # different ports
npm run dev:next-only # Next alone, no /api/*
Use Bun, matching the repository lockfile:
bun install
bun run test:worker
bunx tsc --noEmit
bun run build
The production build is a static Next.js export in out/.
main.js serves the static export through the Workers Assets binding, handles
legacy redirects, and accepts the same-origin review fallback form.
Before deployment:
Confirm that the Worker named beseam owns beseam.com.
Authenticate Wrangler for the intended Cloudflare account.
In the Beseam Trevra workspace, create a Lead capture source for the website.
Store its Trevra connection values in Worker secrets:
npx wrangler secret put TREVRA_CAPTURE_API_BASE_URL
npx wrangler secret put TREVRA_CAPTURE_SOURCE_ID
npx wrangler secret put TREVRA_CAPTURE_SECRET
TREVRA_CAPTURE_API_BASE_URL is the Trevra API origin, without /api at the end.
The signing secret is shown by Trevra only when the source is created or rotated.
Enable Email Sending for the zone and verify [email protected] while review notifications are still desired.
Confirm that [email protected] is an allowed notification destination.
Set any public analytics overrides and Cal.com values in the deployment environment. Beseam's three public Umami values have committed production defaults in src/lib/umami.ts; NEXT_PUBLIC_UMAMI_* are optional overrides, not deployment requirements.
Run bun run build, then npx wrangler deploy.
When all three Trevra capture values are configured, /api/lead writes its
canonical Person + inbound Submission to Trevra and does not duplicate that
lead into SendPulse. Browser forms attach one stable submissionId to an unchanged
logical form submission, and the Worker reuses it as Trevra's idempotency key across
browser retries and its own transient retry. Review email is then best-effort notification only. If the
Trevra values are absent, the Worker deliberately retains the previous
SendPulse/email path so deploying this code before provisioning the Capture
Source cannot black-hole production leads. Remove that fallback only after the
live Trevra source has been verified.