> ## Documentation Index
> Fetch the complete documentation index at: https://docs.velesagent.com/llms.txt
> Use this file to discover all available pages before exploring further.

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

> Команды veles для настройки Велеса, запуска сервера, OAuth, каналов, Docker, systemd и повседневной эксплуатации.

# 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

```bash theme={null}
veles onboard
veles onboard --wizard
veles onboard --config ~/.veles-work/config.json --workspace ~/.veles-work/workspace
```

Если файл конфигурации уже существует, обычный `onboard` предлагает:

* перезаписать значения по умолчанию;
* обновить конфигурацию, сохранив существующие значения и добавив новые поля.

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

Одно сообщение:

```bash theme={null}
veles agent -m "Составь краткий план работы"
```

Интерактивно:

```bash theme={null}
veles agent
```

С отдельной сессией:

```bash theme={null}
veles agent --session cli:research
```

С отдельной рабочей областью или конфигурацией:

```bash theme={null}
veles agent -c ~/.veles-work/config.json -w ~/.veles-work/workspace
```

Флаги вывода:

```bash theme={null}
veles agent --no-markdown
veles agent --logs
```

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

```bash theme={null}
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, каналы, расписания, периодические проверки и сохраняет ожидающие сессии на диск.

## Статус

```bash theme={null}
veles status
```

Команда показывает:

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

## OAuth

```bash theme={null}
veles provider login openai-codex
veles provider login github-copilot
```

Для Codex с зашифрованным хранилищем нужен `VELES_SECRETS_MASTER_KEY`. Сгенерировать:

```bash theme={null}
veles secrets generate-key
```

## Каналы

```bash theme={null}
veles channels status
veles channels login
veles plugins list
```

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

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

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

Пример:

```markdown theme={null}
## Periodic Tasks

- [ ] Каждый будний день присылай краткий список просроченных задач.
```

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

## Docker Compose

```bash theme={null}
docker compose run --rm veles-cli onboard
docker compose up -d veles-gateway
docker compose logs -f veles-gateway
docker compose down
```

## Docker

```bash theme={null}
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:

```ini theme={null}
[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
```

Команды:

```bash theme={null}
systemctl --user daemon-reload
systemctl --user enable --now veles-gateway
systemctl --user status veles-gateway
journalctl --user -u veles-gateway -f
```
