WORK 07 · Current

Порталы и платформы · Legal / contract intelligence

AIARM: документный workspace, анализаторы и AI team

AIARM: области, ~35 анализаторов, AI-команда, претензии — v0→v3 оболочки.

Роль: Архитектура модульного монолита

  • 16сервис-модулей
  • ~35анализаторов
  • 2 режимаtools vs AI-команда
  • RBACобласти

Задача

Нужен доверяемый разбор договоров и опциональный LLM без потери ролей, аудита и воспроизводимости. «Чат с PDF» не проходит юридическую приёмку и смешивает магию промпта с ответственностью.

Результат

16 apps + MPA: Области, договоры как задачи, анализаторы, AI-команда (Explainer/RCA), approvals, claims, BYOK/Celery AI — SEO-воронка без обхода RBAC.

  • Django
  • Celery
  • Redis
  • REST API
  • analyzers

Ставка

Не чат с PDF

Юрист и закупщик платят за воспроизводимый след проверки, не за разговорчивую модель. Ошибка в договоре дороже красивого UI.

AIARM («Интеллектуальный анализ документов», aiarm.ru) — документный портал: hybrid MPA на Django SSR + vanilla JS и 16 сервис-apps под /api/…. Ставка продукта: детерминированные анализаторы и процесс дают базу доверия; LLM ускоряет объяснения под BYOK и ролями. Смешать это в одну кнопку — потерять приёмку.

Ниже — инвентарь того, что построено в docproject: области, договоры как задачи, сетка проверок, AI-команда, согласования, претензии, эволюция оболочки. Не пересказ лендинга и не обещание «200 живых tools».

  • Сначала проверяемый инструмент и процесс
  • Потом управляемый AI под ключами клиента
  • Публичная воронка не открывает чужие документы
доверие

Оболочка

Эволюция оболочки: v0 → v3

Четыре эпохи UI на одном ядре: монолитный workspace → секции документа → Tools Home → workspace-first Области.

v0 — крупный project workspace в одном экране. v1 — документ разбит на задачи (сводка, проверка, финансы, сроки…). v2 — /app/ Tools Home, tool chrome, дашборд «Договоры» как инструмент. v3 — post-login /workspaces/, Области в навигации, typed projects, deep-link /app/open/….

Стек зафиксирован: SSR + острова JS, без React/Vue. AI-команда отдельно пережила редизайн каталог vs рабочая область. Менялась оболочка — не ломали доменные границы apps и API.

  • v0 — монолитный workspace.html
  • v1 — документ как набор экранов-задач
  • v2 — /app/ registry + tool chrome
  • v3 — Области и typed projects
оболочка · эпохи

Области

Области и RBAC

Контейнер дел с ролями владелец / редактор / наблюдатель — blast radius на уровне области и проекта.

Области (/workspaces/) — центр v3: участники, приглашения, файлы области, переключатель в шапке. Типизированные проекты: договор, претензии, AI-команда, изображения, Explainer, RCA. «Договоры» в продукте — linked tool на dashboard, не личный чат с файлом.

На уровне проекта — owner/admin/editor/viewer. Компании и контрагенты живут отдельным контуром рядом. Это B2B-сценарий с аудитом доступа, а не «залил PDF и спросил модель».

  • Роли области: владелец / редактор / наблюдатель
  • Typed projects: договор, претензии, AI, Explainer, RCA…
  • Участники, приглашения, файлы области
  • Права на уровне проекта (collaboration)
области · rbac

Документ

Документ как задачи

Upload → extract → phase 1 safe → confirm type → phase 2 full; карточка документа — отдельные экраны, не одна простыня.

File processing вытаскивает текст из PDF/DOC/DOCX/XLS/изображений. Типы документов задают пайплайн анализаторов. Карточка: сводка, проверка, финансы, сроки, условия, структура, таблицы, о документе, согласование.

Тяжёлый анализ договоров идёт синхронно в gunicorn с flock-lock (OOM/spaCy), не в Celery. Пользователь видит статусы фаз; NLP-кэш и clause parse держат повторяемость. Search и compare — отдельные входы в продукт.

  • Extract + preprocess
  • Phase 1: безопасный старт анализаторов
  • Phase 2: полный разбор по типу документа
  • Секции карточки вместо одного бесконечного экрана
пайплайн документа

Анализаторы

~35 анализаторов как база доверия

Шесть UI-групп: финансы, сроки, юридическое, извлечение, документ, безопасность — f(input)→output для приёмки.

Зарегистрированная сетка детерминированных проверок проходит юридическую приёмку лучше, чем «модель подумала». Рядом — keywords/типовые пункты и отдельные compare-API: текст, реквизиты, спецификации, cross-doc, НДС/валюта — мощный слой вне основного registry, который легко недооценить.

