Skip to main content

CLI и эксплуатация

CLI нужен для первичной настройки, локального общения с Велесом, запуска сервера, OAuth-входа, диагностики каналов и эксплуатации в Docker/systemd.

Основные команды

КомандаНазначение
veles onboardСоздать конфигурацию и рабочую область
veles onboard --wizardИнтерактивная настройка
veles agent -m "..."Одно сообщение Велесу
veles agentИнтерактивный CLI-чат
veles gatewayЗапуск сервера Велеса
veles statusСтатус конфигурации, рабочей области и провайдеров
veles provider login ...OAuth-вход
veles channels loginПривязка моста WhatsApp
veles channels statusСтатус каналов
veles plugins listСписок встроенных каналов и каналов-расширений
veles secrets generate-keyСгенерировать главный ключ для зашифрованных секретов

Onboard

veles onboard
veles onboard --wizard
veles onboard --config ~/.veles-work/config.json --workspace ~/.veles-work/workspace
Если файл конфигурации уже существует, обычный onboard предлагает:
  • перезаписать значения по умолчанию;
  • обновить конфигурацию, сохранив существующие значения и добавив новые поля.

Локальный чат

Одно сообщение:
veles agent -m "Составь краткий план работы"
Интерактивно:
veles agent
С отдельной сессией:
veles agent --session cli:research
С отдельной рабочей областью или конфигурацией:
veles agent -c ~/.veles-work/config.json -w ~/.veles-work/workspace
Флаги вывода:
veles agent --no-markdown
veles agent --logs

Сервер Велеса

veles gateway
veles gateway --port 18791
veles gateway --config ~/.veles-work/config.json
veles gateway --workspace /tmp/veles-sandbox
veles gateway --verbose
Сервер запускает:
  • цикл обработки сообщений Велеса;
  • HTTP API и внутренние вызовы;
  • управление каналами;
  • службу расписаний;
  • службу периодических проверок;
  • подключения MCP.
При остановке сервер закрывает MCP, каналы, расписания, периодические проверки и сохраняет ожидающие сессии на диск.

Статус

veles status
Команда показывает:
  • путь к конфигурации;
  • рабочую область;
  • модель по умолчанию;
  • состояние ключей API, OAuth и локальных провайдеров.

OAuth

veles provider login openai-codex
veles provider login github-copilot
Для Codex с зашифрованным хранилищем нужен VELES_SECRETS_MASTER_KEY. Сгенерировать:
veles secrets generate-key

Каналы

veles channels status
veles channels login
veles plugins list
channels login нужен для сценариев с мостом вроде WhatsApp. Для Telegram обычно достаточно токена в конфигурации и запущенного сервера.

Периодические проверки

Периодическая проверка читает HEARTBEAT.md в рабочей области и выполняет задачи через обычный цикл Велеса. Пример:
## Periodic Tasks

- [ ] Каждый будний день присылай краткий список просроченных задач.
Сервер должен быть запущен, а Велес должен знать последний активный внешний канал, куда доставлять результат.

Docker Compose

docker compose run --rm veles-cli onboard
docker compose up -d veles-gateway
docker compose logs -f veles-gateway
docker compose down

Docker

docker build -t veles .
docker run -v ~/.veles:/root/.veles --rm veles onboard
docker run -v ~/.veles:/root/.veles -p 18790:18790 veles gateway
docker run -v ~/.veles:/root/.veles --rm veles agent -m "Привет"
Монтирование ~/.veles сохраняет конфигурацию, рабочую область, служебное состояние и зашифрованные секреты между запусками.

Пользовательская служба systemd

Минимальный unit:
[Unit]
Description=Сервер Велеса
After=network.target

[Service]
Type=simple
ExecStart=%h/.local/bin/veles gateway
Restart=always
RestartSec=10
NoNewPrivileges=yes
ProtectSystem=strict
ReadWritePaths=%h

[Install]
WantedBy=default.target
Команды:
systemctl --user daemon-reload
systemctl --user enable --now veles-gateway
systemctl --user status veles-gateway
journalctl --user -u veles-gateway -f