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

Профили: несколько агентов на одной машине

Несколько независимых агентов VibeOS на одном хосте — у каждого свои config, API-ключи, память, сессии, навыки и состояние шлюза.

Что такое профили?​

Профиль — отдельный home VibeOS. Свой каталог со своими config.yaml, .env, SOUL.md, memories, sessions, skills, cron и state DB. Так можно держать coding-ассистента, личного бота и research-агента без смешивания состояния.

При создании профиль сразу становится своей командой: профиль coder даёт coder chat, coder setup, coder gateway start и т.д.

Быстрый старт​

vibeos profile create coder       # creates profile + "coder" command alias
coder setup # configure API keys and model
coder chat # start chatting

Готово. coder — отдельный профиль VibeOS со своим config, памятью и state.

Создание профиля​

подсказка

Самый быстрый путь: внутри нового профиля vibeos setup --portal — модели и tools одним OAuth. См. Nous Portal.

Пустой профиль​

vibeos profile create mybot

Создаёт чистый профиль с seeded bundled-навыками. Дальше: mybot setup — ключи, модель, gateway-токены.

Если профиль будет kanban-worker'ом (или оркестратор должен на него роутить), при create передайте --description "<role>", чтобы было ясно, в чём он силён:

vibeos profile create researcher --description "Reads source code and external docs, writes findings."

Вы также можете установить или автоматически сгенерировать описание позже с помощью vibeos profile describe — полную модель маршрутизации см. в Руководстве по Канбану.

Клонировать только конфигурацию (--clone)​

vibeos profile create work --clone

Копирует config.yaml, .env, SOUL.md и навыки вашего текущего профиля в новый профиль. Те же ключи API, модель и возможности, но новые сеансы и память. Отредактируйте ~/.vibeos/profiles/work/.env для разных ключей API или ~/.vibeos/profiles/work/SOUL.md для другой личности.

Клонировать все (--clone-all)​

vibeos profile create backup --clone-all

Копирует все — конфигурацию, ключи API, персональные данные, все воспоминания, навыки, задания cron, плагины. Полноценный рабочий снимок. История каждого профиля исключена (история сессий, state.db, backups/, state-snapshots/, checkpoints/) — они принадлежат исходному профилю и могут достигать десятков ГБ. Для полной резервной копии, включая историю, вместо этого используйте vibeos profile export или vibeos backup.

Клонировать из определенного профиля​

vibeos profile create work --clone-from coder

--clone-from <source> напрямую выбирает исходный профиль и подразумевает клон config/skills/SOUL. Объедините его с --clone-all`, если вам нужна полная копия исходного профиля:

vibeos profile create work-backup --clone-from coder --clone-all
Honcho память + профили

Когда Honcho включен, операции клонирования автоматически создают выделенный узел AI для нового профиля, используя одно и то же рабочее пространство пользователя. Каждый профиль строит свои собственные наблюдения и идентичность. Подробности см. в разделе Honcho – Мультиагент/Профили.

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

Псевдонимы команд​

Каждый профиль автоматически получает псевдоним команды ~/.local/bin/<name>`:

coder chat                    # chat with the coder agent
coder setup # configure coder's settings
coder gateway start # start coder's gateway
coder doctor # check coder's health
coder skills list # list coder's skills
coder config set model.default anthropic/claude-sonnet-4

