Skip to content

Latest commit

 

History

History
346 lines (234 loc) · 18.9 KB

File metadata and controls

346 lines (234 loc) · 18.9 KB

SillyInnkeeper

SillyInnkeeper — это приложение для удобной работы с карточками персонажей для SillyTavern. Оно предоставляет мощные инструменты для поиска, фильтрации и сортировки тысяч карточек, а также интеграцию с SillyTavern для быстрого запуска персонажей.

🔗 Расширение для SillyTavern: ST-Extension-SillyInnkeeper — установите это расширение в SillyTavern для интеграции с SillyInnkeeper.

License: AGPL-3.0

Main img

💡 Зачем нужен SillyInnkeeper?

Если у вас большая коллекция карточек персонажей (сотни или тысячи файлов), вы наверняка сталкивались с проблемами при работе с ними:

  • Лаги и зависания — встроенные инструменты SillyTavern не справляются с большим объемом карточек
  • Медленный поиск — поиск по карточкам занимает много времени или вообще не работает
  • Неудобная фильтрация — ограниченные возможности фильтрации и сортировки
  • Сложность навигации — трудно найти нужную карточку среди тысяч файлов
  • Отсутствие метаданных — сложно понять, что находится в карточке, не открывая её

SillyInnkeeper решает все эти проблемы, предоставляя быстрый и удобный способ работы с вашей коллекцией карточек.

✨ Основные возможности

Управление библиотекой карточек

  • Автоматическое сканирование: Просто укажите папку с карточками — приложение само найдет и проиндексирует все PNG-файлы
  • Автоматическое обновление: При добавлении новых карточек или изменении существующих приложение автоматически обновит информацию
  • Работа с дубликатами: Автоматическое обнаружение одинаковых карточек и удобное управление ими

Мощный поиск и фильтрация

  • Поиск по имени: Быстрый поиск карточек по названию персонажа
  • Фильтрация по создателю: Найдите все карточки от конкретного автора
  • Фильтрация по тегам: Выберите несколько тегов для точного поиска
  • Фильтрация по дате: Найдите карточки, созданные в определенный период
  • Фильтрация по содержимому: Найдите карточки с определенными полями (например, только с system prompt или с альтернативными приветствиями)
  • Фильтрация по размеру: Поиск по примерному количеству токенов промпта
  • Гибкая сортировка: Сортировка по дате создания или по имени

Удобный просмотр карточек

  • Вся информация в одном месте: Просмотр всех данных карточки без необходимости открывать файл
  • Организация по вкладкам: Информация разделена на категории для удобства:
    • Основная информация (имя, описание, личность, сценарий, первое сообщение)
    • Альтернативные приветствия
    • Системные промпты
    • Полный JSON (для продвинутых пользователей)
  • Просмотр изображений: Увеличение изображений карточек с возможностью размытия (цензура)
  • Метаданные: Видно ID, версию спецификации, дату создания и другую полезную информацию

Интеграция с SillyTavern

  • Запуск одним кликом: Кнопка "Play" мгновенно импортирует карточку в SillyTavern
  • Автоматический импорт: Расширение для SillyTavern автоматически получает карточки из SillyInnkeeper
  • Экспорт карточек: Скачивание PNG-файлов с корректными метаданными для использования в других приложениях

Удобство использования

  • Быстрая работа: Приложение оптимизировано для работы с тысячами карточек без лагов
  • Автоматические миниатюры: Все карточки отображаются с миниатюрами для быстрого просмотра
  • Темы: Светлая, темная и автоматическая тема (следует системным настройкам)
  • Два языка: Поддержка русского и английского языков

Поддержка всех форматов

  • Поддержка Character Card V1, V2 и V3 — работайте с карточками любого формата

💻 Системные требования

  • Node.js: версия 18.x или выше (рекомендуется 20.x или 24.x)
  • Yarn: версия 4.12.0 (или npm 9.x+)
  • Операционная система: Windows 10/11, Linux, macOS
  • Оперативная память: минимум 2 ГБ (рекомендуется 4 ГБ+ для больших коллекций)
  • Свободное место на диске: минимум 500 МБ для установки + место для базы данных и кэша

