---
title: "Собственный ассистент (Own Agent)"
id: "1696"
type: "page"
slug: "own-agent"
published_at: "2026-09-04T07:20:53+00:00"
modified_at: "2026-10-22T16:36:13+00:00"
url: "https://pastukhov.com/agents/multiagent/docs/own-agent/"
markdown_url: "https://pastukhov.com/agents/multiagent/docs/own-agent.md"
excerpt: "MultiAgent может получить собственного ассистента — отдельного агента, чей интерфейс встраивается прямо в страницы MultiAgent:…"
---

# Собственный ассистент (Own Agent)

[https://pastukhov.com/agents/multiagent/docs/own-agent/.md](https://pastukhov.com/agents/multiagent/docs/own-agent/.md)

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

## Подключение

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

- **MultiAgent → агент (исходящее)** — `AGENT_API_URL` (адрес агента) и `AGENT_API_KEY` (ключ, которым агент пускает свои автоматические клиенты). Именно эта пара включает панель чата и блок в боковой панели. Ключ хранится только внутри MultiAgent и никогда не попадает в браузер;
- **Агент → MultiAgent (входящее)** — `MULTIAGENT_HASH`: отпечаток ключа программного интерфейса `/api/agent/*`, через который ассистент сам управляет фабриками, агентами и инструментами MultiAgent. На стороне агента адрес Мультиагента приходит переменной `MULTIAGENT_URL`, а сам ключ — `MULTIAGENT_KEY`.

Направления не зависят друг от друга: чтобы просто общаться с ассистентом в чате, достаточно исходящей пары «адрес + ключ агента»; а управлять MultiAgent ассистент может и без включённого чата.

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

## Боковая панель и панель чата

Интерфейс ассистента встроен в каждую страницу MultiAgent. Внизу постоянной боковой панели — блок ассистента: сводка активных чатов (таймер, расход токенов и стоимость — обновляются в реальном времени), предупреждение, если соединение с агентом пропало, и две кнопки: **«Задачи (N)»** — сколько долгих работ идёт и ждёт своей очереди прямо сейчас, нажатие открывает их журнал, — и **«Чаты»** — список чатов ассистента. Очередь заготовленных запросов открывается из поля ввода панели чата.

Панель чата — нижняя панель, открываемая с любой страницы. Это и есть поле общения с агентом: выбор модели и навыка (с цветами), кнопка промптов, микрофон для голосового ввода, ответы агента в реальном времени, карточки сообщений очереди (можно править, поставить на паузу, отменить), статистика расхода — токены, стоимость, скорость — и кнопка **«Открыть в новом окне»**, которая открывает тот же чат в самом агенте. Выбранные модель и навык запоминаются и становятся значениями по умолчанию для новых чатов.

Все обращения к агенту идут через сам MultiAgent — браузер с агентом напрямую не разговаривает, поэтому ключ агента не покидает MultiAgent. Живые обновления раздаются через постоянное соединение: MultiAgent держит одно подключение к агенту и пересылает события всем открытым браузерам. Соединение устанавливается по необходимости и само восстанавливается при разрыве.

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

Размер шрифта из окна **«Внешний вид»** меняет не только переписку: текст страниц MultiAgent — таблиц, карточек и форм — тоже становится крупнее или мельче. Поля, кнопки и значки при этом остаются на месте, поэтому ничего не разъезжается.

## Кнопки, вопросы и сообщения агента

Панель не только отправляет текст — она показывает всё, что агент присылает в ответ, и позволяет сразу на это ответить:

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

Всё это приходит по живому каналу событий — без перезагрузки страницы. Список чатов при этом тоже остаётся живым: счётчики коммитов и смена модели или навыка подтягиваются сами.

## Очередь промптов

Очередь промптов — это список заготовленных запросов («промптов»), которые агент выполняет по очереди. Очередь принадлежит самому агенту, MultiAgent только показывает её: строки «текст + модель + навык» читаются и сохраняются в настройках агента, в самом MultiAgent ничего не хранится. Ручная отправка строки создаёт чат с моделью и навыком этой строки и сразу открывает его в панели чата; заголовок созданного чата ограничен настройкой агента — максимальной длиной заголовка. Настройки **AutoSend** (включено/выключено, максимум одновременно активных чатов, интервал проверки, автопереход к новому чату, «Отправлять в часы пик», «Автокоммит перед отправкой», «Автоисправление отключено до завершения») — тоже настройки агента: его внутренний распорядитель сам запускает накопившиеся промпты, даже когда браузер закрыт. Очередь открывается из поля ввода панели чата — отдельной кнопки в подвале боковой панели у неё больше нет.

Очередь не даст отправить недописанную строку: когда она опустела — последнюю строку отправили или удалили — **AutoSend отключается автоматически**. Пустая очередь показывает строку-черновик: первый промпт пишется без клика «Новый промпт». Футер диалога подсказывает, сколько промптов ждёт и в каком порядке они уйдут: «{n} промпт(ов), сначала — нижние» с правильными русскими формами множественного числа. Правки из двух открытых вкладок не затирают друг друга — строки объединяются построчно.

## Голосовой ввод и звуки

В поле ввода панели есть микрофон: проговорите сообщение, и оно отправится агенту как обычный текст. Фоновые чаты (те, что обрабатываются, пока вы закрыли панель или находитесь в другом чате) сообщают о завершении звуковым уведомлением — у открытого чата звуков нет. При первом использовании местного распознавания рядом с микрофоном на время появляются подсказки о подготовке — «установка ffmpeg» и «загрузка модели»: подготовка начинается уже при начале записи, поэтому первая расшифровка не ждёт загрузки. Голосовой ввод и проверка лицензии работают так же, как в чатах обычных агентов MultiAgent. Выключенный звук сохраняется после перезагрузки страницы и применяется сразу.

## Метки чатов

Чтобы разбирать список чатов по темам, чату можно присвоить **метку** — короткое имя со своим цветом и значком. Набор меток создаётся в диалоге «Управление метками чатов», который открывается из фильтра списка чатов или из меню метки у самого чата: там метку можно создать, переименовать, задать ей цвет и значок из общего набора Material Symbols. Метка одна на чат — у чата либо одна метка, и она показывает его назначение, либо ни одной.

- **Назначение и снятие** — метка выбирается кликом по её значку в строке чата, а снимается из меню метки в шапке панели чата. Само по себе назначение метки чат не переставляет и не поднимает в списке;
- **Фильтр списка** — в списке чатов можно показывать только чаты с выбранной меткой, вместе с обычным поиском по тексту;
- **Видно всем и сразу** — метки живут у самого агента, и любое изменение сразу разъезжается по всем открытым браузерам — без перезагрузки страницы. Переименование метки меняет её у всех чатов, а удаление снимает метку со всех чатов сразу.

## Если ассистент не настроен или недоступен

Блок ассистента появляется только когда заданы обе переменные `AGENT_API_URL` и `AGENT_API_KEY`. При загрузке приложение проверяет, доступен ли агент, и ведёт себя соответственно:

- **Не настроено** — кнопки «Новый чат» нет, панель показывает «Агент не настроен», в боковой панели — предупреждение о недостающих переменных;
- **Настроено, но агент недоступен** — интерфейс на месте, а над нижней частью боковой панели появляется постоянная полоса предупреждения с последней ошибкой обращения к агенту: первый же успешный ответ её убирает;
- **Ключ не задан** — любой запрос к агенту по программному интерфейсу отвечает ошибкой «API агента не настроен».

Ошибки не всплывают поверх интерфейса и не мешают работать: если список чатов получить не удалось, он показывает «Чатов пока нет», а открытый чат — «Не удалось загрузить чат»; последняя ошибка обращения к агенту остаётся полосой над подвалом боковой панели и уходит после первого успешного ответа. Отклонённый ключ отличается от недоступности: устаревший ключ помечается как отклонённый, а не как недоступный агент.

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

## Обратное направление: ассистент управляет MultiAgent

Ассистент может управлять самим MultiAgent: создавать фабрики и записи серверов, разворачивать агентов и инструменты, следить за их состоянием. Ему достаточно адреса MultiAgent и ключа — доступные команды он узнаёт из каталога `/api/agent` (MultiAgent сам публикует список своих возможностей) и действует как любой другой автоматический клиент. Долгая работа — развёртывание, установка, проверка — не держит соединение открытым: сразу приходит отметка «в очереди» и номер операции, по которому ассистент сам узнаёт, чем всё закончилось. Запущенные им операции видны в интерфейсе в той же ленте прогресса, что и ваши собственные.

## Как продукт

Когда MultiAgent разворачивается как продукт из каталога (шаблон `multiagent`), ассистент подключается автоматически: при установке выбирается связанный агент (по умолчанию — «Создать нового агента»), и обе пары переменных прописываются сами, без ручной настройки: одни — в конфигурацию приложения, другие — в конфигурацию связанного агента. У него новый чат сразу стартует с менеджерским навыком MultiAgent — выбирать его вручную не нужно; если навык был унаследован от открытого чата, он сохраняется. Подробнее — на странице [Продукты](/agents/multiagent/docs/products)
.

[← Оглавление документации](/agents/multiagent/docs)