Псевдоним работает с любой подкомандой vibeos — внутри это просто vibeos -p <name>`.

Флаг -p​

Вы также можете явно указать профиль с помощью любой команды:

vibeos -p coder chat
vibeos --profile=coder doctor
vibeos chat -p coder -q "hello" # works in any position

Прикрепленное значение по умолчанию (vibeos profile use)​

vibeos profile use coder
vibeos chat # now targets coder
vibeos tools # configures coder's tools
vibeos profile use default # switch back

Устанавливает значение по умолчанию, поэтому простые команды vibeos нацелены на этот профиль. Как kubectl config use-context.

Знать, где ты​

CLI всегда показывает, какой профиль активен:

  • Подсказка: coder ❯ вместо ❯.
  • Баннер: при запуске отображается Profile: coder.
  • vibeos profile: показывает имя текущего профиля, путь, модель, состояние шлюза.

Профили, рабочие пространства и песочница​

Профили часто путают с рабочими пространствами или песочницами, но это разные вещи:

  • профиль предоставляет VibeOS собственный каталог состояний: config.yaml, .env, SOUL.md, сеансы, память, журналы, задания cron и состояние шлюза.
  • Рабочая область или рабочий каталог — это место, где запускаются команды терминала. Это контролируется отдельно terminal.cwd.
  • песочница — это то, что ограничивает доступ к файловой системе. Профили не помещают агент в изолированную среду.

На серверной части терминала local по умолчанию агент по-прежнему имеет тот же доступ к файловой системе, что и ваша учетная запись пользователя. Профиль не запрещает ему доступ к папкам за пределами каталога профиля.

Если вы хотите, чтобы профиль запускался в определенной папке проекта, установите явный абсолют terminal.cwd в config.yaml этого профиля:

terminal:
backend: local
cwd: /absolute/path/to/project

Использование cwd: "." на локальном сервере означает «каталог, из которого была запущена VibeOS», а не «каталог профиля».

Также обратите внимание:

  • SOUL.md может управлять моделью, но не обеспечивает соблюдение границ рабочей области.
  • Изменения в SOUL.md вступают в силу в новом сеансе. Существующие сеансы могут по-прежнему использовать старое состояние приглашения.
  • Спросить модель: «В каком ты каталоге?» не является надежным тестом изоляции. Если вам нужен предсказуемый начальный каталог для инструментов, задайте terminal.cwd явно.

Запуск шлюзов​

Каждый профиль запускает свой шлюз как отдельный процесс со своим токеном бота:

coder gateway start           # starts coder's gateway
assistant gateway start # starts assistant's gateway (separate process)

Различные токены ботов​

Каждый профиль имеет свой собственный файл .env. Настройте разные токены бота Telegram/Discord/Slack в каждом:

# Edit coder's tokens
nano ~/.vibeos/profiles/coder/.env

# Edit assistant's tokens
nano ~/.vibeos/profiles/assistant/.env

Безопасность: токены блокировки​

Если два профиля случайно используют один и тот же токен бота, второй шлюз будет заблокирован с явной ошибкой с указанием конфликтующего профиля. Поддерживается для Telegram, Discord, Slack, WhatsApp и Signal.

Постоянные службы​

coder gateway install         # creates vibeos-gateway-coder systemd/launchd service
assistant gateway install # creates vibeos-gateway-assistant service

Каждый профиль получает свое собственное имя службы. Они работают независимо.

Внутри официального образа Docker

Шлюзы каждого профиля контролируются s6-overlay (PID 1 в контейнере), поэтому vibeos profile create &lt;name&gt; автоматически регистрирует сервисный слот s6 в /run/service/gateway-<name>/. vibeos -p <name> gateway start/stop/restartотправляетs6-svcвместо запуска пустого процесса — сбои перезапускаются автоматически, аdocker restart` сохраняет ранее запущенный набор шлюзов. Подробности см. в разделе Контроль шлюза по профилю.

Настройка профилей​

Каждый профиль имеет свои:

  • config.yaml — модель, провайдер, наборы инструментов, все настройки
  • .env — API-ключи, токены ботов
  • SOUL.md — личность и инструкции
coder config set model.default anthropic/claude-sonnet-4
echo "You are a focused coding assistant." > ~/.vibeos/profiles/coder/SOUL.md

Если вы хотите, чтобы этот профиль работал в конкретном проекте по умолчанию, также установите свой собственный terminal.cwd:

coder config set terminal.cwd /absolute/path/to/project

Из панели управления​

Веб-панель это поверхность на уровне компьютера, которая может управлять конфигурацией любого профиля, API ключи, навыки, MCP и модель через переключатель профиля на боковой панели — нет Нужна панель мониторинга для каждого профиля. coder dashboard маршруты к машине приборную панель с предварительно выбранным профилем coder. Вкладка «Чат» панели управления также следует за переключателем, создавая разговор под выбранным дом профиля.

Примечание. «Сделать активным» на странице «Профили» информационной панели — это прикрепленный значок. по умолчанию для будущих запусков CLI/шлюза (то же, что vibeos profile use) — чтобы редактировать профиль с панели управления, вместо этого используйте переключатель.

Обновление​

vibeos update извлекает код один раз (общий) и автоматически синхронизирует новые связанные навыки со всеми профилями:

vibeos update
# → Code updated (12 commits)
# → Skills synced: default (up to date), coder (+2 new), assistant (+2 new)

Навыки, измененные пользователем, никогда не перезаписываются.

Управление профилями​