📦 Установка

Предварительные требования

Убедитесь, что у вас установлены:

  • Node.js (версия 18.x или выше)
  • Yarn (версия 4.12.0) или npm

Способ 1: Автоматическая установка (Windows)

  1. Клонируйте репозиторий:
git clone https://github.com/dmitryplyaskin/SillyInnkeeper.git
cd SillyInnkeeper
  1. Запустите скрипт установки:
start.bat

Скрипт автоматически установит все зависимости, соберет проект и запустит сервер. Браузер откроется автоматически.

Способ 2: Ручная установка

  1. Клонируйте репозиторий:
git clone https://github.com/dmitryplyaskin/SillyInnkeeper.git
cd SillyInnkeeper
  1. Установите зависимости для сервера:
cd server
yarn install
# или
npm install
  1. Установите зависимости для клиента:
cd ../client
yarn install
# или
npm install
  1. Соберите проект:

Сборка клиента:

cd client
yarn build
# или
npm run build

Сборка сервера:

cd server
yarn build
# или
npm run build
  1. Запустите сервер:
cd server
yarn start
# или
npm start
  1. Откройте браузер и перейдите по адресу:
http://127.0.0.1:48912

Конфигурация (.env)

Можно настроить хост/порт и интеграцию с SillyTavern через корневой файл .env.

  • Скопируйте env.example в .env (в корне репозитория, рядом с package.json)
  • Переменные:
    • INNKEEPER_HOST — интерфейс биндинга (по умолчанию 127.0.0.1). Для доступа из локальной сети используйте 0.0.0.0.
    • INNKEEPER_PORT — порт сервера (по умолчанию 48912)
    • ST_PORT — порт SillyTavern для дефолтного CORS allowlist (по умолчанию 8000)
    • CORS_ALLOW_ORIGINS — дополнительные разрешённые origin’ы (через запятую), например http://192.168.1.50:8001

LAN заметка: если поставить INNKEEPER_HOST=0.0.0.0, то с другого устройства открывайте http://<lan-ip-вашего-пк>:<INNKEEPER_PORT> (возможно понадобится разрешить входящие подключения в firewall).

🚀 Быстрый старт

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

  1. Запустите приложение (см. раздел Установка)

  2. Настройте путь к папке с карточками:

    • Откройте настройки (кнопка "Настройки" в верхней панели)
    • Укажите путь к папке, где хранятся ваши PNG-файлы карточек
    • Сохраните настройки
  3. Дождитесь завершения сканирования:

    • При первом запуске приложение автоматически начнет сканирование указанной папки
    • Прогресс сканирования отображается в интерфейсе
    • После завершения все карточки будут доступны для поиска и просмотра
  4. Начните использовать:

    • Используйте поиск и фильтры для нахождения нужных карточек
    • Кликните на карточку для просмотра детальной информации
    • Используйте кнопку "Play" для запуска карточки в SillyTavern (если настроена интеграция)

