КейсМастерская электроники и прототипов

Мастерская: складская программа с AI-агентами, поиском по смыслу и MCP-сервером

Наша собственная программа для мастерской электроники и прототипов: остатки, внутренние коды, документы и фото к каждой детали, поиск по смыслу, чат с агентом внутри и MCP-сервер для внешних агентов. Проект непубличный, поэтому показываем его на скриншотах.

Клиент
Собственный непубличный проект
Срок
38 дней до текущей версии
Программа учёта мастерской на экране ноутбука: таблица деталей с поиском по смыслу, рядом фото платы
  • 30инструментов MCP-сервера
  • 538векторов для поиска по смыслу
  • 86изменений от агентов за 7 дней
  • 877автотестов
Было

Деталей всё больше, а память одна

В мастерской собирают прототипы: платы, датчики, моторы, аккумуляторы, 3D-печать, пайка. Чтобы начать новое изделие, нужно знать, что уже лежит на полке, сколько этого, где даташит и потянет ли работу имеющееся оборудование. Раньше всё это держалось в голове и на полках: чтобы узнать, есть ли нужная плата, приходилось идти и искать.

Первую систему задумали слишком масштабно: 17 моделей, 18 таблиц, а до интерфейса склада дело так и не дошло, потому что ею никто не пользовался. Поэтому начали заново и другим методом: наименьшая рабочая версия, проба в деле, выводы, развитие.

Заносить руками долго. Если каждую плату нужно описывать в форме, записи отстают от полки, и склад перестаёт быть правдой.

Название не подсказывает задачу. Ищешь «чем управлять сервоприводами», а в таблице лежит PCA9685. Поиск по словам такого не найдёт.

Знания разбросаны. Даташит, фото платы, пределы оборудования и видео процесса должны быть при записи, а не в закладках браузера.

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

Решение

Что мы сделали

Приложение на Laravel и React с собственным MCP-сервером: человек, чат и внешние агенты работают с одними и теми же данными и инструментами.

Склад, где у каждой детали есть код, документы и фото

Каждая деталь получает внутренний код вроде PRT-000141: по нему её находит и человек, и агент. Количество ведётся с единицами, статус идёт за ним, а тип, области и теги берутся из словарей, которые не дают завести дубль: LEDs и LED — один термин, а ESP32-S2 и ESP32-S3 — разные.

К детали крепятся фото, даташиты, ссылки и заметки. Оборудование описывает, что умеет мастерская и где её пределы. Проект собирает детали, оборудование, видео и 3D-модели, которые вращаются прямо на странице. Видео до 5 ГБ лежат на Google Drive и играют в приложении без публичной ссылки.

Список деталей: фото, внутренний код, тип, термины, количество и статус

Поиск по смыслу, а не по названию

Описываешь задачу своими словами, и программа находит нужное. Запрос «protect a lithium battery» поднимает платы защиты BMS, а за ними — ячейки и зарядные модули. Колонка Match показывает, насколько результат близок к запросу. Описание может быть на одном языке, а запрос на другом.

Под капотом — text-embedding-3-large на 1536 измерений и pgvector внутри PostgreSQL. В вектор входят название, партномер, тип, области, теги и описание, а также документы и AI-описания фото, так что попадание в даташит поднимает деталь, которой он принадлежит. Код, статус и количество намеренно остаются вне вектора: смена остатка ничего не пересчитывает. Раз в 10 минут программа сверяет SHA-256 текста и обновляет только то, что изменилось.

Поиск по смыслу: запрос о защите литиевого аккумулятора и колонка Match

Голосовая заметка становится деталью на складе

Формами склад не заполнить, поэтому всё летит во входящие: голос, фото, файл, ссылка, заметка или видео. Речь становится текстом с подсказками из словаря мастерской, AI описывает каждое фото, а агент забирает заявку, блокирует её на 30 минут и заводит записи.

