Пространства — это изолированные области для организации контента по командам, проектам или темам.


#Типы пространств

Корпоративное Приватное Личное
Тип Описание Кто видит
Корпоративное Основное пространство организации. Создаётся при регистрации. Все участники организации (кроме тех, кому выставлен «Доступ ограничен»)
Приватное Для конкретной команды или проекта с ограниченным доступом. Только явно добавленные участники
Личное Личные заметки пользователя. Создаётся автоматически при первом входе. Только владелец (даже Admin организации не видит содержимое)

Публичный доступ — это не тип пространства. Открытость статьи анонимным посетителям задаётся её состоянием публикации (Публичная), а не типом пространства. См. Публичная база знаний.


#Создание пространства

  1. Перейдите в Настройки → Пространства
  2. Нажмите «+ Создать пространство»
  3. Введите название
  4. Выберите тип (Корпоративное / Приватное)
  5. Нажмите Создать

Лимит пространств зависит от тарифного плана. Личное пространство создавать не нужно — оно появляется автоматически.


#Настройка пространства

Нажмите кнопку настроек (шестерёнка) на карточке пространства:

  1. Название — изменить
  2. Тип — Корпоративное или Приватное
    • Корпоративное — все пользователи организации видят пространство по умолчанию
    • Приватное — доступ только у тех, кого явно добавили в пространство

#Участники пространства

Нажмите кнопку «Участники» на карточке:

  1. Список текущих участников с ролями
  2. Роли в пространстве (независимо от глобальной роли):
Admin Editor Viewer
  1. Добавить участника — из списка пользователей организации
  2. Изменить роль — кликните на pill
  3. Удалить из пространства — кнопка trash (нельзя удалить последнего админа)

#Переключение между пространствами

В боковой панели (sidebar) есть Space Switcher:

  1. Нажмите на текущее пространство в шапке sidebar
  2. Откроется dropdown со всеми пространствами, где у вас есть доступ (SpaceMember)
  3. Кликните для переключения
  4. Контент (статьи, коллекции, поиск, AI-ответы) фильтруется по выбранному пространству

Специальные пункты в dropdown:

  • 🌐 Публичные статьи — виртуальное пространство __public__ со всеми статьями, у которых publish_state=public и которые лежат в публичных пространствах. Технически это не реальное пространство в БД, а сборник публичных статей, отфильтрованных по условию. Используйте, чтобы увидеть ровно то, что видит анонимный посетитель Public KB.
  • 🔒 Моё пространство — личное пространство, видное только вам (см. ниже)

#ADR 0008 — поиск всегда в одном пространстве

В LiKE поиск работает в контексте одного пространства за раз — это сознательное архитектурное решение (ADR 0008). Невозможно сделать запрос «искать сразу во всех пространствах».

Причины:

  • Качество RAG — смешение контекстов из разных пространств снижает релевантность ответов (signal dilution)
  • Privacy by construction — один SQL-фильтр гарантирует, что юзер не увидит контент из чужого пространства даже при баге в коде
  • Семантическая чистота — пространства существуют, чтобы разграничивать темы; поиск «по всему» обнуляет смысл разграничения

Поэтому смена пространства в SpaceSwitcher обязательна при работе над разными темами. Если вы видите ответ «не нашлось» — возможно, нужная статья в другом пространстве; переключитесь и повторите запрос.


#Удаление пространства

Удалить пространство может только Owner или Admin организации. Space Admin одного пространства не может удалить само это пространство — это страховка от случайной потери крупного объёма данных.

#Soft-delete (в Корзину)

  1. Настройки → Пространства → нажмите trash на карточке (либо контекстное меню в SpaceSwitcher)
  2. Подтвердите — модалка покажет количество статей, коллекций и участников
  3. Пространство со всем содержимым отправляется в Корзину с retention по тарифу (7–90 дней)

#Восстановление

В Корзине найдите пространство (фильтр «Тип: Пространства») → кнопка «Восстановить». Возвращается со всеми коллекциями, статьями и участниками на момент удаления.

#Окончательное удаление

Досрочное удаление до истечения retention:

  1. Корзина → найдите пространство → «Удалить навсегда»
  2. Двойное подтверждение (ввод названия пространства для защиты от случайного клика)
  3. Безвозвратное удаление: все статьи, коллекции, embeddings, кэш AI-ответов из этого пространства стираются из БД

Permanent delete доступно только Owner / Admin организации. Space Admin своего пространства не может его permanent-удалить.


#Ограничения

  • Нельзя удалить последнее корпоративное пространство организации (организация не может остаться без основного пространства)
  • Нельзя удалить последнего админа из пространства (всегда должен быть кто-то с правами управления)
  • Личные пространства видны только создателю (даже Admin организации не видит содержимое)
  • Лимит пространств зависит от тарифа:
    • Free: 1 пространство
    • Starter: 3
    • Pro: 10
    • Enterprise: безлимит

#Личные пространства

При регистрации каждому пользователю автоматически создаётся личное пространство («Моё пространство»).

  • Видно только создателю (даже Admin не видит содержимое)
  • Отображается в SpaceSwitcher с иконкой пользователя
  • Используется для черновиков, личных заметок, экспериментов

#Роли в пространствах (Space Members)

Каждое пространство имеет собственные роли, независимые от глобальной роли в организации:

Роль в пространстве Возможности
Admin Полный доступ: управление участниками, настройки, удаление
Editor Создание и редактирование статей внутри пространства
Viewer Только чтение статей пространства

Это роли пространства — не путайте с ролями организации (Owner / Admin / Editor / User / Guest). Как они комбинируются — в статье Роли и права доступа.

Управление: откройте пространство → НастройкиУчастники → добавить/изменить роль/удалить.

Глобальный Admin автоматически получает роль Admin в каждом пространстве.