Настройка интеграции с SillyTavern

  1. Установите расширение ST-Extension-SillyInnkeeper в SillyTavern

  2. В настройках расширения укажите URL SillyInnkeeper:

    http://127.0.0.1:48912

    Если SillyTavern открыт на другой машине, не используйте localhost — укажите IP/hostname машины с SillyInnkeeper (например http://192.168.1.10:48912).

    Если SillyTavern запущен не на 8000, задайте ST_PORT (и/или добавьте полный origin в CORS_ALLOW_ORIGINS).

  3. Включите "Auto-connect" для автоматического подключения

  4. Теперь вы можете использовать кнопку "Play" в SillyInnkeeper для автоматического импорта карточки в SillyTavern

📖 Использование

Основной интерфейс

Главный экран приложения состоит из:

  • Верхняя панель: Заголовок, переключатель темы, настройки вида, кнопки настроек и фильтров
  • Сетка карточек: Список всех карточек с миниатюрами
  • Боковая панель фильтров: Открывается по кнопке "Фильтры"

Поиск и фильтрация

  1. Откройте панель фильтров (кнопка "Фильтры" в верхней панели)

  2. Используйте доступные фильтры:

    • Поиск по имени: Введите название персонажа
    • Создатель: Выберите одного или нескольких создателей
    • Версия спецификации: Фильтр по версии Character Card (V1/V2/V3)
    • Теги: Выберите теги для фильтрации
    • Дата создания: Укажите диапазон дат
    • Токены: Минимальное и максимальное количество токенов
    • Альтернативные приветствия: Наличие и минимальное количество
    • Наличие полей: Выберите поля, которые должны присутствовать/отсутствовать
  3. Выберите сортировку: По дате создания или по имени

  4. Примените фильтры: Результаты обновятся автоматически

  5. Сбросьте фильтры: Используйте кнопку "Сбросить" для очистки всех фильтров

Просмотр карточки

  1. Кликните на карточку в сетке для открытия детальной информации

  2. Изучите информацию:

    • Вкладка "Основная": Основная информация о персонаже
    • Вкладка "Альтернативные приветствия": Все альтернативные приветствия
    • Вкладка "Системные": System prompt и post history instructions
    • Вкладка "Сырой JSON": Полный JSON карточки для редактирования
  3. Используйте действия:

    • Play: Запустить карточку в SillyTavern
    • Скачать: Скачать PNG-файл карточки
    • Переименовать: Изменить имя основного файла
    • Удалить: Удалить карточку или дубликат

Управление библиотекой

  • Автоматическое обновление: При изменении файлов в папке с карточками приложение автоматически обновит индекс
  • Ручное сканирование: Можно запустить повторное сканирование через настройки
  • Управление дубликатами: В детальном просмотре карточки можно выбрать основной файл или удалить дубликаты

🔗 Интеграция с SillyTavern

SillyInnkeeper интегрируется с SillyTavern через расширение ST-Extension-SillyInnkeeper.

Установка расширения

  1. Откройте SillyTavern
  2. Перейдите в Extensions → Extension Installer
  3. Вставьте URL репозитория:
    https://github.com/dmitryplyaskin/ST-Extension-SillyInnkeeper
  4. Нажмите "Install"

Настройка расширения

  1. Откройте Extensions → SillyInnkeeper в SillyTavern
  2. Укажите SillyInnkeeper URL: http://127.0.0.1:48912 (или ваш порт)
  3. Включите Auto-connect (рекомендуется)
  4. Опционально включите Report import result back to SillyInnkeeper
  5. Опционально включите Open imported character для автоматического открытия импортированного персонажа

Использование

  1. Откройте карточку в SillyInnkeeper
  2. Нажмите кнопку "Play" в детальном просмотре
  3. Карточка автоматически импортируется в SillyTavern
  4. Если включена опция "Open imported character", персонаж откроется автоматически

🗺 Будущие планы

Планируемые функции

  1. Полная интеграция и сканирование SillyTavern

    • Сканирование карточек из папки SillyTavern
    • Управление и редактирование карточек, чатов, лорабуков и т.д.
    • Двусторонняя синхронизация между SillyInnkeeper и SillyTavern
  2. Работа с лорабуками

    • Просмотр и управление лорабуками из карточек
    • Редактирование лорабуков
    • Экспорт/импорт лорабуков
  3. Работа с несколькими директориями

    • Поддержка нескольких библиотек карточек
    • Переключение между библиотеками
    • Объединенный поиск по всем библиотекам
    • Управление библиотеками через UI
  4. Автоскачивание и автоимпорт

    • Мониторинг папки загрузок
    • Автоматическое сканирование новых файлов
    • Автоматический импорт в SillyTavern (опционально)
    • Настройка правил для автоматической организации карточек

📄 Лицензия

Этот проект распространяется под лицензией AGPL-3.0.

👤 Автор

Dmitry Plyaskin


Примечание: SillyInnkeeper — это независимый проект, не связанный официально с SillyTavern. Это инструмент сообщества для улучшения работы с карточками персонажей.