Реальный пример. 28 октября в 15:57 — голосовая на 26 секунд о плате ШИМ с просьбой найти даташит. В 16:07 заявка закрыта: есть деталь PRT-000141, количество агент понял по фото, официальный даташит NXP на 52 страницы прикреплён, характеристики в описании. Отдельным абзацем агент честно написал, чего не проверил: платы не включали, а чип на плате без бренда может быть клоном.

Заявка с голосовой заметкой и отчётом агента о созданной детали

Чат внутри и MCP-сервер для внешних агентов

В чате можно спросить: «хочу управлять 16 сервоприводами от одной ESP32, что есть на складе?». Агент сам делает несколько поисков, открывает карточки и отвечает таблицей с кодами: что взять, чего не хватает, на что обратить внимание в питании. Каждый вызов инструмента виден в ответе. Перед первым сообщением выбираешь режим — только чтение или чтение и запись. Удалять в чате нельзя.

То же доступно снаружи: собственный MCP-сервер на 30 инструментов, Streamable HTTP, OAuth 2.1 с PKCE и динамической регистрацией клиентов. Права на чтение, запись и удаление выбирает владелец на экране согласия, а инструменты вне этих прав агент даже не видит. Проверено с Claude Code и коннектором claude.ai.

Чат с агентом: вопрос, вызовы инструментов и таблица с кодами деталей
Стек

На чём сделано

Laravel и React без конструкторов. Векторы живут в той же базе, что и данные, а чат и MCP-сервер пользуются одними классами инструментов.

  • Laravel
  • PHP
  • Inertia.js
  • React
  • TypeScript
  • PostgreSQL
  • pgvector
  • OpenAI API
  • MCP
  • Google Drive
Результат

Что получилось

Числа с дашборда программы на 2 ноября 2026 года. Проект наш, мы пользуемся им сами, и он продолжает расти.

  • 141 деталь и 7 единиц оборудования

    Склад заполнен: у каждой детали есть код и статус, 140 сейчас в наличии. Всё оборудование рабочее, и видно, на что способна мастерская.

  • 42 заявки разобраны

    Голос, фото и файлы стали записями на складе. Активных заявок сейчас нет: ничего не ждёт в очереди.

  • 235 фото описаны AI

    Все 235 из 235. Описания попадают в вектор, поэтому фото тоже работают на поиск.

  • 86 изменений от агентов за 7 дней

    Агенты действительно работают с данными. Фоновые задачи за это время не дали ни одного сбоя.

  • 877 автотестов и PHPStan уровня 7

    22 864 строки PHP в приложении и 16 484 строки тестов. От первого коммита до текущей версии — 38 дней и 126 коммитов.

Другие наши работы

Ещё несколько проектов студии — от лендингов до интернет-магазинов.

World Luxury Chamber of Commerce

World Luxury Chamber of Commerce

Anna ELT

Anna ELT

Пассажирские перевозки

Пассажирские перевозки

Офис адвоката Дядечко

Офис адвоката Дядечко

WORLD FUTURE AWARDS

WORLD FUTURE AWARDS

World Luxury Day

World Luxury Day

Energy Development

Energy Development

ATIS

ATIS

Rakovar

Rakovar

GETFIX

GETFIX

АвтоВикуп-1212

АвтоВикуп-1212

PPC Monsters

PPC Monsters

DZHAGAROVA Beauty School

DZHAGAROVA Beauty School

Викуп Квартир

Викуп Квартир

Tehosmotr

Tehosmotr

Авто Викуп

Авто Викуп

Ukreina

Ukreina

Amzfunnels

Amzfunnels

Каскад монтаж сервіс

Каскад монтаж сервіс

Aura Digital PR

Aura Digital PR

Нужна такая система для вашего бизнеса?

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

Написать нам

Будем рады вашему звонку

ОБСУДИТЬ ПРОЕКТ

Мы на связи. Пишите - мы обязательно ответим!

    ВАША ЗАЯВКА ПРИНЯТА

    Мы свяжемся с Вами в ближайшее время

    ТЕХНИЧЕСКИЕ НЕПОЛАДКИ

    Пожалуйста, свяжитесь с нами по телефону: