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

Советы и лучшие практики

Короткий сборник приёмов, которые сразу делают работу с VibeOS эффективнее. Разделы независимы — листайте заголовки и прыгайте к нужному.

Не знаете, какую модель выбрать?

vibeos setup --portal — 300+ моделей (Claude, GPT-5, Gemini и др.) по одной подписке. См. Nous Portal.


Лучшие результаты​

Будьте конкретны​

Размытые промпты дают размытый результат. Вместо «исправь код» — «исправь TypeError в api/handlers.py:47: process_request() получает None из parse_body()». Чем больше контекста — тем меньше итераций.

Дайте контекст сразу​

В первом сообщении: пути, ошибки, ожидаемое поведение. Одно точное сообщение лучше трёх раундов уточнений. Трейсбэки вставляйте как есть — агент их разбирает.

Повторяющиеся инструкции — в контекстные файлы​

Если снова и снова пишете «tabs, не spaces», «мы на pytest», «API на /api/v2» — положите это в AGENTS.md. Агент читает файл сам в каждой сессии.

Дайте агенту пользоваться инструментами​

Не расписывайте каждый шаг. «Найди и почини упавший тест» лучше, чем «открой tests/test_foo.py, строка 42…». У агента есть поиск, терминал и code execution — пусть сам исследует.

Для сложных workflow — навыки​

Перед длинным промптом проверьте /skills или вызовите навык напрямую: /axolotl, /github-pr-workflow.

CLI: советы power-user​

Многострочный ввод​

Нажмите Alt+Enter, Ctrl+J или Shift+Enter, чтобы вставить новую строку без отправки. Shift+Enter работает только тогда, когда терминал отправляет его как отдельное нажатие клавиши (Kitty / foot / WezTerm / Ghostty по умолчанию; терминал iTerm2 / Alacritty / VS Code после включения протокола клавиатуры Kitty). Два других работают на каждом терминале.

Paste Detection​

CLI автоматически обнаруживает многострочные вставки. Просто вставьте блок кода или отслеживание ошибок напрямую — каждая строка не будет отправляться как отдельное сообщение. Вставка буферизуется и отправляется как одно сообщение.

Прерывание и перенаправление​

Нажмите Ctrl+C один раз, чтобы прервать ответ агента в середине ответа. Затем вы можете ввести новое сообщение, чтобы перенаправить его. Дважды нажмите Ctrl+C в течение 2 секунд, чтобы принудительно выйти. Это бесценно, когда агент начинает идти по неправильному пути.

Возобновите сеансы с -c​

Забыли что-то из своего последнего сеанса? Запустите vibeos -c, чтобы продолжить с того места, на котором вы остановились, с восстановлением всей истории разговоров. Вы также можете продолжить по заголовку: vibeos -r "my research project".

Вставить изображение в буфер обмена​

Нажмите Ctrl+V, чтобы вставить изображение из буфера обмена прямо в чат. Агент использует зрение для анализа снимков экрана, диаграмм, всплывающих окон с ошибками или макетов пользовательского интерфейса — не нужно предварительно сохранять их в файл.Введите / и нажмите Tab, чтобы просмотреть все доступные команды. Сюда входят встроенные команды (/compress, /model, /title) и все установленные навыки. Вам не нужно ничего запоминать — заполнение табуляции вам поможет.

подсказка

Используйте /verbose для переключения между режимами отображения выходных данных инструмента: выкл. → новый → все → подробный. Режим «все» отлично подходит для наблюдения за тем, что делает агент; «Выкл.» лучше всего подходит для простых вопросов и ответов.

Контекстные файлы​

AGENTS.md: ваш проект Brain​

Создайте AGENTS.md в корне вашего проекта с архитектурными решениями, соглашениями о кодировании и инструкциями для конкретного проекта. Это автоматически вводится в каждый сеанс, поэтому агент всегда знает правила вашего проекта.

# Project Context
- This is a FastAPI backend with SQLAlchemy ORM
- Always use async/await for database operations
- Tests go in tests/ and use pytest-asyncio
- Never commit .env files

SOUL.md: Настройка личности​