vibeos profile list           # show all profiles with status
vibeos profile show coder # detailed info for one profile
vibeos profile rename coder dev-bot # rename (updates alias + service)
vibeos profile export coder # export to coder.tar.gz
vibeos profile import coder.tar.gz # import from archive

Удаление профиля​

vibeos profile delete coder

Это останавливает шлюз, удаляет службу systemd/launchd, удаляет псевдоним команды и удаляет все данные профиля. Вам будет предложено ввести имя профиля для подтверждения.

Используйте --yes, чтобы пропустить подтверждение: vibeos profile delete coder --yes.

примечание

Вы не можете удалить профиль по умолчанию (~/.vibeos). Чтобы удалить все, используйте vibeos uninstall.

Завершение вкладки​

# Bash
eval "$(vibeos completion bash)"

# Zsh
eval "$(vibeos completion zsh)"

Добавьте строку в ~/.bashrc или ~/.zshrc для постоянного завершения. Заполняет имена профилей после -p, подкоманд профиля и команд верхнего уровня.

Как это работает​

Профили используют переменную среды VIBEOS_HOME. Когда вы запускаете coder chat, сценарий-оболочка устанавливает VIBEOS_HOME=~/.vibeos/profiles/coder перед запуском VibeOS. Поскольку более 119 файлов в кодовой базе разрешают пути через get_vibeos_home(), состояние VibeOS автоматически ограничивается каталогом профиля — конфигурация, сеансы, память, навыки, база данных состояний, PID шлюза, журналы и задания cron.

Это отдельный от рабочего каталога терминала. Выполнение инструмента начинается с terminal.cwd (или каталога запуска, если cwd: "." на локальном сервере), а не автоматически с VIBEOS_HOME.

При установке на хосте подпроцессы инструментов по умолчанию сохраняют вашего реального пользователя ОС HOME, поэтому существующие учетные данные CLI в разделе ~ продолжают работать во всех профилях. Данные профиля изолирован с помощью VIBEOS_HOME, а не путем изменения HOME. Контейнерные серверы все еще используют \{VIBEOS_HOME\}/home для постоянного состояния инструмента и пользователей хоста, которым требуется строгое Конфигурацию инструмента для каждого профиля можно включить с помощью terminal.home_mode: profile.

Это означает две вещи, которые легко спутать:

  • VIBEOS_HOME — граница профиля. Он управляет конфигурацией VibeOS, .env, память, сеансы, навыки, журналы, задания cron, состояние шлюза и другое VibeOS данные.
  • HOME — это домашний каталог операционной системы/пользователя, ожидаемый внешними интерфейсами командной строки. На хосте устанавливается, VibeOS по умолчанию сохраняет его как домашний каталог реального пользователя, поэтому такие инструменты, как git, ssh, gh, az, npm, Claude Code и Codex находят одно и то же. учетные данные, которые они используют в вашей обычной оболочке.

Компромисс заключается в том, что профили хоста по умолчанию используют обычное состояние CLI на уровне пользователя. Если вам нужны отдельные идентификаторы CLI для каждого профиля, установите terminal.home_mode: profile в config.yaml этого профиля. В этом режиме VibeOS запускает инструмент подпроцессы с HOME=\{VIBEOS_HOME\}/home; затем вам нужно инициализировать или связать специфичные для профиля ~/.ssh, ~/.gitconfig, ~/.config/gh, аутентификация через облачный CLI, Аутентификация Claude/Codex, состояние npm и подобные файлы внутри дома этого профиля.

VibeOS также предоставляет подпроцессам VIBEOS_REAL_HOME, чтобы сценарии могли находить фактический домашний аккаунт, когда home_mode: profile активен.

Профиль по умолчанию — это просто ~/.vibeos. Миграция не требуется — существующие установки работают идентично.

Совместное использование профилей как дистрибутивов​

Профиль, созданный вами на одном компьютере, можно упаковать как git-репозиторий и установить с помощью одной команды на другом компьютере — на вашей собственной рабочей станции, ноутбуке товарища по команде или в среде пользователя сообщества. Общий пакет включает в себя SOUL, конфигурацию, навыки, задания cron и соединения MCP. Учетные данные, память и сеансы остаются на каждой машине.

# Install a whole agent from a git repo
vibeos profile install github.com/you/research-bot --alias

# Update later when the author ships a new version (keeps your memories + .env)
vibeos profile update research-bot

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