Перейти к основному содержимому

Использование установленного агента программирования как чат-модели

Если вы уже оплачиваете агента программирования и он вошёл в систему на компьютере Libre WebUI, можно общаться с ним в обычном чате вместо добавления API-ключа. Libre WebUI обнаруживает CLI агента и показывает его в выборе моделей.

Что обнаруживается​

При каждом запросе списка Libre WebUI ищет на PATH сервера:

МодельКомандаПоставщик
Claude CodeclaudeAnthropic
CodexcodexOpenAI
Kirokiro-cliAWS
Muse CodemuseMeta
OpenCodeopencodeSST
PipiMario Zechner

Найденные команды появляются в группе Agents. Ничего не устанавливается и конфигурационный файл не нужен: если команда работает в shell сервера, она видна.

В разделе Настройки → Чат → По умолчанию эти записи также помечены как Агент, включая Strands, если вашей учётной записи разрешено им пользоваться. Модели плагинов сохраняют имя провайдера; метку Ollama получают только модели Ollama. Отключение Ollama не скрывает настроенные агенты и плагины. Карточка информации показывает отображаемое имя и провайдера выбранной записи, а размер, семейство и формат — только если их предоставляет каталог.

Выбор модели, не только CLI​

Каждый CLI может дать несколько позиций:

  • Claude Code предлагает вошедшее значение по умолчанию и Sonnet, Opus, Haiku. Также доступны явные варианты Sonnet 5.5 (claude-sonnet-5-5), Opus 5.5 (claude-opus-5-5) и Haiku 5.5 (claude-haiku-5-5). Для Sonnet 5.5 нужен Claude Code 2.1.284 или новее, для Opus 5.5 нужны Claude Code 2.1.280 или новее, а для Haiku 5.5 нужен Claude Code 2.1.293 или новее, во всех случаях с доступом через учётную запись, в которую выполнен вход; запустите claude update, чтобы обновить CLI. Существующие псевдонимы Sonnet, Opus и Haiku по-прежнему используют текущее сопоставление моделей CLI.
  • Codex предлагает настроенное значение и документированное семейство входа ChatGPT: GPT-6 Astra, GPT-6.1 Sol (gpt-6.1-sol), GPT-6 Sol, GPT-6 Luna, GPT-5.6 Sol, Terra, Luna, GPT-5.5 и GPT-5.3 Codex Spark. Доступность зависит от входа в CLI и прав учётной записи.
  • Kiro перечисляет модели, доступные учётной записи, в которую выполнен вход (из kiro-cli chat --list-models), рядом с настроенным значением по умолчанию. Каждый ход выполняется неинтерактивно на движке агентов V3 этого CLI с закреплённым встроенным агентом по умолчанию (vibe), поэтому пользовательский chat.defaultAgent не применяется. Нужен Kiro CLI 2.27 или новее.
  • Muse Code предлагает настроенную модель по умолчанию, а также Muse Spark 1.3 (muse-spark-1.3), Muse Spark 1.3 Contributor (muse-spark-1.3-contributor) и Muse Wonder 1.0 (muse-wonder-1.0). Вход выполняется через muse login (учётная запись Meta) или ключ Meta Model API из META_API_KEY либо muse auth set. Модели Contributor тарифицируются по более низкой ставке, потому что Meta может обучаться на том, что вы им отправляете.
  • Pi работает с моделью своего CLI.
  • OpenCode перечисляет модели всех аутентифицированных поставщиков (из opencode models) и всегда требует выбора — значение CLI может указывать локальный сервер, недоступный хосту Libre WebUI.

Встроенный движок Strands тоже появляется в группе «Агенты», если вашей учётной записи разрешено им пользоваться. Это не CLI: он работает внутри бэкенда и использует ваши модели Ollama и модели плагинов провайдеров. Обычная запись Strands (strands) использует вашу модель чата по умолчанию. Остальные записи (strands:<route>) перечисляются по одной на каждую доступную модель, например Strands · gpt-5.6-sol (Codex (ChatGPT)), и закрепляют за разговором и модель, и её провайдера; при сбое их нельзя заменить другим доступным провайдером. Получение списка вариантов не запускает движок.

Те же записи Strands можно выбрать как модель задач в Настройки → Чат → По умолчанию для автоматических заголовков и кратких итогов размышлений. Использовать текущую работающую модель применяет выбор Strands, сохранённый в разговоре. Эти короткие текстовые запросы напрямую обращаются к модели провайдера; они не запускают инструменты агента и не создают его сеанс. Для таких вспомогательных запросов другие профили CLI требуют модель задач Ollama, плагина или Strands.

Pi выполняет каждый ход без состояния (--no-session), с отключёнными локальными инструментами и нейтральным системным промптом, поэтому ответы не зависят от личной конфигурации Pi системного пользователя, а чаты её не затрагивают.

Kiro устроен противоположно в обоих отношениях: он работает с конфигурацией Kiro пользователя сервера (встроенный агент по умолчанию закреплён, но правила разрешений (~/.kiro/settings/permissions.yaml), серверы MCP и настроенная модель по умолчанию по-прежнему действуют), и каждый ход сохраняется как новый сеанс в хранилище сеансов Kiro этого пользователя (kiro-cli chat --list-sessions показывает его вместе с недавней транскрипцией чата). Флага, чтобы это отключить, нет, поэтому содержимое чатов хранится также в домашнем каталоге пользователя бэкенда, вне базы данных Libre WebUI. Инструменты Kiro остаются включёнными: всё, чему доверяют эти правила разрешений (по умолчанию чтение и команды только для чтения, например date), выполняется без запроса, а любой вызов инструмента, требующий подтверждения, отклоняется, потому что ход чата не может ответить на запрос.

