Problem
The UI takes one query per Submit. Analyzing 50 keywords means 50 manual clicks.
Proposal
Add a 📋 批量 tab / expander that accepts a textarea (newline-delimited) or CSV upload with a query column; enqueues N jobs sequentially with a progress bar and a cancel button.
Design considerations
- SerpAPI credit burn is N (compare mode = 2N) — show total cost before confirming.
- Reuse the 24h cache: deduplicate identical (query, lang, country) rows before dispatch.
- Export should roll up into one multi-query Markdown / CSV.
- Failure handling: one job's BLOCKED_RATE_LIMIT should not kill the remaining batch.
Out of scope for MVP
Scheduler / cron — this is a manual bulk button, not a background service.
Problem
The UI takes one query per Submit. Analyzing 50 keywords means 50 manual clicks.
Proposal
Add a
📋 批量tab / expander that accepts a textarea (newline-delimited) or CSV upload with aquerycolumn; enqueues N jobs sequentially with a progress bar and a cancel button.Design considerations
Out of scope for MVP
Scheduler / cron — this is a manual bulk button, not a background service.