Первый запуск
Для ответа нужны три вещи: адрес провайдера, имя модели и ключ. Всё остальное у конфига есть по умолчанию.
Ключ
mkdir -p ~/.config/snens
printf 'SNENS_API_KEY=sk-...\n' > ~/.config/snens/.env
chmod 600 ~/.config/snens/.env
Имя переменной задаётся ключом key_env (дефолт SNENS_API_KEY). Значение ядро берёт сначала из окружения процесса, потом из .env рядом с конфигом: переменная сильнее файла.
Адрес и модель
~/.config/snens/config.toml:
base_url = "https://провайдер.example/v1"
model = "имя-модели"
base_url — без /chat/completions, ядро дописывает путь само. Ни base_url, ни model не имеют дефолта: пустые значения — ошибка с подсказкой, а не тихая попытка уйти на чужой адрес.
Эквивалент через CLI (правит тот же файл):
snens model имя-модели
snens config max_turns=100
Первый запрос
snens run "покажи, что лежит в текущем каталоге"
В stderr печатается [snens] <id> → <base_url> (<model>) — это признак, что конфиг прочитан. Без флагов продолжается последняя сессия, --new начинает новую, --session <id> — конкретную.
Поверхности
| команда | что это |
|---|---|
snens tui-local | TUI в этом же процессе; ни сервера, ни токена не нужно |
snens serve | HTTP/SSE-ядро; при старте создаёт токен в <данные>/api.token |
snens tui | TUI-клиент к запущенному ядру: --endpoint, --token-file |
| десктоп / браузер | та же пара «адрес + токен», либо snens pair с кодом на 5 минут |
snens serve # слушает только loopback
snens tui # в другом терминале: клиент к нему
Токен — единственный секрет поверхности: файл 0600, не короче 32 символов без пробелов, иначе ядро не стартует. Не-loopback адрес — только явно (--allow-remote) и только в приватной сети.
Где смотреть, что было
| что | где |
|---|---|
| журнал сессии | <данные>/sessions/<id>.jsonl, append-only |
| список сессий | snens sessions |
| транскрипт записями | snens log --session <id> |
| токены, кеш, цена | snens show --session <id> |
| фоновое ревью | <данные>/sessions/<id>-review.log |
Признак, что всё работает
snens runвернул текст и код 0.snens showпоказывает токены входа и выхода, кеш и цену.snens toolsотдаёт непустой список.
Не работает — лимиты и провайдеры.