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

133 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
```python
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
```bash
# 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.