SillyTavern Setup Guide (kinda..) v0.2
Плейлист, под который это все писалось
(200 треков только показывает, через встроенный в ТГ браузер вряд ли будет работать; и сразу VPN включайте если слушать будете)
Моя мусорка в ТГ:
https://t.me/+LjmOBBF055RmNTky
Так-так.. Писать буду наверное в формате размышлений, без тугодумий по поводу оформления, мне так проще будет.
И сразу скажу - прям супер разжевывать не буду (только если в шутку), надоест писать быстро, СДВГ, все дела.. Так что, если будут вопросы - @qwertyplop, или где меня еще найдете.
Ну, начнем наверное с того, что вообще такое этот ваш "Great and Powerful" SillyTavern (Таверна) - это, по сути, фронт, обложка, видимая часть сайта, если хотите.
Фронтов много, Janitor (буду Jan использовать для сравнения, ибо большинство им и пользуется), например, один из них.
Что отличает Таверну от подавляющего большинства фронтов? Как бы это описать.. Свобода, от оков, от ограничений.. Что-то такое. Очень много всего можно сделать, используя Таверну, инструменты все предоставлены, здесь все будет зависеть только от ваших личных умений A) Находить информацию, Б) Думать самостоятельно - Таверна точно НЕ подойдет для тех, кто не хочет особо париться (только если у вас и потребности тоже невысокие, знай себе пишет, и ладно).
Что конкретно, а то это пресловутое "всё" ничего не объясняет. Так, нуу..
Перечислю, что вспомню и что сам при желании смогу сделать - генерация изображений прямо в чате, генерация скриптов, сайтов/страничек, симуляция выборов/исходов/вероятностей и подобных, озвучка реплик/текста (вполне может быть даже и поролевая, тут надо повспоминать), вставка сообщений за кого бы то ни было (за себя, за бота, системные сообщения,..), групповые чаты (несколько персонажей сразу), симуляция визуальных новелл(вытекает из верхних конечно, тем не менее), ведение сюжета (выставление глобальных целей), экономия на платных моделях (кэширование), 1001 способ создания памяти для бота.. И туда дальше
А, ну и конечно, некоторые прокси могут не работать Janitor, но спокойно в Таверне (наоборот, из моего понимания, быть не может) - конкретные примеры:
1)оф. API LongCat не работает на Janitor (либо я не допер, как я его только не пихал, он квадратный видимо, в круглую дырку не лезет)
2)Локальные модели (запущенные на компе/телефоне непосредственно) намного проще загнать в Таверну, чем куда то на сайт (но возможно).
Так, с тем, что это, somewhat разобрались, теперь к тому, как мы это ставить будем. Буду наверное по этапам делить, мб потом еще прикручу план, чтобы ориентироваться.
1. Installation (First step is always the hardest):
Устройств у нас 3 вида получается - ПК, Андроид, iOS (iOS по большей части это "Остальные", потому как напрямую сделать.. Ну не также просто, а остальные способы подойдут любому устройству с доступом к браузеру)
По этому, буду писать отдельно под каждое.
Требований к устройствам нет как таковых, очень легковесное все.
Также, поставить вполне спокойно можно только одним способом, и потом иметь доступ с любого устройства (об этом напишу, если не забуду)
Также, сразу: напрямую на iOS, без обходных путей (либо способом 1.3, либо с JailBreak - по идее можно, но как сам JB поставить, я не буду объяснять, вообще левая тема) поставить Таверну НЕ ПРЕДСТАВЛЯЕТСЯ ВОЗМОЖНЫМ (по крайней мере, in my book)
Если есть те, у кого уже поставлен JB и вы хотите поставить Таверну - @qwertyplop, помогу и в гайд заодно добавлю
1.0)Linux / MacOS - вот инструкция как поставить, непонятно - пишите, будем решать
1.1) ПК с Windows (поздравляю):
Так давно все это ставил, что уже сам не помню ч там, пойду смотреть. И вот еще, пока не забыл. Мне будет чуть проблематично все углядеть, потому что у меня многое установлено уже, могу пропустить.. Что-то идет не так, пишите, объясню и допишу сюда.
Есть в две стороны дорога: для всех и для "особенных". Я особенный, люблю идти через лес, так интереснее. Но способ писать буду для всех, он универсальный.
Скипайте, если понимаете что тут написано, просто сделайте, как указано:
Для всех остальных, объясняю, что написано сверху:
- Зашли в компьютер (серьезно?), нажимаем комбинацию клавиш WIN + R (красивая кнопочка с символом, похожим на ⊞, в левой нижней части клавиатуры обычно +(то есть жмем одновременно, можно сначала зажать Win) русская К)
- Туда вставляем вот это добро:
cmd /c winget install -e --id Git.Git
на вопрос отвечаем Y (то есть нажимаем куда угодно в консоли, вписываем Y и нажимаем Enter/Return ⏎)
Консоль после установки закроется (тут я не уверен, надо будет потестить с теми, у кого ничего не установлено).
- Далее, нажимаем комбинацию WIN + E (по той же схеме, только теперь русская буква будет У), откроется Проводник (А так можно было его открыть?)
- Тут в любом месте создаем папку пустую, главное правило, чтобы русских символов в пути не было (Может Users переводить в пути как Пользователи, не ведемся, система видит именно на английском). Верный Вариант - либо не на системном диске (если два диска/ два раздела), либо прям в корне системного (C: обычно)
Нажимаем Enter, откроется консоль:
git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher && start installer.bat
Откроется вторая консоль, первую можно закрыть, или оставить, и потом закрыть
Несутся буквы цифры, цифры буквы, проценты растут чиселки бегут - процесс запущен.
- Доходим до второго вопроса, закрываем консоль. Все, на этом этапе. у нас должны были появиться два ярлыка на рабочем столе:
Второй технический, для обновлений/настроек поглубже, рядовым не понадобится (но лучше оставить, на всякий.) А вот первый - это то, что нам и нужно, нажимаем - открывается консоль:
- Потом.. ждем, ждем пока текст добежит, после этого должен автоматом запуститься браузер, ориентир в консоли:
Если не открылся сам, то странно, но ничего, попробуем зайти самостоятельно.
Ссылка: http://127.0.0.1:8000/
Установка завершена. Поздравляю!
1.2) Android (поздравляю)
Для немногих шарящих (ссылки ниже)
Важно: Если телефон с рут-правами, то вы - крутышка, и у вас проблем особых не будет по пути, с нерутованными придется вопрос "Тихо-мирно" решать, или подъезжать с 40 чеченцами, посмотрим..
Так значит.. Буду вспоминать, ничего тоже уже не помню
Termux | F-Droid - Free and Open Source Android App Repository
Устанавливаем скачанный apk (хоть бы все знали как это делать, пжпжпжпж)
Важно: Termux должен быть запущен все время, что вы пользуетесь Таверной. Он выступает в роли сервера, и при отключении, связь прервется - придется перезапускать. Поэтому есть смысл сразу добавить приложение в исключения контроля активности (у всех это будет крайне по-разному называться, гуглите по поводу контроля потребления у приложений, скорее всего найдете)
Далее, вписываем команду (можно вставить, зажимаете, появится Paste):
termux-change-repo
Нажимаем где-нибудь, откроется клавиатура, нажимаем ввод
Как закончит, должны до этого дойти:
pkg update && pkg upgrade
На этом этапе вводим с клавиатуры Y и нажимаем ввод:
Пару раз вылезет подобное, нажимаем ввод на клавиатуре просто:
Дожидаемся окончания (появляется $ в консоли - это всегда знак, что ничего не проиходит):
pkg install git nodejs-lts nano
Будут периодически выскакивать запросы на подтверждения ([Y/n], как сверху), на них всегда вводим с клавиатуры Y и жмем ввод
git clone https://github.com/SillyTavern/SillyTavern -b release
nano ~/.bashrc
Открывается текстовый редактор, в него по той же схеме загоняем это (после вставки ввод можно не нажимать):
# Update Termux packages alias pkgup="pkg update && pkg upgrade" #Start SillyTavern alias st='cd ~/SillyTavern && bash start.sh' # Update SillyTavern alias stup='cd ~/SillyTavern && git pull --rebase --autostash'
Далее - невероятное: нажимаем CTRL на экране, а на клавиатуре (вызвать тапом по экрану) нажимаем английскую X:
Потом на клавиатуре жмем Y, потом ввод:
source ~/.bashrc
ВСЕ. Теперь, чтобы запускать Таверну, открываем Termux (он сейчас у вас открыт, но на будущее) и вписываем:
st
Знаком того, что он запустился, будет:
Далее, его не закрываем, открываем браузер, переходим по ссылке:
Установка завершена. Поздравляю!
1.3) Прочие + Доп. устройства (iOS сюда тоже) (соболезную):
В общем, что хочется сказать.. Тут все уже по грустнее, способы усложняются в зависимости от желаемого результата. Я буду описывать универсальный способ, он подойдет тем, кто хочет подключить устройство без таверны к устройству с таверной, любая связка устройств с этими ОС (делать будем через TailScale, знающие сами настройте, все просто, гайд в доках Таверны есть):
То есть, для тех кто не понял: У ВАС УЖЕ ДОЛЖНА БЫТЬ УСТАНОВЛЕНА ТАВЕРНА (на любом из представленных выше устройств, способы установки в этом гайде есть пока только на PC и Android, для остальных мне нужен кролики с этими устройствами)
Описываемый мной способ НЕ ПОДОЙДЕТ тем, у кого устройство, на котором установлена Таверна, определяет TailScale как VPN (Android, возможно iOS), и кому нужно помимо этого запускать свой VPN (например, для доступа к Gemini). То есть в одном случае - у вас Android, который лежит дома и держит сервер с Таверной, к которой вы пытаетесь удаленно подключится, и при этом вам нужен доступ к не работающим в вашей стране моделям.
Есть и хорошая новость: ниже будет способ подключения по локальной сети, то есть, если устройства в одной сети, то работать будет и с VPN'ом, но тоже есть заковырки свои, об этом ниже. Если ищете именно такой способ, пропускайте все до пункта 1.3.1)
- Для начала, нам нужен на всех устройствах, участвующих в этих непотребствах, клиент TailScale - прога соединяет все устройства, к ней подключенные, в одну общую сеть, все очень просто в настройке, а подключение вообще секундное:
Для русских Android юзеров, возможно будет недоступно приложение в Google Play, альтернативная ссылка:
https://f-droid.org/repo/com.tailscale.ipn_395.apk (актуальна на 11.10.25)
Скачиваем на все устройства, которые нам нужны (минимум 2, основное и принимающее - например PC и iOS) - я показывать буду на примере двух устройств, PC и Android, в обе стороны. (то есть у меня установлена на Таверна на обоих) ВАМ В ОБЕ СТОРОНЫ ДЕЛАТЬ НЕОБЯЗАТЕЛЬНО! ПОДУМАЙТЕ!
- Скачали, везде установили, теперь подключаем устройства к аккаунту, то есть, входим на устройствах в учетку TailScale:
PC:
Android:
С TailScale на этом все, далее - разрешения на подключение..
1.3.1) Разрешение на подключение (откроется возможность подключения по локальной сети + Tailscale)
Тут все тоже от устройства зависит, объяснять буду для PC и Android
PC:
- Находим в папке с Таверной (а вот где создавали, там и ищите, в гайде описано, папку там и ищите примерно.. Ну или переустановка)
Открывайте с помощью Блокнота:
Сюда нам нужно добавить Ip адреса всех устройств, которые мы хотим чтобы имели доступ к Таверне
Для локальных адресов (которые в одной сети) - ищем в интернете: "как узнать локальный IP адрес {ваше устройство (Windows, Android, iOS)}"
Для TailScale: в админке TailScale (ссылка - Machines - Tailscale), смотрим IP адрес устройства, которому нужно дать доступ:
Как адреса получили, в файл их вписываем:
Так вы можете вписать хоть сколько адресов, обеспечивая доступ с неограниченного количества устройств к одной, общей Таверне.
Android:
Тут все по той же схеме, только через Termux:
nano ~/SillyTavern/config.yaml
Вписываем IP других устройств (в моем случае, PC - локальный и с TailScale):
Далее - как и при установке: Ctrl + X -> Y -> Ввод:
Подключение к основной Таверне из подключенных устройств
Так, теперь мы все настроили, в моем случае есть два устройства: одно раздающее, второе подключающееся (у меня оно в обе стороны работает, но так делать нет смысла, пусть на одном все будет).. И что дальше, как зайти то?
- Запускаем Таверну на основном устройстве, включаем TailScale (если через него делали, для одной сети не надо)
- Со второго устройства заходим в браузер, и заходим на:
http://{IP адрес}:8000Где {IP адрес} заменяем на IP нашего основного устройства (компа в случае телефона, и наоборот), локального, либо взятого с TailScale:
Ии... Voila, Все работает! Поздравляю!
Предупреждение: локальные IP адреса имеют свойство быть по умолчанию динамическими, то есть меняться, если вдруг не заходит спустя какое-то время, посмотрите, не поменялся ли IP на одном из устройств (у локальных IP меняется только последние 2-3 цифры)
При использование VPN, DNS, обходов и прочего, локальный IP скрывается от других устройств в сети, так что чтобы подключиться, придется искать ухищрения (в моем случае это Split Tunneling, можете либо сами почитать, либо мне написать, разберемся)
2. Initial Setup (Now that everything is set up, we can... What? There's more?)
Теперь, когда у нас есть установленная Таверна, мы уже можем начать чатиться, получая нескончаемый кайф.. Мы же можем, так?
Теперь начинается самый сложный этап - вникание в то, что собственно за что отвечает. Если до этого, на этапе установки, можно было просто втупую повторять, step-by-step, то теперь все иначе. Я также дам описание первоначальной настройки, чтобы оно хотя бы работало, писало буквы. А вот после, я буду объяснять, что есть что, сложными терминами, насколько возможно уходя в технические понятия - шучу, или нет.. В общем, готовьтесь к тому, что начиная отсюда, нужно начинать самостоятельно вникать в суть вопроса, чтобы потом не бегать и не спрашивать за каждую мелочь.
2.1) Первый запуск
Первым делом нас встретит приветственное окно:
Выбираем язык интерфейса по вкусу (в целом без разницы, но проще искать информацию, когда интерфейс точно на том же языке, на котором написано большинство гайдов/FAQ). Мой выбор 100 из 100 случаев - английский.
Все, остальное пока не нужно, закрываем кнопкой "Save". Дальше у нас следует стартовый экран, он будет открываться всегда, при первом запуске:
Это у нас история чатов, здесь будут все недавние чаты, и быстрые переходы на важные элементы Таверны. Тут особо смотреть не на что, не задерживаемся. Вот что нам интересно, так это:
1 - Навигация, 2 - область чата. Быстро пробегусь по всему, что тут у нас есть.
2.2) Quick Tour по Таверне
Пробегусь по всем функциям коротко, потом по надобности раскрою
2.1.1) Разделы (хз как их назвать) Таверны
Пойду по тому, в каком порядке их следует (по моему мнению) настраивать
Здесь у нас будут настраиваться и хранится все наши подключения к моделям, с ключами и ссылками.
Здесь происходит основная настройка генерации модели - настройки семплера (температура, размер контекстного окна, размер ответа и т.д.) и промпты (здесь это комплекс из нескольких сообщений в одном запросе, из-за этого следование промпту лучше, обманывать модели проще (Claude, Gemini) но и настраивать вручную сложнее).
Практически полностью этот раздел относится к Text Completion, о том что это, поговорим позже. Сейчас достаточно понимать, что если вы пользуетесь API (ссылки и ключи), то вам этот раздел не нужен.
Здесь происходит дальнейшая обработка промпта, перед отправкой к модели, а также здесь прописывается системный промпт в случае использования Text Completion.
Персона - это вы, ваша сторона РП, тут вы их создаете и выбираете
Здесь создаются, импортируются и экспортируются, а также выбираются все карты персонажей.
Здесь будет управление всеми лорбуками: создание значений, импорт/экспорт, редактирование.
Это самая обширная часть Таверны, тут уже "с коробки" можно настроить: Генерацию изображений, перевод чата, озвучку, память, изменение эмоции персонажа визуально (картинками), regex (отдельная, широченная тема, очень много можно с помощью нее сделать), и так далее. А это еще только "из коробки", в Таверне можно создавать (или загружать готовые) расширения, увеличивая возможности еще больше (готовых уже очень много, вряд ли вам когда-либо придется делать расширения самостоятельно).
Здесь уже настраивается пользовательский опыт - то как выглядит Таверна внешне, и как внешне она реагирует на ваши действия.
Тут просто хранятся фоны, загружаете свои, выбираете (можно даже сделать автовыбор в зависимости от контекста).
2.1.2) Область чата
Что тут у нас.. Помимо, конечно, собственно строки ввода и кнопки отправки, у нас есть два списка функций, рассмотрим поподробнее:
Основные функции чата
Просто пройдусь по всем, какие-то здесь очевидны, какие-то можно разобрать.
Это место для заметок, которые можно включить в память модели, поэтому большинстве их используют, как память модели. Можно указывать как заметки для конкретной карты, так и общие для всех.
Эта функция поддерживается очень малым перечнем API (oobabooga WebUI, NovelAI, Tabby API)
Позволяет настроить, какие части промпта будут сильнее / слабее влиять на модель (работает не совсем также, как, возможно кому-то известный, CFG в Stable Diffusion. Здесь "миксуется" положительный и отрицательный промпт, и их разница выдается в виде миксованного промпта модели)
Ссылка для желающих узнать побольше: CFG | docs.ST.app
Опять же, работает далеко не везде (тут надо поизучать, не знаю, в NovelAI вроде есть)
Прикольная штука, позволяет смотреть в последнем сообщении, как модель составляла ответ (вероятности для каждого токена), а заодно увидеть, как эти токены вообще выглядят
При нажатии, на последнем сообщении создается Чекпойнт, и чат с этого момента копируется, позволяя писать-писать, а потом вернутся обратно, сохранив все, что вы написали, в копии
Во время нахождения в копии, появляется еще опция - вернуться обратно в основной чат.
Создает групповой чат с персонажем. В групповой чат можно добавлять других персонажей, и они, в установленной последовательности, будут отвечать на запросы пользователя.
Здесь будут все чаты с персонажем, которые вы создавали (включая чекпоинты)
По сути реролл, но не "свайп", отличается тем, что последнее сообщения бота стирается, после чего запрос отправляется заново. Удобно, если вы тестируете настройки, чтобы свайпы одного сообщения не накапливались.
Дает команду модели написать в поле ввода сообщение в роли пользователя, на основе заданной инструкции (Задается в пресете)
Продолжает генерацию последнего сообщения в чате.
Дополнения
Здесь хранятся все файлы, относящиеся непосредственно к: Таверне, персонажу или чату. Некоторые расширения могут использовать файлы для долговременного хранения информации (Vector Storage, например) - эти файлы будут здесь, здесь их можно загружать и выгружать, просматривать и изменять
Отправит выбранный файл вместе с вашим следующим сообщением. Файл может быть любым
Изображения будут отображаться в чате, но таким образом, они будут отправляться модели вместе с запросом, и не все модели умеют работать с изображениями. Имейте в виду!
Если генерация настроена, сгенерирует изображение по одному из следующих настраиваемых пресетов
Если настроено, сгенерирует описание для изображения, может использоваться для того, чтобы модель "видела" содержимое изображения, и реагировала на него.
Если настроено, озвучит все сообщения в чате
Встроенный инструмент для подсчета токенов сообщения. Считает на основе токенайзера. выбранного для конкретной модели, или предоставленного API
Перевод весь чат, согласно настройке (по умолчанию Google Translate на английский (или язык интерфейса? Непонятно)). Сообщения будут слаться модели ПЕРЕВЕДЕННЫМИ, отменить перевод для чата можно в настройках перевода
Переведет сообщение, введенное в поле ввода, на язык интерфейса (??).
Slash-команды
Помимо всего перечисленного, в чат можно прописывать slash-команды, их превеликое множество, все действия с кнопок по идее можно вызвать через команды. Весь список можно посмотреть введя "/", либо введя комманду
/help slash
Пример команды, которой сам пользовался
2.1.3) Функции чата
Помимо всего этого, функции есть и у каждого конкретно взятого сообщения в чате
Действия с сообщением
Отличие от чекпойнта - ответвление сразу перебрасывает вас в копию
Редактирование сообщения
При нажатии активируется редактор сообщения, со своими возможностями
Если у сообщения несколько свайпов, будет предложено либо удалить свайп, либо все сообщение
С туром вроде все, следующим этапом будет первоначальная настройка (наконец-то!!!)
Так, на тут я пока закончу, первоначальную настройку и все прочее я напишу, как-нибудь. Фидбек приветствуется!