Перейти к содержанию

AACSearch SaaS Platform - Документация

Обзор платформы

AACSearch - это многоарендная (multi-tenant) SaaS-платформа для поиска, построенная на микросервисной архитектуре. Платформа объединяет четыре основных компонента:

Компонент Технология Расположение Назначение
API Hono + Cloudflare Workers /root/api Центральный API-шлюз, проксирование Typesense, биллинг
App (Panel) shadcn-admin-kit (React 19 + ra-core + shadcn/ui) /root/app/panel/ Клиентская панель управления поиском, биллингом, коллекциями
Auth Zitadel (self-hosted) /root/auth Аутентификация и авторизация (OIDC/OAuth 2.0)
Billing Lago (self-hosted) /root/billing Биллинг, подписки, учёт использования

Серверная инфраструктура

Сервер IP Сервисы
Auth/Billing сервер 185.130.225.35 Zitadel, Lago, PostgreSQL, Redis
Typesense сервер 66.151.40.118 Typesense (поисковый движок)
API (Edge) Cloudflare Workers Hono API, KV Cache, D1, Queues

Домены

Домен Назначение
api.aacsearch.com API-шлюз (Cloudflare Worker)
auth.aacsearch.com Сервер аутентификации (Zitadel)
billing-api.aacsearch.com API биллинга (Lago)
billing.aacsearch.com Панель управления биллингом (Lago Frontend)
app.aacsearch.com Клиентская панель (Cloudflare Pages)
platform.aacsearch.com Клиентская панель (альтернативный домен)
docs.aacsearch.com Документация API (Scalar UI)

Архитектура взаимодействия

graph TD
    Client["Клиент<br/><i>Panel SPA / SDK / Machine User</i>"]

    subgraph CF["api.aacsearch.com — Cloudflare Workers (Edge)"]
        direction TB
        MW["<b>Middleware Chain</b><br/>0. resolveSecrets()<br/>1. CORS<br/>2. Auth (JWT / Session / Key)<br/>3. Tenant Resolver<br/>4. Billing Gate<br/>5. Rate Limiter<br/>6. Feature Gate"]
        subgraph Handlers[" "]
            direction LR
            H1["Search<br/>Docs / AI<br/>Billing"]
            H2["Engine<br/>Proxy<br/>DataSrc"]
            H3["Auth V2"]
        end
        Storage["KV Cache &bull; D1 &bull; Queue &bull; Secrets Store"]
        MW --> Handlers
        Handlers --> Storage
    end

    subgraph TS["Typesense — 66.151.40.118"]
        Typesense["Typesense<br/>Search Engine<br/>Port 13000"]
    end

    subgraph Auth["185.130.225.35"]
        Zitadel["Zitadel<br/>OIDC / OAuth 2.0<br/>Port 8090"]
        Lago["Lago<br/>Usage Billing<br/>Port 3000"]
        DB["PostgreSQL &bull; Redis &bull; Sidekiq"]
        Zitadel ~~~ Lago
        Lago --- DB
    end

    Client --> CF
    H1 & H2 --> Typesense
    H3 --> Zitadel
    H1 --> Lago

Подробная документация

Тарифные планы

План Rate Limit (запросов/мин) Особенности
starter_v1 100 Базовый набор функций
professional_v1 500 Расширенные функции (синонимы, курирование и др.)
enterprise_v1 Без ограничений Полный функционал
payg_v1 1000 Оплата по факту использования

Тестовые тенанты

Тенант План Org ID Machine User ID
Professional professional_v1 359306499614310403 359306552479318019
Starter starter_v1 359312301376929795 359312311728472067