snens

Первый запуск

Для ответа нужны три вещи: адрес провайдера, имя модели и ключ. Всё остальное у конфига есть по умолчанию.

Ключ

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-localTUI в этом же процессе; ни сервера, ни токена не нужно
snens serveHTTP/SSE-ядро; при старте создаёт токен в <данные>/api.token
snens tuiTUI-клиент к запущенному ядру: --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

Признак, что всё работает

  1. snens run вернул текст и код 0.
  2. snens show показывает токены входа и выхода, кеш и цену.
  3. snens tools отдаёт непустой список.

Не работает — лимиты и провайдеры.