Конструктор договоров и compliance-контуры дополняют сценарии «собрать» и «проверить». Сознательно не подменяли анализаторы одним промптом на всё.

  • Финансы / даты / юридическое / извлечение / документ / безопасность
  • Compare: text, requisites, spec, cross-doc
  • Keywords и clauses по проекту
  • Конструктор шаблонов рядом с разбором
анализаторы

AI-команда

AI-команда отдельно

Помощник · рабочая область · шаблоны · история · каталоги: packs, skills, workflows — не смешивать с детерминированными tools.

AI-команда: состав, готовые сценарии, скилы, мои команды. Backend — packs/agents/workflows/sessions/artifacts. Связанные продукты: AI-изображения, Explainer-статьи, RCA / 5 Whys с export. UX разделяет каталог и workspace-цепочку запуска.

Два режима ценности на одном портале. Если LLM снова станет «главной кнопкой», доверие к сетке анализаторов размоется — граница держится намеренно.

  • IA: помощник / область / шаблоны / история
  • Packs, agents, WorkflowRun, sessions
  • Explainer, RCA, AI-изображения
  • Отдельный контур от ANALYZERS registry
ai-команда

Процесс

Согласования и версии

Approval routes, цепочка версий и diff — процесс ограничивает ошибку сильнее внимательности.

Маршруты согласования на проект: шаги sequential/parallel, дедлайны, вкладка на документе. Versioning фиксирует, какая редакция ушла на утверждение; сравнение редакций уменьшает спор «мы утверждали другое».

Журнал активности, уведомления и summary ведут к деталям анализаторов. Export ZIP пакует документы (и опционально претензию/опись) — артефакт для согласования важнее стриминга чата.

  • ApprovalService: маршруты и шаги
  • Цепочка версий + TextDiff
  • Activity / notifications
  • Export ZIP проекта
согласование · версии

Претензии

Претензии и протоколы разногласий

Отдельный bounded context: типы претензий, статусы, связь с файлами — не комментарии к PDF.

Претензии: просрочка, качество, оплата, неустойка, расторжение и др.; фильтры по области, AI-блок создания. Протоколы разногласий — соседний контур (disagreement), связанный в навигации, но отдельный app.

Конструктор и export рядом замыкают цикл «разобрать → собрать → выгрузить». Это пример модульного монолита: границы apps уже есть, микросервисы «по слайду» не резали до независимых команд и SLO.

  • Claims с типами и статусами
  • Протоколы разногласий
  • Связь с областью и документами
  • Конструктор + export в том же продукте
претензии

AI ops

BYOK и очереди AI

Ключи клиента шифруются; Celery только для AI (ai_fast / ai_slow); лимит параллельных jobs — без спонсорства чужих токенов.

Настройки AI-провайдеров: BYOK, баннер «нужен API-ключ». run_team_session → ai_fast, image generation → ai_slow. AIJob: queued → processing → completed/failed. Тяжёлый анализ договоров остаётся sync — Celery не маскирует стоимость NLP.

Честно: Stripe/prepaid SaaS-биллинга в backend нет; лендинговый «тариф 5 документов» не стоит читать как enforcement в коде. Продаём архитектуру ключей и очередей, не выдуманный биллинг.

  • BYOK + шифрование ключей окружения
  • Очереди ai_fast / ai_slow / default
  • Лимит параллельных AI-job на пользователя
  • Нет shipped MCP / нет Stripe в services
byok · очереди

Воронка

Публичная воронка без дыры

Features, guides, tools, solutions — SEO-каталог; рабочие мосты есть, но каталог ≠ все live.

Публичная шапка ведёт в возможности, руководства, инструменты, решения, сценарии. Реальные API-мосты (analyze, проверка подписи, курсы ЦБ) показывают пользу без онбординга в область клиента.

Внутри репозитория аудит tools-reality фиксирует: большая часть публичного каталога — SEO/find-stubs. В кейсе это важно: воронка греет трафик и доверие, но не обходит RBAC и не равна «200 зрелым продуктам». Маркетинговый tool не должен стать дырой в workspace.

  • Хабы: features / guides / tools / solutions / use-cases
  • Рабочие мосты: analyze, digital signature, CBR
  • Честно: много публичных URL — SEO, не полный auth-паритет
  • Изоляция публички от областей и документов
воронка · seo

Итог

Итог

AIARM держит линию: сначала проверяемый инструмент и процесс, потом управляемый AI. Документный портал выигрывает областями, анализаторами и границами apps — не скоростью ответа чата.

Покупаете воспроизводимый след проверки, RBAC и согласования; AI-команда под BYOK — когда Explainer и RCA нужны без потери приёмки.