Хотите, чтобы VibeOS имел стабильный голос по умолчанию? Отредактируйте ~/.vibeos/SOUL.md (или $VIBEOS_HOME/SOUL.md, если вы используете собственный дом VibeOS). VibeOS теперь автоматически создает стартовый файл SOUL и использует этот глобальный файл в качестве индивидуального источника для всего экземпляра.

Полное пошаговое руководство см. в разделе Использовать SOUL.md с VibeOS.

# Soul
You are a senior backend engineer. Be terse and direct.
Skip explanations unless asked. Prefer one-liners over verbose solutions.
Always consider error handling and edge cases.

Используйте SOUL.md для стойкой индивидуальности. Используйте AGENTS.md для инструкций по конкретному проекту.

.cursorrules Совместимость​

У вас уже есть файл .cursorrules или .cursor/rules/*.mdc? VibeOS тоже их читает. Нет необходимости дублировать ваши соглашения по кодированию — они загружаются автоматически из рабочего каталога.

Discovery​

VibeOS загружает VibeOS верхнего уровня из текущего рабочего каталога при запуске сеанса. Файлы подкаталога AGENTS.md обнаруживаются лениво во время вызовов инструментов (через subdirectory_hints.py) и вводятся в результаты инструментов — они не загружаются заранее в системную подсказку.

подсказка

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

Память и навыки​

Память против навыков: что происходит Где​

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

Когда создавать навыки​

Если вы найдете задачу, требующую 5+ шагов, и вы сделаете ее снова, попросите агента создать для нее навык. Скажите «сохраните то, что вы только что сделали, как навык под названием deploy-staging». В следующий раз просто введите /deploy-staging, и агент загрузит всю процедуру.

Управление объемом памяти​

Память намеренно ограничена (~2200 символов для MEMORY.md, ~1375 символов для USER.md). Когда он заполняется, агент объединяет записи. Вы можете помочь, сказав "очистите свою память" или "замените старую заметку Python 3.9 — сейчас у нас версия 3.12". «Запомни это в следующий раз», и агент сохранит ключевые выводы. Вы также можете указать конкретно: «сохранить в памяти, что наш CI использует GitHub Действия с рабочим процессом deploy.yml».

предупреждение

Memory — это замороженный снимок — изменения, внесенные во время сеанса, не отображаются в системном приглашении до следующего сеанса начинается. Агент немедленно записывает на диск, но кэш подсказок не аннулируется в середине сеанса.

Производительность и стоимость​

Не нарушайте подсказку Cache​

Большинство LLM провайдеров кэшируют префикс системного приглашения. Если вы сохраняете стабильность системного приглашения (те же файлы контекста, та же память), последующие сообщения в сеансе получают попадания в кэш, что значительно дешевле. Не меняйте модель или системное приглашение в середине сеанса.

Используйте /compress перед достижением пределов​

Длительные сеансы накапливают токены. Если вы заметите, что ответы замедляются или обрезаются, запустите /compress. Это суммирует историю разговоров, сохраняя ключевой контекст и одновременно значительно сокращая количество токенов. Используйте /usage, чтобы проверить, где вы находитесь.

Делегат для Parallel Работа​

Нужно исследовать три темы одновременно? Попросите агента использовать delegate_task с параллельными подзадачами. Каждый субагент работает независимо со своим собственным контекстом, и возвращаются только окончательные сводки, что значительно сокращает использование токена вашего основного диалога.Вместо запуска команд терминала по одной попросите агента написать сценарий, который сделает все сразу. «Написать сценарий Python, чтобы переименовать все файлы .jpeg в .jpg и запустить его» дешевле и быстрее, чем переименовывать файлы по отдельности.

Выберите право Model​

Используйте /model для переключения моделей в середине сеанса. Используйте пограничную модель (Claude Sonnet/Opus, GPT-4o) для сложных рассуждений и архитектурных решений. Переключитесь на более быструю модель для простых задач, таких как форматирование, переименование или создание шаблона.

подсказка

Периодически запускайте /usage, чтобы отслеживать потребление токенов. Запустите /insights для более широкого просмотра моделей использования за последние 30 дней.

Советы по обмену сообщениями​

Установить домашний адрес Канал​

Используйте /sethome в предпочитаемом вами чате Telegram или Discord, чтобы назначить его в качестве домашнего канала. Сюда доставляются результаты заданий Cron и результаты запланированных задач. Без него агенту некуда отправлять упреждающие сообщения.

Используйте /title для организации сеансов​

Назовите свои сеансы с помощью /title auth-refactor или /title research-llm-quantization. Именованные сеансы легко найти с помощью vibeos sessions list и возобновить с помощью vibeos -r "auth-refactor". Безымянные сеансы накапливаются, и их становится невозможно отличить.

Сопряжение DM для группового доступа​

Вместо того, чтобы вручную собирать идентификаторы пользователей для списков разрешений, включите объединение DM. Когда товарищ по команде отправляет боту личное сообщение, он получает одноразовый код сопряжения. Вы подтверждаете это с помощью vibeos pairing approve telegram XKGH5N7P — просто и безопасно.

Режимы отображения прогресса инструмента​

Используйте /verbose, чтобы контролировать, какую активность инструмента вы видите. На платформах обмена сообщениями меньше значит лучше — оставьте значение «новое», чтобы видеть только вызовы новых инструментов. В CLI «все» дает вам удовлетворительное представление в реальном времени обо всем, что делает агент.

подсказка

На платформах обмена сообщениями сеансы автоматически сбрасываются после простоя (по умолчанию: 24 часа) или ежедневно в 4 часа утра. Настройте для каждой платформы ~/.vibeos/config.yaml, если вам нужны более длительные сеансы.

Security​

Используйте Docker для Ненадежный код​

При работе с ненадежными репозиториями или запуске незнакомого кода используйте Docker или Daytona в качестве серверной части терминала. Установите TERMINAL_BACKEND=docker в своем .env. Деструктивные команды внутри контейнера не могут нанести вред вашей хост-системе.

# In your .env:
TERMINAL_BACKEND=docker
TERMINAL_DOCKER_IMAGE=vibeos-sandbox:latest

Избегайте Windows ошибок кодирования​

На Windows некоторые кодировки по умолчанию (например, cp125x) не могут представлять все символы Юникода, что может привести к UnicodeEncodeError при записи файлов в тестах или скриптах.

  • Предпочитайте открывать файлы с явной UTF-8 кодировкой:
with open("results.txt", "w", encoding="utf-8") as f:
f.write("✓ All good\n")
  • В PowerShell вы также можете переключить текущий сеанс на UTF-8 для вывода на консоль и собственных команд:
$OutputEncoding = [Console]::OutputEncoding = [Text.UTF8Encoding]::new($false)

Это сохраняет PowerShell и дочерние процессы на UTF-8 и помогает избежать сбоев только Windows.

Просмотрите перед выбором «Всегда»​

Когда агент инициирует одобрение опасной команды (rm -rf, DROP TABLE и т. д.), вы получаете четыре варианта: один раз, сеанс, всегда, запретить. Тщательно подумайте, прежде чем выбрать «всегда» — этот шаблон навсегда заносится в список разрешенных. Начинайте с «сеанса», пока не почувствуете себя комфортно.

Утверждение команд — ваша защита​

VibeOS перед выполнением проверяет каждую команду на наличие тщательно подобранного списка опасных шаблонов. Сюда входят рекурсивные удаления, удаление SQL, передача по конвейеру в оболочку и многое другое. Не отключайте это в рабочей среде — оно существует по уважительным причинам.

предупреждение

При запуске в серверной части контейнера (Docker, Singularity, Modal, Daytona), проверки опасных команд пропускаются, поскольку контейнер является границей безопасности. Убедитесь, что ваши образы контейнеров правильно заблокированы.

Используйте белые списки для ботов обмена сообщениями​

Никогда не устанавливайте GATEWAY_ALLOW_ALL_USERS=true для бота с доступом к терминалу. Всегда используйте списки разрешенных для конкретной платформы (TELEGRAM_ALLOWED_USERS, DISCORD_ALLOWED_USERS) или соединение DM, чтобы контролировать, кто может взаимодействовать с вашим агентом.

# Recommended: explicit allowlists per platform
TELEGRAM_ALLOWED_USERS=123456789,987654321
DISCORD_ALLOWED_USERS=123456789012345678

# Or use cross-platform allowlist
GATEWAY_ALLOWED_USERS=123456789,987654321

У вас есть совет, который должен быть на этой странице? Откройте проблему или PR — вклад сообщества приветствуется.