Команда и роли

Пространство — это граница данных, а не папка

Внутри рабочего пространства лежат сценария и их версии, история запусков и логи, файлы, коллекции базы данных, базы знаний с векторами, память агентов и переменные, секреты, интеграции с внешними сервисами и история чатов. Ни один из этих объектов не виден из соседнего пространства — запросы к ним скоупятся по идентификатору пространства на уровне хранилища, а не фильтром в интерфейсе.

Отсюда простое правило раскладки: пространство заводят там, где данные не должны смешиваться — отдельный клиент, отдельное юрлицо, отдельная команда с чужими секретами. Заводить по пространству на каждый сценарий смысла нет: они попадут в разные квоты, а каждое пространство держит свою копию секретов, документов и файлов.

Доступ человека к пространству — это строка членства с ролью. Нет строки — пространства для него не существует: оно не появится в переключателе и любой запрос к нему ответит «не найдено», а не «нет прав».

Три роли

Роль решает, что человек может делать внутри одного пространства. У одного и того же человека могут быть разные роли в разных пространствах.

  • Наблюдатель — читает. Видит сценарии и их версии, историю запусков с логами, файлы, коллекции, базы знаний, историю чатов. Ничего не запускает и не меняет.
  • Редактор — работает. Всё, что делает наблюдатель, плюс правка и публикация сценария, запуск, чат, ассистент, загрузка файлов и данных.
  • Администратор — распоряжается пространством: участники, секреты, интеграции, виджет, white-label, ключ Assistant MCP, расход пространства.
Действиенаблюдательредакторадминистратор
Смотреть сценарии, версии, запуски и логидадада
Проверить граф валидацией и автопочинкойдадада
Читать историю чата, файлы, коллекции, базы знанийдадада
Видеть список интеграций (без секретных полей)дадада
Создавать, править и удалять сценарийнетдада
Запускать сценарий, писать в чат, отменять запускнетдада
Публиковать и снимать с публикациинетдада
Загружать файлы, править коллекции и базы знанийнетдада
Работать с ассистентом в редакторенетдада
Удалять историю чата и состояние ноднетдада
Видеть имена секретов (значения — никто)нетдада
Создавать и менять секреты и интеграциинетнетда
Переименовать пространство, править состав участниковнетнетда
Настроить виджет, white-label, ключ Assistant MCPнетнетда
Смотреть расход кварков этого пространстванетнетда
Стереть записанную историю Telegram-группынетнетда

Две строки в этой таблице стоит прочитать дважды. Первая: наблюдатель читает всё, что касается данных — историю чатов с клиентами, загруженные файлы, содержимое коллекций. Это роль «смотреть, не трогая», а не «видеть только вывеску». Вторая: значение секрета не показывается никому и никогда, включая администратора, который его создал; видны только имена — они нужны редактору, чтобы писать {{ secret.ИМЯ }} в шаблонах.

Право проверяет сервер, на каждом запросе — обойти роль, обратившись к API напрямую, нельзя. (Ключ Assistant MCP — отдельная дверь со своим набором прав, не ролью: см. «Доступ по API».) А вот интерфейс сегодня прячет по роли только настройки пространства и расход: кнопки правки и запуска наблюдателю по-прежнему видны и отвечают «нет прав» при нажатии. Это шероховатость, а не дыра — но предупредить коллегу стоит заранее.

Владелец — не роль, а отдельная сущность

Владелец пространства — тот, кто его создал. Он всегда числится администратором, но отличается от остальных администраторов тремя вещами:

  • его нельзя удалить из пространства и нельзя понизить — оба действия отвергаются;
  • на него записан счёт: кварки за любой запуск, чей бы он ни был, списываются с баланса владельца, и его тариф решает лимиты пространства (см. «Лимиты тарифа»);
  • он не занимает место в квоте участников. Тариф «на N участников» означает N приглашённых плюс владельца.

Владельцу же принадлежит операция, которой нет ни у одного администратора: бюджет пространства в кварках. Она описана ниже.

Как добавить человека

  1. Откройте Настройки → Рабочее пространство.
  2. В блоке Добавить участника введите email коллеги и выберите роль.
  3. Нажмите Добавить. Подтверждение скажет, что именно произошло из двух: человек добавлен или ему отправлено приглашение.

Форма одна, исходов два, и различает их наличие аккаунта Iterna на этом адресе. Если аккаунт есть, человек становится участником сразу и увидит пространство в переключателе при следующей загрузке страницы — письма нет и ждать нечего. Если аккаунта нет, на почту уходит приглашение.

Приглашение — это ссылка, действующая 7 дней. Она предлагает войти или создать аккаунт и добавляет человека в пространство сразу после этого — в той роли, которую вы выбрали при отправке. До тех пор оно лежит в блоке Приглашения того же раздела: адрес, роль и дата, после которой ссылка перестанет работать. Кнопка в строке отзывает приглашение, и отозванная ссылка перестаёт работать немедленно.

Роль меняется выпадающим списком в строке участника и применяется сразу — переспрашивать и сохранять отдельно не нужно. Удаление участника снимает членство немедленно: активная вкладка перестанет работать на первом же запросе.

Бюджет пространства

Бюджет ограничивает, сколько кварков это пространство может потратить за расчётный период. Когда он исчерпан, запуски здесь останавливаются, а остальные пространства продолжают работать — деньги общие, а рационируется одно направление работы.

  1. Откройте Настройки → Рабочее пространство.
  2. В блоке Бюджет пространства введите число кварков.
  3. Нажмите Сохранить.

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

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

Что записывается в журнал

Вход, добавление и удаление участника, смена роли и правка секретов и интеграций записываются с временем, автором и IP-адресом. Журнал нужен на случай спора о том, кто именно поменял настройку, и хранится независимо от того, остался ли этот человек в пространстве.