seedctl — the autonomous TikTok Shop seeding agent you run from a terminal

No dashboard. No login wall. campaign-as-code + a single binary. $ seedctl hire ./campaign.toml and the ADK multi-agent does strategy → sourcing → AI briefs → publishing → measurement → reallocation. You pay $0.01 per verified view, streamed to stdout.

contrarian build · everyone ships React; we ship a CLI

// Mockup — synthetic data, mock TikTok endpoints + metrics simulator. Built on ADK · MCP · A2A · Agent Engine · Gemini/Vertex AI.

— seedctl hire — bash
indie@dtc-box:~/campaigns/glow-serum$ cat campaign.toml # --- campaign.toml — diff it, git commit it, hire it --- [campaign] name = "glow-serum-launch-may" product_url = "tiktokshop://shop/glowlab/glow-serum" budget_cap = "$2,500.00" # agent HARD-STOPS at cap target_cpv = "$0.0100" # pay-per-verified-view [creators] tier = ["nano","micro"] geos = ["US","CA","UK"] min_eng_rate= 0.045 [compliance] disclosure = "#ad #sponsored" # injected into EVERY brief — non-removable guidelines = "tiktok-community-v2026" indie@dtc-box:~/campaigns/glow-serum$ seedctl hire ./campaign.toml [seedctl 0.4.1] reading ./campaign.toml ............ ok [seedctl] deposit escrow (simulated) .............. $2,500.00 locked [adk] spawning sub-agents over A2A: ├─ strategist pid 2041 gemini-2.5-pro/vertex UP ├─ sourcer pid 2042 mcp:creator-graph UP ├─ brief-writer pid 2043 gemini-2.5-flash UP ├─ publisher pid 2044 mcp:mock-tiktok-shop UP ├─ measurer pid 2045 mcp:metrics-simulator UP └─ reallocator pid 2046 policy:kill-and-scale UP [strategist] proposed plan: 38 creators · 3 content angles · 14-day flight ✔ agent hired. attach the console: seedctl console · ledger: tail -f ~/.seedctl/ledger.jsonl indie@dtc-box:~/campaigns/glow-serum$ seedctl console
— seedctl console — live (curses TUI) — q to quit
glow-serum-launch-may · day 6/14 · RUNNING · refresh 5s 1,948,210 verified views CPV $0.01007
spend vs cap $19,482.10 ... wait — (demo) $1,948.21 / $2,500.00
fraud filter rejected 41,332 raw views (dedup / watch<3s / source-anomaly)
── agent action log (A2A) ────────────────────────────── 14:02 measurer creator @skincaresam → 312k verified · CPV $0.009 14:02 reallocator SCALE @skincaresam +$120 budget (beats target) 13:58 reallocator KILL @randomdude_42 — CPV $0.031 > 3× target 13:55 brief-writer drafted brief #29 — #ad #sponsored injected ✓ 13:51 publisher scheduled 4 posts → mock-tiktok-shop (slots 18:00–21:00) 13:47 sourcer added 6 nano creators (US, eng-rate ≥ 0.051) 13:40 strategist angle B ("clinical proof") outperforming A by 2.3× — shift weight ──────────────────────────────────────────────────────── type a command: > kill @randomdude_42
─ campaign vitals ─
creators live34
posts published211
TikTok Shop clicks22,907
attributed orders1,184
attributed GMV$41,772
ROAS (sim)21.4×
setup→launch7 min
─ sub-agents ─
strategistok
sourcerok
brief-writerok
publisherok
measurerok
reallocatorbusy
─ keys ─ k kill creator s scale b view brief l ledger q detach (agent keeps running)
— seedctl bill — bash
indie@dtc-box:~$ seedctl bill --campaign glow-serum-launch-may # verified-view ledger · fraud-filtered · $0.0100/view
creatorrawverified$
@skincaresam351,402312,1183,121.18
@derm.with.dani208,990201,4472,014.47
@budgetbeauty142,001133,9021,339.02
@randomdude_4261,20019,880198.80
… 30 more1,280,86312,808.63
─────────────────────────────────────────── verified total .... 1,948,210 views billed ............ $19,482.10 (demo cap-scaled: $1,948.21) fraud rejected .... 41,332 views $0.00 remaining deposit . $551.79 ⚠ agent will hard-stop at $0.00 indie@dtc-box:~$ seedctl bill --format=json | jq '.fraud' { "dedup_rejected": 18204, "watchtime_lt_3s": 15998, "source_anomaly": 7130, "attribution_fail": 0 }
— seedctl agents — bash
indie@dtc-box:~$ seedctl agents --tools A2A topology · ADK · deployed on Agent Engine PID AGENT MODEL/POLICY MCP TOOLS BOUND 2041 strategist gemini-2.5-pro none 2042 sourcer gemini-2.5-flash creator-graph, social-search 2043 brief-writer gemini-2.5-flash disclosure-linter 2044 publishermock-tiktok-shop 2045 measurermetrics-simulator 2046 reallocator policy:kill-scale budget-cap-guard indie@dtc-box:~$ seedctl agents brief 29 ── creator brief #29 → @derm.with.dani ── hook: "the 1 ingredient dermatologists won't shut up about" beats: 3 · 18–24s · clinical-proof angle (B) caption: "...results in 2 weeks. #ad #sponsored" ← non-removable shop: pinned product link · TikTok Shop checkout guard: disclosure-linter passed · community-guidelines v2026 passed indie@dtc-box:~$ seedctl pause # stop spend instantly, keep state ⏸ agent paused. $551.79 deposit preserved. resume: seedctl hire --resume