Muse Code читает промпт из закрытого файла и работает в фоновом режиме с выключенными подтверждениями (--approval-mode never), поскольку ход чата не может ответить на запрос подтверждения. Его собственная песочница остаётся включённой, и каждый ход получает временное рабочее пространство, которое затем удаляется, поэтому записи файлов не могут попасть в домашний каталог пользователя сервера. Ходы не сохраняются в журнале сеансов Muse (--no-session-log), но настройки, правила и модель по умолчанию Muse пользователя сервера применяются.

Использование​

  1. Войдите как администратор.
  2. Создайте чат и откройте список моделей.
  3. Выберите позицию Agents.
  4. Отправляйте сообщения. Ответы поступают по токенам.

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

Кто может использовать и к чему есть доступ​

Функция только для администраторов, и это важно. Агент работает на хосте от того же пользователя ОС, что и бэкенд, а не в контейнере Work. Он наследует учётные данные и обычный доступ агентов, включая возможность чтения файлов и выполнения команд сервера.

Считайте включение эквивалентом предоставления shell-доступа. Поэтому функция поставляется выключенной: администратор включает её в Настройки → Управление пользователями → Доступ и политики → Модели агентов CLI. Значение сохраняется и применяется сразу без перезапуска.

Изменение этого переключателя сразу обновляет каталог моделей: категория Агенты содержит прямые записи CLI, а Модели плагинов содержит API-интеграции провайдеров, например Codex (ChatGPT). Strands указан в той же категории, но подчиняется собственной настройке доступа Движок Strands, а не этому переключателю, поэтому может появляться, когда модели агентов CLI выключены. Обнаружение его моделей не может блокировать обнаружение установленных агентов CLI.

Существующие установки наследуют ранее сохранённое решение для Агентов до сохранения независимой настройки CLI.

Чтобы закрепить решение на уровне развёртывания независимо от переключателя (и заблокировать его в интерфейсе), задайте переменную:

AGENT_CLI_MODELS_ENABLED=false # or true

Для модели, работающей с файлами в песочнице, используйте Work: она запускается в закрытом контейнере с изолированной областью.

Те же агенты в Work​

Work предлагает тех же агентов с тем же выбором моделей и теми же входами, но запускает их в песочнице задачи, а не на хосте, за исходящим прокси, который не пускает настоящие токены в песочницу. У них собственный режим доступа, CLI агентов в Work, и переключатель выше им не нужен. См. CLI агентов в Work.

Учёт использования​

Откройте Использование провайдера (/usage) и найдите раздел Агенты в верхней части страницы. Claude Code, Codex, Kiro, Muse Code, OpenCode, Pi и активность Strands имеют явные записи, в том числе понятное сообщение, если за выбранный период вызовов не было.

Вызовы CLI через LWUI сохраняют результат, длительность и сообщённое использование токенов. Каждое обращение создаёт одно событие использования; повторные снимки и отчёты отдельных шагов не дублируют события и токены. Отсутствующие счётчики токенов остаются неизвестными. Остановка ответа записывается как отмена; неуспешное завершение CLI не становится успешным только из-за частично выведенного текста. Вызовы CLI вне LWUI не импортируются.

Вызовы Strands относятся к агенту Strands. Разбиение и ограничения описаны в разделе Использование агентов.

Конфигурация​

ПеременнаяПо умолчаниюНазначение
AGENT_CLI_MODELS_ENABLEDне заданоЗакрепляет true/false; без значения действует переключатель администратора (по умолчанию выкл.)
AGENT_CLI_TIMEOUT_MS600000Максимальная длительность одного хода

Устранение неполадок​

Группа Agents отсутствует. Убедитесь, что функция включена в Настройки → Управление пользователями → Доступ и политики → Модели агентов CLI и вы вошли администратором. Затем проверьте команду на PATH процесса бэкенда, а не только интерактивной shell. Менеджер служб, контейнер или desktop-launcher часто имеет меньший PATH.

Ответ сразу завершается ошибкой. Запустите команду вручную от пользователя сервера (claude -p "hello", codex exec "hello", muse exec "hello" или echo hello | kiro-cli chat --no-interactive --output-format stream-json --agent-engine v3 --agent vibe). Нужен Kiro CLI 2.27 или новее; более старый CLI сначала падает здесь, где видна его ошибка, а в чате та же ошибка отображается только как Kiro exited unsuccessfully. Обычно истёк вход агента или лимит подписки. OpenCode сообщает об истёкшем входе лишь в собственных журналах; повторите opencode auth login от пользователя сервера. Kiro входит через kiro-cli login; истёкший сеанс завершается ошибкой так же. Muse Code сообщает missing meta credentials, пока muse login не будет выполнен от пользователя сервера.

Ответ обрывается. Ход мог достичь AGENT_CLI_TIMEOUT_MS. Увеличьте лимит или разбейте запрос.

Связанные материалы​