Notion → ChatGPT → Gemini → Notion images pipeline. v6 adds multi-account auto-login + auto-rotation when Gemini hits 1095 (content-policy filter) or "Image Generation Limit Reached" (daily quota).
FETCH ─→ REFINE ─→ PROMPTS ─→ IMAGES ─→ UPLOAD
Notion ChatGPT ChatGPT Gemini Notion (zip + refined MD)
↓
on 1095 or quota
↓
rotate accounts.json → sign-out → sign-in next account → resume
- Extract the zip / clone this repo
setup.bat(one-time — installs deps + launches the two Chrome windows)- Sign in to ChatGPT (Window 1, port 9222) and Gemini (Window 2, port 9223) — or fill
accounts.jsonand v6 will auto-login - Edit
lessons.txtwith chapters to generate start.bat
See RUN.md for the full runbook.
accounts.json— multi-account credentials file (gitignored). Schema inaccounts.json.example.auto_login.py— Python wrapper that signs into ChatGPT + Gemini using accounts.json (falls back to .env for backward compat).start.batinvokes it before the manual-sign-in pause.tools/accounts.py— rotator with persistent state in.cca/active_accounts.json. CLI:python -m tools.accounts {get|rotate|reset|status} <provider>.scripts/save_images.cjs— addsdetectBlocker()that catches Gemini 1095/quota error UI and logs to.cca/blocker_alerts.json.scripts/run_autonomous.cjs— reads alerts each tick; on threshold (3+ unique-tab 1095 in 2 min, or any quota) triggers full rotation cycle: kill children → rotate accounts.json pointer →auto_login.py --force-resignin --skip-chatgpt→ respawn.
If you have a working v5 install, you can keep it. v6's auto-login falls back to v5's .env-based credentials when accounts.json is absent. To get rotation, create accounts.json from the example and add 2+ Gemini accounts.
Same as v5: Windows, Node ≥ 14, Python ≥ 3.10, Chrome installed, Notion integration with Insert content.
MIT.