Open-Source Cold Email & Warmup Platform
Warmbly 是開源的冷郵件平台:溫暖您的收件箱、發送活動、並對每個回覆進行分流。可在我們的雲端運行或自行託管整個系統。
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證An agent that ranks a podcast network's own shows and pitched guests by listener overlap in Qloo, then drafts a promo plan a person approves.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Every host-read promo a podcast network runs for its new show is an ad slot it didn't sell, yet launch plans are drawn up by topic: the new true-crime show goes on the other true-crime shows. Crossfeed plans by who listens instead. It looks the launch and the network's shows up in Qloo, ranks the roster by how much each show's listeners overlap the launch's, asks a person at each fork, and drafts an insertion order that code prices from the network's own downloads and CPM. A member approves it; the agent never can.
The same engine works the booking inbox. Crossfeed reads the pitches publicists send, looks up the public work each guest is promoting, a book, film, TV show, or podcast, ranks those works against a show's listeners, and drafts a reply to every pitch for the booker to approve, edit, or discard.
Beside every Qloo ranking sits the plan an agent without Qloo would make: Claude's ranking from show names and descriptions, or from a pitch's own words, with no Qloo data. So what Qloo adds is on the screen, not asserted.
It's a product a network's members sign in to, with passkeys, shared networks, a REST API, a TypeScript SDK, an MCP server, and a Claude Code plugin. Anyone can try it as a guest, in one click, on a sample network built from The Ringer's public show names, with labelled sample figures. Crossfeed isn't affiliated with The Ringer.
Built for the Qloo Agentic Hackathon: the entry is on Devpost, and docs/SUBMISSION.md is its full text.
The live app on October 30, 2026, signed in as a guest, on the guest network's sample data.
Start a run. Open a launch, such as the sample network's The Watch, and select Start run. The agent looks the launch up in Qloo, ranks the roster against its listeners in one call, and asks you for a slot budget, then which shows to leave out.
See who shares its listeners. The fit chart ranks the roster by listener overlap, with each show's rank in a topic-only plan beside it. A show that climbs three or more places is marked ▲: select it for why it moved, and select a call number, such as C-53, for the Qloo request and raw scores behind it.
Approve the plan. The agent drafts slots and a host-read angle for each finalist from the tags its listeners share with the launch's in Qloo. Code prices each slot, holds the plan to the budget, and names any close pairs among its shows. Only a member approves it, and only then exports the CSV.
Hand it on. An approved order has a launch report to print or save as PDF, with an index of every Qloo call it cites.
Run it again. Answer differently, and the launch's Changes tab says what changed since the earlier run: the inputs, the finalists, each show's move, and the plan's slots and value.
Work the inbox. On the inbox's Rank tab, select Rank pitches. Each type of pitched work is ranked against the show by who listens, beside its rank by the pitch's own words, and every pitch gets a drafted reply under Book, Later, or Decline.
.eml, .mbox, or text. Only each work's title and type reach Qloo, never a name, an address, or the pitch's text.@crossfeed/sdk TypeScript client, an MCP server at /mcp, two Agent Skills, and a Claude Code plugin. None of them can approve anything.One Worker serves every surface. Each network and each launch is its own Agents SDK Durable Object, which runs Claude's tool loop, and every Qloo call goes through one gateway Durable Object that caches, paces, retries, and caps them. A D1 database holds only what has to be looked up across them: members, networks, sessions, invites, and API keys. docs/TRD.md has the whole design.
Made with Archify from architecture.json, in Crossfeed's colours by export-architecture.mjs.
claude-haiku-5-5), through the Anthropic TypeScript SDK.Crossfeed runs on your computer under Vite's dev server, which runs the Worker, its Durable Objects, and a local D1 database as Cloudflare would, with no Cloudflare account. It calls the real Qloo and Anthropic APIs, so it needs a key for each. The tests need neither.
QLOO_API_KEY.ANTHROPIC_API_KEY.localhost.Clone and install. The app is in apps/.
git clone https://github.com/m1kuorg/qloo.git
cd qloo/apps
bun install
Add your keys. Write them to .dev.vars, which is git-ignored, with two random values: VISITOR_SALT salts the visitor hash behind the daily limits, and QLOO_KEY_SECRET encrypts each network's own Qloo key.
printf 'QLOO_API_KEY=%s\nANTHROPIC_API_KEY=%s\nVISITOR_SALT=%s\nQLOO_KEY_SECRET=%s\nGUEST_PITCHES=on\nRP_ID=localhost\nAPP_ORIGINS=http://localhost:5128\n' \
"$QLOO_API_KEY" "$ANTHROPIC_API_KEY" "$(openssl rand -hex 16)" "$(openssl rand -base64 32)" > .dev.vars
Create the local database. This applies the D1 migrations to a local copy under .wrangler/state.
bunx wrangler d1 migrations apply DB --local
Start the app. Open http://localhost:5128, then Open the sample network to sign in as a guest, or Create your network to sign up with a passkey. The local guest network holds the sample roster, inbox, and The Watch; the four sample launches are Qloo data, kept only in each deployment's database.
bun run dev -- --port 5128 --strictPort
Run the checks. The tests run the Worker in the Workers runtime, with Qloo and Anthropic faked at the network boundary, so they need no keys.
bun run typecheck
bun run test
Optionally, deploy to Cloudflare. Replace account_id and the D1 database_id in wrangler.jsonc with your own, set the four secrets with bunx wrangler secret put, and run bun run deploy. The apps README has every step, the preview environment, and the live checks.
See open issues for a full list of proposed features (and known issues).
Made with contrib.rocks.
Apache 2.0. See LICENSE for more information.
Third-party files keep their own licenses:
.agents/skills/ and linked from .claude/skills/, apart from graphify and impeccable..agents/skills/graphify/..agents/skills/impeccable/, .claude/skills/impeccable/, and .claude/agents/.apps/src/components/ui/.apps/src/icons.tsx draws.@fontsource-variable/schibsted-grotesk.