Профили: несколько агентов на одной машине
Несколько независимых агентов 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 включен, операции клонирования автоматически создают выделенный узел 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
Каждый профиль получает свое собственное имя службы. Они работают независимо.
Шлюзы каждого профиля контролируются s6-overlay (PID 1 в контейнере), поэтому vibeos profile create <name> автоматически регистрирует сервисный слот 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
См. Распространение профиля: общий доступ к всему агенту для получения полного руководства — создание, публикация, семантика обновления, модель безопасности и варианты использования.