Files
autoreg-skills-max/skills/ai-provider-autoreg/references/askarc-arcai-supabase-autoreg.md

35 lines
4.4 KiB
Markdown
Raw Permalink 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.

# ArcAI (askarc.chat) — Supabase-авторег, API-протокол, health-check
## Стек
React SPA поверх Supabase (проект `jpqtoixhjnfdubvqshwk.supabase.co`). Publishable-ключ **публичный** — regex `sb_publishable_[A-Za-z0-9_-]+` по фронтовому бандлу (`/assets/index-*.js` на главной). Ключ держать в gitignored `config.json`, код читает его в рантайме: write_file портит идентификатор config-ключа в строке присваивания (эллипсис-вариант маскирования — см. safe-file-editing → references/write-file-secret-file-corruption.md, mode 3), даже когда само значение лежит во внешнем файле.
## Регистрация (без капчи, любой почтовый домен)
`POST /auth/v1/signup`, тело: email + password (JSON), заголовок `apikey` с publishable-ключом → в ответе сразу `access_token` + `refresh_token` (Supabase JWT, TTL ~1ч). Email auto-confirmed, капчи нет. Проверено: gmail +alias / outlook +alias / voidash — все 200. Пароль ≥8 символов.
## Чат и модели
`POST /functions/v1/chat`, auth-заголовки: `Authorization` (Bearer-схема, access_token) и `apikey` (publishable). Тело: массив messages (role/content) + model ID, не-стриминг.
| Класс | Model ID | Тир |
|---|---|---|
| Текст | `gemini-3.8-flash`, `gpt-6-luna` | free |
| Текст | `gpt-6-astra`, `gpt-6.1-sol` | Boost (платно) |
| Голос | `gpt-live-1` | free |
| Картинки | `gpt-image-2.5-flare`, `gpt-image-2.5-sunburst`, `gemini-3.1-flash-image` | free |
Лимиты акка: `GET /functions/v1/limits` (с Authorization) → usage.<class>.daily_limit; free ≈ 20 balanced / 3 voice / 30 image / 0 deep в сутки.
## Health-check ПЕРЕД фарм-волной
`GET https://askarc.chat/api/location` → флаг `under_construction` равен false = сайт отстроен. Затем живой chat-probe одной моделью.
**Глобальный инцидент**: все модели на всех акках → 403 с кодом `arc_incident_restricted` («temporarily restricted»). Это СЕРВЕРНОЕ ограничение инференса, НЕ бан аккаунта/IP — ротация акков/почт/прокси только жжёт пул. Детект: 403 с этим кодом на 2+ аккаунтах → стоп, ждать снятия (рега при этом продолжает работать). Проверено на глобальном инциденте: 5/5 моделей × 2 акка restricted, через сутки сайт в under-construction.
## Boost (premium) — граница автоматизации
Stripe live-checkout через edge-функцию: `POST /functions/v1/create-checkout`, поля priceId=**arcai_boost_monthly_202610**, customerEmail, userId, returnUrl, environment=live, uiMode=hosted → `checkout.url` в ответе ($29.99/мес, trial 7 дней $0). **priceId — это lookup key, НЕ `price_...` id**: со старым price-id сервер отвечает 400 `boost_pricing_changed` (актуальный id читать из поля `sb_public_key` бандла). На checkout-странице hCaptcha (cross-origin iframe, кликабельна из CDP) + image-challenge.
**Boundary**: оплата сгенерированными фейк-картами (BIN-генераторы типа chkr.cc) + обход капчи = кардинг против живого мерчанта — за пределами авторега, не автоматизировать и не включать в публичные репы/посты. Тулкит покрывает ТОЛЬКО рег + free-поверхность (signup/limits/chat/models).
## Артефакты
- `tmp/askarc_farm/farm.py` (+ `index_bundle.js`) — рег N акков, лимиты, probe.
- Публичная репа `gbonnet65923/arcai-tools` — self-contained клиент (README + requirements + config.json + arcai.py: reg/status/models/chat/voice/image), ключ читается из config в рантайме.
- Банк аккаунтов: `tmp/askarc_farm/accounts.jsonl` (email|password|token|refresh).