Обзор
Принятое направление · решено 2 октября 2026, дополнено 5, 6 и 11 октября 2026 · вход, роли, магазины, люди и приглашения созданы 6 и 11 октября 2026, новый внешний вид, экраны графиков, запросы на изменения и демо экрана ассистента по сценарию — 11 октября 2026, вместо него вкладка Assistant с 14 октября 2026 показывала «In development», ассистент снова включён — живой чат с агентом магазина там, где API говорит, что он доступен, демо по сценарию удалено, ассистент магазина на страницах магазина — 19 октября 2026, проверено только с локальным Agentfy, общее ядро API (команды, сессии, приглашения и сброс пароля письмом, API-ключи) — 15 октября 2026, дневной вид графика и лист месяца — 16 октября 2026, отдельное админ-приложение для настроек — 18 октября 2026, права управляющего в своём магазине — 19 октября 2026, владельцы входят только после одобрения администратором платформы — 23 октября 2026, больше ничего не реализовано, ничего не развёрнуто · управляющий необязателен для сотрудника 23 октября 2026, не развёрнуто · список должностей владельца 30 октября 2026, не развёрнуто · локальное демо пишет только make seed — 30 октября 2026
Согласованное решение — одно приложение и для управляющих, и для сотрудников: в браузере и, пока, на телефонах через Capacitor, — а за ним один API. Из всего этого созданы только вход, три роли (владелец, управляющий, сотрудник), магазины, люди, приглашения, графики и запросы на изменения — в API, а в приложении магазины и люди владельца, меню каждой роли, графики, которые может видеть каждая роль, решения по запросам и слежение за ними, и чат ассистента с агентом каждого магазина на Agentfy, проверенный только с локальным Agentfy, — и ничего не развёрнуто.
Одно приложение, три роли. Владелец, управляющий и сотрудник открывают одно и то же приложение и видят разные его части.
Из чего это состоит
| Часть | Что она будет делать | Статус |
|---|---|---|
| Приложение | Здесь управляющий описывает магазин, проверяет и публикует график, а сотрудник видит свои смены и просит об изменениях. Одна кодовая база на Nuxt. | Принятое направление; вход, регистрация владельца, экраны магазинов и людей владельца, меню каждой роли, экраны графиков и экраны запросов созданы (11 октября 2026), не развёрнуто — см. Что создано |
| Мобильное приложение | То же приложение, упакованное для iOS и Android с помощью Capacitor. | Принято на сейчас, не создано |
| Админ-приложение | Здесь собственные администраторы платформы Shiffty — не владелец, не управляющий и не сотрудник — ведут настройки платформы (Settings: подключение к Agentfy и его ключи), а с 23 октября 2026 отвечают на заявки владельцев на вступление. Отдельное приложение на Nuxt рядом с API и приложением, как в других наших продуктах; никого другого оно не пускает. | Создано (18 октября 2026, SHIF-36), не развёрнуто — см. Что создано |
| API | Хранит магазины, команды, правила, графики и запросы на изменения; всё, что показывает приложение, приходит из него. На NestJS, на том же ядре, что и наши другие продукты. | Принятое направление; учётные записи, вход, роли, магазины, люди, приглашения, графики и запросы на изменения созданы (6 и 11 октября 2026), общее ядро (15 октября 2026), не развёрнуто — см. Что создано |
| Агент магазина | Агент, с которым говорят управляющий и сотрудники магазина. Работает на платформе Agentfy, по одному агенту на магазин; сам чат рисуется внутри приложения. | Принятое направление (5 октября 2026); настройка агента магазина и чат созданы (13 и 19 октября 2026), проверены только с локальным Agentfy, размещённый Agentfy не подключён, не развёрнуто — см. Интеграцию с Agentfy |
| Сервер инструментов (MCP) | Его запускает Shiffty рядом с API: единственная дверь, через которую агент магазина дотягивается до инструментов Shiffty — с личностью человека, с которым он говорит. | Принятое направление (5 октября 2026); создан в API с семью инструментами, проверен только с локальным Agentfy, не развёрнут — см. Интеграцию с Agentfy |
| Агент составления графика и солвер | Превращают просьбы людей в ограничения, строят график и объясняют результат. | Гипотеза; первый солвер создан в API (19 октября 2026), его инструменты в каталоге агента, не развёрнут — см. Агент и солвер |
| Ассистент сотрудника | Принимает просьбу об изменении обычными словами, проверяет правила и готовит одно решение для управляющего. | Предложение; демо его экрана по сценарию создано 11 октября 2026, скрыто с 14 октября и удалено 19 октября 2026; живой чат с агентом магазина создан 19 октября 2026, проверен только с локальным Agentfy, не развёрнут — см. Ассистент сотрудника |
Как части будут связаны — это целевая схема, а не работающая система:
Управляющий Сотрудник
\ /
┌───────────────────────────────┐
│ Приложение (Nuxt) │ браузер · iOS и Android
│ одна кодовая база, две роли │ через Capacitor
└───────────────┬───────────────┘
│
┌───────────────┴───────────────┐ сообщения ┌─────────────────────┐
│ API (NestJS) │ ───────────▸ │ Агент магазина │
│ инструменты (MCP) · солвер │ ◂─────────── │ на Agentfy │
└───────────────────────────────┘ инструменты └─────────────────────┘Одно приложение на телефонах, через Capacitor — пока
Мобильное приложение — не второй продукт. Это то же приложение, которое управляющий может открыть в браузере, упакованное для iOS и Android с помощью Capacitor, а не написанное дважды как нативные приложения.
Что это значит для людей, которые им пользуются:
- Управляющий и сотрудник устанавливают одно и то же приложение. Что увидит каждый из них, определяет роль в учётной записи.
- Управляющий может работать и в браузере. Это то же самое приложение, а не отдельная панель администратора.
- «Пока» — часть решения. Capacitor — выбор для старта, а не навсегда. Что заставит нас его заменить и на что, не решено.
Остаётся открытым: как приложение распространяется, как люди узнают о новом графике или о решении, которое их ждёт, и работает ли что-нибудь без связи. Смогут ли сотрудники писать ещё и из мессенджера, которым уже пользуются (Telegram, Viber, WhatsApp), — открытый вопрос.
Как будет организован код
NestJS для API и Nuxt для приложения, организованные по CleanSlice — соглашению, по которому построены другие наши продукты: код сгруппирован по возможностям продукта, а не по техническим слоям.
Это выбор инструментов, а не проект функций. Первый набросок того, что будет храниться и что увидят люди, — на страницах Структура данных и Экраны.
Что создано
В репозитории есть первая работающая часть приложения и API — и только она. 11 октября 2026 она перестроена вокруг решения владельца о том, кто на кого работает; список компаний, страницы компании и записи о сотрудниках от 6 октября убраны.
- Владелец подаёт заявку на вступление с именем, названием своего бизнеса, почтой и паролем, а по желанию — с телефоном и числом магазинов; бизнес становится его командой (до 15 октября 2026 — компанией). Сами регистрируются только владельцы. С 23 октября 2026 (решение владельца проекта) регистрация — это заявка: владелец не может войти, пока администратор платформы не одобрит её в разделе Requests админ-приложения. Попытка войти раньше отвечает, что заявка на рассмотрении; после отказа — что заявка отклонена, с причиной администратора, если он её указал. Заявитель получает письмо, когда заявка пришла и когда на неё ответили; каждый администратор платформы получает письмо только о том, что пришла новая заявка и от кого (имя, бизнес, почта). Отклонённый заявитель может подать заявку снова с той же почтой; отклонённая заявка остаётся в истории. Администратор платформы может выключить одобренную компанию и включить её обратно: пока она неактивна, её владелец и все её люди не могут войти и видят причину, их сессии завершаются, API-ключи и ассистент перестают работать; ничего не удаляется, а после включения доступ возвращается. Одобрение делает компанию активной и, если Shiffty подключён к Agentfy, подключает ассистента компании (Интеграция с Agentfy). Владельцы, зарегистрированные раньше, считаются одобренными. Проверено автотестами API и один раз в рабочей копии; не развёрнуто.
- Все входят по почте и паролю и попадают в часть приложения своей роли: владелец — на
/owner, управляющий — на/manager, сотрудник — на/me. У каждой роли меню из прототипа — у владельца Assistant, Stores, People, Schedules и Requests; у управляющего Assistant, Schedules, People (с 19 октября 2026) и Requests; у сотрудника Assistant, My shifts, My requests и Waiting for you — и меню учётной записи с именем, ролью и выходом (Sign out). Что показывает вкладка Assistant — ниже; человек попадает на неё, когда ассистент ему доступен, а иначе на Schedules (владелец, управляющий) или My shifts (сотрудник) (19 октября 2026). - Владелец видит свои магазины карточками — адрес, часы работы, сколько управляющих и сотрудников, кто управляющие, — открывает магазин и видит его управляющих и сотрудников, у каждого сотрудника — его управляющий, и создаёт магазин с названием, адресом, часами работы и часовым поясом.
- Владелец видит всех людей на экране People с фильтром по роли и магазину: у каждого магазин, управляющий и статус.
- Список должностей владельца (30 октября 2026, по просьбе владельца): на People → Positions владелец заводит должности бизнеса — «Кассир», «Кладовщик», «Заместитель управляющего» — у каждой название и описание для ассистента, переименовывает их и архивирует. Один список для всех магазинов. Должность человека выбирается из него в приглашении и в окне человека и никогда не вписывается; управляющий выбирает её своим людям и не может менять список. Архивная должность остаётся у тех, у кого она есть, и не предлагается никому новому. Вписанные раньше должности превратились в должности списка, ничего не потеряно (Структура данных).
- Владелец приглашает управляющего или сотрудника в один из своих магазинов — с экрана People или со страницы магазина. Сотрудник подчиняется управляющему этого магазина, выбранному в форме, или никакому (необязательно с 23 октября 2026, решение владельца); в приглашении от управляющего сотрудник подчиняется ему, если тот не выбрал другого управляющего, — без управляющего сотрудника оставляет только владелец. С 15 октября 2026 ссылка уходит человеку письмом; диалог тоже один раз показывает её, чтобы скопировать и передать, если письмо не дошло. На экране People видны ещё открытые приглашения; владелец может отозвать то, которое ожидает ответа или истекло.
- Права управляющего в своём магазине (19 октября 2026, решение владельца): в своём магазине и только для его сотрудников — никогда для другого управляющего и никогда для себя — управляющий деактивирует и снова активирует человека, назначает ему другого управляющего того же магазина, приглашает сотрудников и отзывает эти приглашения, меняет часы работы и описание магазина. Раньше всё это было у владельца; у владельца остаются все права. У управляющего есть вкладка People с людьми его магазина (неактивные — в конце списка, чтобы снова сделать их активными) и его открытыми приглашениями, диалог Invite employee, закреплённый за его магазином, поля Reports to и Status в диалоге человека и Edit на странице магазина — только часы и описание; название, адрес, часовой пояс и статус остаются за владельцем. Новые часы не принимаются, если смены оказались бы вне их, как и у владельца. Каждое из этих изменений, в том числе владельца, записывается: кто его сделал, какого вида было изменение и какие поля изменились — но никогда не значения. Проверено автотестами API; не развёрнуто.
- Приглашённый человек открывает ссылку, видит магазин, роль и то, кому будет подчиняться, выбирает пароль и попадает на страницу своей роли. Ссылка работает один раз и в течение семи дней; истёкшая, использованная или отозванная ссылка говорит, какой из трёх случаев это.
- Забытый пароль (15 октября 2026): со страницы входа ведёт форма, которая присылает письмом одноразовую ссылку на час; она открывает страницу, где выбирают новый пароль, и это завершает вход везде.
- Общее ядро API (15 октября 2026, SHIF-25): та же основа, что и у наших других продуктов, поэтому они читаются и ошибаются одинаково. Все маршруты — под
/api; каждый ответ —{ success, data }, каждый отказ называет постоянный код, сообщение и id запроса; списки приходят страницами. Вход открывает сессию, которую можно завершить со стороны сервера, а кража старого токена обновления её завершает. Компания стала командой с ролями — владелец, администратор, участник — с API-ключами для программ и передачей владения, а роль администратора платформы открывает настройки — с 18 октября 2026 в админ-приложении (ниже). Почта в production идёт через Resend, а на машине разработчика — в локальный ящик. Приложение говорит с API через клиент, созданный по описанию самого API. Из этого людям видны только приглашения письмом и страницы пароля; команды, роли кроме владельца, API-ключи и передача владения есть только в API. См. Структура данных. - Настройки в отдельном админ-приложении (18 октября 2026, SHIF-36): настройки платформы ушли из приложения в отдельное админ-приложение — так, как их держат другие наши продукты. У него свой вход с теми же учётными записями; всем, кто не администратор платформы, там отказывают понятным сообщением, а в приложении вкладки Settings больше нет ни у кого. Сами настройки не изменились — те же поля, кнопки и API. Проверено только на машине разработчика (вход администратором с сохранением изменения и отказ владельцу демо-компании); не развёрнуто. С 23 октября 2026 в админ-приложении есть и Requests: заявки владельцев на вступление по статусам (ожидает, одобрена, отклонена), у каждой — подробности, Approve и Decline с необязательной причиной, а у одобренной компании — Deactivate и Reactivate; админ-приложение открывается на Requests.
- Графики в API: у каждого магазина есть часовой пояс, а недели каждого магазина можно прочитать — черновик или опубликованная, идёт сейчас или прошла — в виде сетки смен с часами и переработкой, вместе со сменами каждого человека и часами «этой недели». Смены меняются вручную (ниже) или когда одобрен запрос на изменение. См. Структура данных.
- Графики на экране (11 октября 2026): владелец видит недели любого магазина как одну сетку, кто когда работает, с часами каждого — сначала управляющие, затем сотрудники, с фильтром по роли, управляющему, человеку и участку (14 октября 2026; до этого команда и управляющие были двумя вкладками); управляющий видит все недели своего магазина — черновик, опубликованную, текущую или прошедшую, со сменами, часами и переработкой — и открывает любую как такую же сетку; сотрудник видит свои смены на этой и следующей неделе, только из опубликованных недель, и свою ближайшую смену. Каждый экран называет часовой пояс, в котором показано время. Ассистент не может составить или изменить график — у него нет для этого инструмента, — поэтому ни одна кнопка его об этом не просит (19 октября 2026); графики создаются и правятся вручную (ниже). На неделе управляющего есть «Ask the assistant», пока ассистент ему доступен: она спрашивает о графике команды на эту неделю. Запросы на изменения нарисованы на сетках и в My shifts. С 16 октября 2026 владелец и управляющие могут смотреть и на один день — как на шкалу по часам с обычным числом чеков магазина, нужным числом касс и людьми на кассах и в магазине по каждому часу, — и на месяц как на один лист только для чтения, для печати; перерыв смены может говорить, когда начинается. См. Экраны.
- Запросы на изменения (11 октября 2026): запрос сотрудника идёт его управляющему (или любому управляющему магазина, пока его управляющий не присоединился), запрос управляющего — владельцу, и с 23 октября 2026 туда же — запрос сотрудника без управляющего; деактивированный управляющий передаёт ждущие его запросы владельцу. Управляющий решает на экране Requests, владелец решает по запросам управляющих на своём; одобрение после повторной проверки меняет смены одним шагом, отклонение ничего не меняет, а решение можно отменить, пока его неделя не закончилась. Коллега, которого просят заменить или обменяться, отвечает в «Waiting for you»; люди следят за своими запросами в «My requests». Счётчики на Requests и Waiting for you и «N waiting» на карточках магазинов владельца меняются после каждого решения. Запросы создаются через форму запроса (ниже), в чате ассистента, когда он доступен, — только после того, как человек подтвердит предложенное изменение, — или через API; проверки — это либо тексты прототипов в демо-данных, либо фиксированные проверки API, одни и те же для каждого запроса, и список говорит «Checked against the store’s rules» (до 19 октября 2026 — «Checked by the assistant»). См. Структура данных и Экраны.
- Ассистент снова включён (19 октября 2026, решение владельца, насовсем): показывать ли его, решает ответ API, который читается при входе и при открытии вкладки, — он доступен, когда Shiffty подключён к Agentfy, чат включён и агент магазина человека готов, — для владельца, с 20 октября 2026, его собственный агент на всю компанию (ассистент владельца). Если доступен, вкладка Assistant управляющего или сотрудника — живой чат с агентом его магазина (Интеграция с Agentfy), и ссылки на неё показаны: «Ask the assistant» на неделе управляющего, «Need a change? Ask the assistant» в My shifts, «Or ask the assistant» в My requests, а «Something is wrong» в Waiting for you открывает её с этим вопросом. Если недоступен, вкладка говорит обычными словами почему и кто может это исправить, а ссылки скрыты. Вкладка владельца говорит, что ассистент пока обслуживает команды магазинов, со ссылкой на Stores. Страница магазина — у владельца и «Store profile» у управляющего — показывает агента магазина, с кнопкой «Connect assistant» или «Retry» (Экраны). Демо по сценарию удалено из кода, запасного варианта по сценарию нет. Проверено юнит-тестами приложения и автоматическими тестами API с заменителем Agentfy в памяти, а также в браузере с настоящим Agentfy на машине разработчика; не развёрнуто, размещённый Agentfy не подключён.
- Вкладка Assistant: «In development» (с 14 по 19 октября 2026, решение владельца от 14 октября): вкладка Assistant каждой роли показывала заголовок, «In development» и одно предложение: пока он не готов, всё делается вручную на других вкладках. Кнопки и ссылки в других местах, которые открыли бы ассистента, были скрыты, а «Something is wrong» на Waiting for you только отмечало неделю. Заменено пунктом выше.
- Ассистент как демо по сценарию (11 октября 2026; не показывался с 14 октября 2026, удалён из кода 19 октября 2026): на вкладке Assistant каждой роли — чат из прототипа: приветствие, что ждёт человека, подсказки, переписка, поле ввода, — и никакого агента за ним. На несколько фиксированных вопросов приходят заготовленные ответы с настоящими данными из API (черновики, часы, запросы, собственные смены человека); на всё остальное — «I'm a demo and can't understand free text yet». Сам он ничего не меняет: делает он только то, что человек подтверждает в чате, — одобряет или отклоняет запрос либо отправляет запрос сотрудника, — и говорит, что это сделано, только после того, как API это принял. Чтобы предложить коллегу, API только для чтения отвечает, кто мог бы взять одну из смен человека с теми же фиксированными проверками, что и запрос. Кнопки в других местах, ведущие к ассистенту, открывают его со своим вопросом. Разговор живёт, пока страницу не перезагрузили. См. Экраны.
- Вручную, пока этого не делает ассистент (11 октября 2026, указание владельца, что каждое действие должно быть возможно и без ассистента): владелец правит графики любого магазина, управляющий — команду своего магазина; недели создаются пустыми или копией, правятся и публикуются; смены добавляются, меняются и удаляются в пределах правил магазина, а отдых и часы по договору — предупреждения; смена с открытым запросом заблокирована. Сотрудники и управляющие создают запросы через форму и отзывают их, пока те ждут; у управляющих «My requests» и «Waiting for you» — внутри их Requests. Владелец правит магазин (новые часы, вне которых оказались бы смены, не принимаются) и должность человека (с 30 октября 2026 — из списка владельца), часы в неделю, управляющего и статус; управляющий — должность и часы в неделю своих людей, а с 19 октября 2026 также управляющего и статус любого сотрудника своего магазина и часы работы и описание магазина. См. Структура данных.
- Инструменты смен (14 октября 2026): у смены есть перерыв, и все подсчёты часов используют отработанные часы (длина минус перерыв); у каждого магазина до десяти шаблонов смен, которые предлагают диалог смены и пустой день сетки, — ими управляют владелец и управляющие магазина; а API вместе с каждой неделей отдаёт дни, когда часть часов работы нет дежурного управляющего, — это показано над сеткой и в подтверждении перед публикацией, которую оно не блокирует, — и предупреждает в проверках запроса, если одобрение откроет такой пробел. См. Структуру данных и Экраны.
- Профили магазинов и людей (14 октября 2026): у магазина есть описание и почасовая нагрузка — обычное число чеков по часам, с понедельника по воскресенье, — а у человека описание; всё вводится вручную как контекст для будущего ассистента. Описание магазина пишет владелец (а с 19 октября 2026 и управляющие магазина); почасовую нагрузку правят владелец и управляющие магазина; владелец описывает любого, управляющий — сотрудников своего магазина. Человек никогда не видит собственного описания. Пока ничто из этого не читается, ассистентом тоже. См. Структура данных.
- Солвер графика (19 октября 2026): для недели магазина предлагает смены команды по шаблонам смен, формам, которые люди уже работают, — а с 26 октября 2026 и по часам, которые задаёт сам, когда ничего из этого не подходит, — часам по договору и почасовой нагрузке, говорит, что остаётся незакрытым и почему, и записывает подтверждённый план в черновую неделю, никогда не публикуя; взвешивает запрос на изменение и называет нужную замену. HiGHS внутри API с 10 ноября 2026 (WebAssembly; до этого YALPS, и он оставлен запасным). Три его инструмента в каталоге агента: неделя и решение управляющего — карточки, которые управляющий подтверждает. См. Агент и солвер.
- Часовые пояса на экранах: у каждого магазина есть часовой пояс, и графики показываются во времени магазина, а не того, кто смотрит (решение владельца от 11 октября 2026). Форма нового магазина спрашивает пояс, карточки и страница магазина его показывают, а срок действия приглашения показывается в поясе его магазина. Часы этой недели на карточке магазина и на экране People берутся из графиков в API.
Кто что видит — одно правило в API: владелец видит всё в своей команде; управляющий видит свой магазин и всех в нём, а его собственные люди отмечены; сотрудник видит себя и свой магазин. На всё остальное ответ такой, будто этого не существует. Человек, чьё место сделано неактивным, по-прежнему может войти, но ничего не видит.
Локальная демо-компания — та, что в прототипах: Morgan Retail с четырьмя магазинами (три из прототипов и Central Station — киоск на вокзале со своим потоком покупателей-пассажиров), семью управляющими, тридцатью тремя сотрудниками и одним ожидающим приглашением, всё вымышленное, пятью неделями графиков на магазин вокруг текущей недели и запросами на изменения из прототипов поверх них — записывается на машине разработчика командой make seed, которая сначала очищает базу этой машины. С 30 октября 2026 (решение владельца) запуск серверов никогда не очищает базу: до этого запуск переписывал демо всякий раз, когда менялся код сида или неделя, и так стирал компании, созданные в приложении вручную. Единственное, что запуск ещё заполняет, — пустая база новой рабочей копии; см. local/README.md в репозитории. Сид отказывается работать с любой базой данных, которая не на этой машине. Когда на машине работает и локальный Agentfy, ассистенты магазинов подключаются к нему, как только локальный API отвечает, и после сброса тоже (с 19 октября 2026; но не тогда, когда их профиль за это время изменился — см. Интеграцию с Agentfy).
11 октября 2026 это проверено автоматическими тестами API и вручную в браузере — входом за владельца, управляющего и сотрудника и принятием приглашения, — на машине разработчика; экраны владельца и меню трёх ролей — так же, в ширине компьютера и телефона; экраны графиков — так же, с браузером в трёх разных часовых поясах (Europe/London, Asia/Tokyo и Pacific/Auckland): дни, «сегодня» и время совпадают с тем, что API отдаёт для каждого магазина; запросы — одобрением, отклонением и отменой за владельца и управляющего и ответом сотрудника на просьбу коллеги, в обеих ширинах, с браузером в Europe/London и Asia/Tokyo; демо ассистента — модульными тестами приложения и одобрением запроса управляющего из чата владельца и отправкой обмена субботы из чата сотрудника, в обеих ширинах, с браузером в Europe/London, Asia/Tokyo и Pacific/Auckland; правка вручную — созданием, правкой и публикацией недели за управляющего, правкой графика управляющих, часов магазина и часов человека за владельца, созданием и отзывом запросов за сотрудника и управляющего, в обеих ширинах, с браузером в Europe/London и Asia/Tokyo. Инструменты смен проверены 14 октября 2026 автоматическими тестами API и юнит-тестами приложения и в браузере на машине разработчика: неделя с перерывами и её предупреждения о пробелах, добавление смены из меню шаблонов пустого дня, подтверждение публикации, диалог смены с шаблонами и перерывом, раздел шаблонов за владельца и за управляющего — на ширине компьютера и, для недели управляющего, на ширине телефона, с браузером только в его собственном часовом поясе. Ничего из этого не развёрнуто, поэтому ни один магазин не может этим пользоваться.
С 11 октября 2026 приложение перерисовывается по трём кликабельным прототипам — для владельца, менеджера и сотрудника; они хранятся в репозитории в design/prototypes/, вне этого сайта. Готов внешний вид — цвета, шрифты и общие элементы (шапка, панель вкладок, кнопки, карточки, диалоги, чат), — а также экраны владельца Stores, страница магазина и People, меню каждой роли, экраны графиков с запросами поверх них, экраны запросов и чат ассистента (демо по сценарию с 11 октября, скрыт с 14 октября, живой чат с агентом магазина с 19 октября 2026); формы, где вручную делается то, что будет делать ассистент, в прототипах нет, и они сделаны небольшими в том же стиле. Остальных экранов из прототипов нет, а люди и цифры в прототипах выдуманы.
Не создано: размещённый ассистент — чат работает только с локальным Agentfy, размещённый Agentfy не подключён, — и ассистент, который отменяет решения или публикует графики сам: отмена остаётся действием человека, а публикацию готовит только ассистент владельца, как карточку, которую владелец подтверждает (20 октября 2026); запросы и правки делаются и вручную. Также не созданы: остальные экраны управляющего и сотрудника, профиль, уведомления, экраны для команд, администраторов, API-ключей и передачи владения и смена роли или магазина человека. Статус магазина (active или inactive) — по-прежнему наше допущение, а не выбор владельца; удалить ничего нельзя. Агента магазина настраивают с его страницы кнопкой «Connect assistant» (19 октября 2026); см. Интеграция с Agentfy.
Агент и солвер
Расставить людей по сменам при жёстких правилах — задача оптимизации, и специализированные солверы хорошо с ней справляются. Наше рабочее допущение: языковая модель сама эту арифметику не делает. Она понимает просьбу, превращает её в ограничения, вызывает солвер и объясняет результат. Это гипотеза, которую должны проверить управляющие. Первый солвер создан (19 октября 2026); на странице Агент и солвер описано, что он делает, где его пределы и почему он часть API, а не MCP-сервер.
Не решено
- Где хранятся данные сотрудников и кто их видит — это нужно определить до любого пилота. Сама база — PostgreSQL на Neon через Prisma; см. Структуру данных.
- Какая языковая модель. Где работает агент, решено — на Agentfy, см. Интеграцию с Agentfy, — как и солвер для первой версии (YALPS); модель за агентом не выбрана.
- Хостинг для приложения и API. Сегодня развёрнут только этот сайт документации; см. DevOps. Единственное высказанное намерение — что более поздний сервис солвера будет работать в Kubernetes рядом с API.
- Доходит ли приглашение до человека иначе, чем письмом. С 15 октября 2026 оно отправляется письмом (SHIF-25), а ссылку можно и передать; мессенджер или SMS не решены.
- Уведомления.
- Мессенджер как второй канал для сотрудников.
- Интеграции с кассовыми системами и счётчиками посетителей. Первым способом ввода, скорее всего, будут таблицы; см. Входные данные.
- Что ещё будет в админ-приложении, и публичный сайт. В админ-приложении пока настройки (18 октября 2026) и заявки на вступление (23 октября 2026); больше в нём ничего не спроектировано, как и публичный сайт.
Что читать дальше
- Путь пользователя: что управляющий и сотрудник будут делать в приложении.
- Экраны: все предлагаемые экраны для обеих ролей.
- Агент и солвер: что считает график и как агент будет этим пользоваться.
- Структура данных: что система будет хранить и как это сгруппировано.
- Интеграция с Agentfy: где работает агент и что нужно доказать сначала.
- DevOps: что развёрнуто сегодня.
- Открытые вопросы: что решено, а что нет.
- Две недели до демо: план только для веба к 18 октября; Capacitor — позже.