snens

Установка

Ядро — один бинарь, инструменты — отдельные программы рядом с ним. Установщик для Windows или сборка из исходников; ключ и адрес провайдера задаются после.

Что нужно

платформачем ставитсячто нужно заранее
Windows x64установщик -setup.exeничего, права администратора не нужны
Linux, macOSсборка из исходниковRust stable и cargo
провайдерлюбой OpenAI-совместимый /chat/completionsадрес, имя модели, ключ

Из установщика (Windows)

Установка per-user, без UAC, в %LOCALAPPDATA%\snens:

путьчто
snens.exeядро: цикл, HTTP/API, статика клиента
snens-desktop.exeокно (Tauri)
tools\инструменты: read, edit, write, grep, fetch, search, shot, view, web, desk, agent, audit, memory
web\собранный веб-клиент

Данные и конфиг живут отдельно (%APPDATA%\snens): установка их не создаёт, обновление и удаление их не трогают. Каталог bin\ со ссылками на инструменты — тоже в данных, а не в установке: бандл только для чтения.

Обновление — тот же -setup.exe поверх: ядро, инструменты (включая плагин памяти) и клиент едут одним пакетом, отдельного канала для ядра нет. Перед запуском инсталлятора приложение лучше закрыть пунктом «Выход» в трее — иначе ядро держит файлы.

Артефакты релизов: /releases/.

Из исходников

git clone https://git.svuvi.ch/svuvich/snens && cd snens
cargo build --release --workspace

--workspace не для полноты: ядро и все инструменты собираются одной командой. Бинарь ядра — target/release/snens (snens.exe на Windows), его место — в PATH.

Инструменты после сборки должны лежать там, откуда их берёт реестр: snens build копирует target/release/<имя> в tools/<имя>/<имя>. Без аргументов — всё, с аргументами — только названные:

snens build          # весь workspace
snens build read     # один инструмент: линковка остальных не нужна

Каталог инструментов выбирается так: tools/ рядом с бинарником ядра, если он там есть (так кладёт установщик), иначе <данные>/tools. Переопределяется ключом tools_dir.

Проверка

snens tools      # что ядро реально видит; пусто — каталог не тот
snens selftest   # один ход на фейковой модели с фейковым инструментом

snens selftest проверяет реестр, контракт --help, argv, stdin, PATH и проекцию контекста, печатает selftest ok: …. Только unix: на Windows он отказывается честно — там эквивалент cargo test --workspace.

Куда что кладётся

чтоunixWindows
данные, сессии~/.local/share/snens%APPDATA%\snens
конфиг~/.config/snens/config.toml%APPDATA%\snens\config.toml
ключи~/.config/snens/.env%APPDATA%\snens\.env

Переопределяется окружением: SNENS_DATA_DIR, SNENS_CONFIG_DIR, SNENS_CONFIG (путь к файлу целиком). Отдельный инстанс — это свои каталоги, а не вторая сборка.

Дальше: первый запуск, провайдеры.