Files
autoreg-skills-max/skills/bulk-account-registration/references/abai-autoplus-minimal-packaging.md

5.5 KiB
Raw Blame History

aBaiAutoplus Minimal Packaging (2026-07-30)

Rule

When user asks for "архив с авторегом ChatGPT" or "только то что нужно для регистрации", package ONLY the minimal deployable runtime. Do NOT include: tmp_versions/, mail-lists/, conol_github/, velokey/, sepa/, proxy-scripts/, telegram_exports/, tools/, or individual scripts. Result: ~1.4MB (not 34MB).

Required Modules for Minimal Runtime

These are the modules aBaiAutoplus imports at startup. Missing any = ModuleNotFoundError.

aBaiAutoplus/
├── main.py                  # Entry point (required)
├── gateway.py               # Gateway service (required)
├── requirements.txt         # Dependencies
├── .env                     # Environment config
├── .env.example             # Reference
├── account_manager.db       # SQLite with accounts + captcha keys
│
├── application/             # Business logic layer (14 files)
├── domain/                  # Domain models (5 files)
├── infrastructure/          # Provider definitions, repos (8 files)
├── codex_auth/              # Codex auth integration (9 files)
│
├── providers/               # ALL providers (NOT just captcha+mailbox!)
│   ├── registry.py          # Loads ALL providers at startup
│   ├── __init__.py
│   ├── captcha/             # rucaptcha.py, twocaptcha.py, etc.
│   ├── mailbox/             # imap_pool.py, api_mailbox.py, etc.
│   └── proxy/               # Proxy providers (3 files)
│
├── platforms/               # ALL platforms (NOT just chatgpt!)
│   ├── chatgpt/             # Target platform
│   ├── cursor/              # registry.py imports this
│   └── kiro/                # registry.py imports this
│
├── core/                    # Core runtime (executors, registry, etc.)
├── services/                # solver_manager, task_runtime, turnstile
├── api/                     # FastAPI route handlers
├── data/                    # IMAP pool state + other runtime data
└── customer_portal_api/     # Portal integration

Pitfall: Copying only platforms/chatgpt/ fails — core/registry.py does importlib.import_module(f"platforms.{name}.plugin") for ALL platforms. Same for providers/ — providers/registry.py must exist.

Pitfall: Copying only providers/captcha/ and providers/mailbox/ fails — main.py imports providers.registry.

Exact Build Recipe

import os, shutil

SRC = r"C:\Users\User\Desktop\_PROJECTS\oai-register\aBaiAutoplus"
DST = r"C:\Users\User\Desktop\GPT-AUTOREG\aBaiAutoplus"

# 1. Remove old
if os.path.exists(DST):
    shutil.rmtree(DST)

# 2. Copy entire providers/ and platforms/ (registry.py loads all)
shutil.copytree(os.path.join(SRC, 'providers'), os.path.join(DST, 'providers'),
    ignore=shutil.ignore_patterns('__pycache__', '*.pyc'))
shutil.copytree(os.path.join(SRC, 'platforms'), os.path.join(DST, 'platforms'),
    ignore=shutil.ignore_patterns('__pycache__', '*.pyc'))

# 3. Copy required directories
for d in ['application', 'domain', 'infrastructure', 'codex_auth', 'core',
          'services', 'api', 'data', 'customer_portal_api']:
    s = os.path.join(SRC, d)
    if os.path.isdir(s):
        shutil.copytree(s, os.path.join(DST, d),
            ignore=shutil.ignore_patterns('__pycache__', '*.pyc'))

# 4. Copy root files
for f in os.listdir(SRC):
    if f.endswith('.py') or f in ('.env', '.env.example', 'requirements.txt',
        'account_manager.db', 'start_with_go_gateway.bat',
        'start_with_go_gateway.ps1'):
        src_f = os.path.join(SRC, f)
        if os.path.isfile(src_f):
            shutil.copy2(src_f, os.path.join(DST, f))

# 5. Copy email pool
shutil.copy2(
    r"C:\Users\User\Desktop\solenne_de_emails.txt",
    r"C:\Users\User\Desktop\GPT-AUTOREG\emails.txt"
)

# 6. Package
# tar czf GPT-AUTOREG.tar.gz GPT-AUTOREG/

Verification Before Handover

# 1. Start server
cd GPT-AUTOREG/aBaiAutoplus && python -u main.py &
sleep 6

# 2. Health check
curl -s http://localhost:8000/api/health
# Must return: {"ok":true}

# 3. Test registration (just one account to prove it reaches OpenAI)
curl -s -X POST http://localhost:8000/api/tasks/register \
  -H "Content-Type: application/json" \
  -d '{"count":1,"concurrency":1,"executor_type":"protocol","captcha_solver":"auto","extra":{"mail_provider":"imap_pool","identity_provider":"mailbox"}}'

# 4. Poll task — must show status "running" (reaches OpenAI even if rejected)
# Rejections (invalid_auth_step, account_deactivated) = system works, OpenAI's side

Common Failure Trail

Error Missing Module
ModuleNotFoundError: No module named 'application' Copy application/
ModuleNotFoundError: No module named 'providers.registry' Copy entire providers/ (not just captcha+mailbox)
ModuleNotFoundError: No module named 'platforms.cursor' Copy entire platforms/ (not just chatgpt)
ModuleNotFoundError: No module named 'domain' Copy domain/
Server starts, health=ok, tasks run ✅ Done

Archive Size Reference

Full "everything" archive:  34 MB  (381 files)
Minimal ChatGPT autoreg:     1.4 MB (306 files, ~221 aBaiAutoplus + emails)

Add pointer to skill

Wait — the skill already has 84 pitfalls. Adding #47 doesn't break anything, but the old #47 (truncated keys) is now #48. The curator handles renumbering. Better to not worry about number collisions — just reference by path.