Об этом проекте
Charon — это self-hosted веб-приложение для ролевых игр с ИИ-персонажами, которое автор позиционирует как сочетание функций Chub, SillyTavern и других инструментов. Оно предназначено для хранения пользовательских данных локально, а не в облачном сервисе.
Основные возможности, описанные в README:
- Ветвящиеся диалоги: каждый свайп ответа ИИ создаёт новую ветку, позволяя пользователям переключаться между альтернативами, редактировать сообщения на месте и не терять предыдущие ответы.
- Карточки персонажей V2 и V3: импорт `.png`-карточек из SillyTavern, Chub или других источников без конвертации.
- Собственный API-ключ: работает с OpenAI-совместимыми провайдерами, такими как OpenAI, Anthropic через прокси, OpenRouter, Ollama и vLLM. Ключи шифруются при хранении.
- Лорбуки: фоновые знания можно прикреплять к чату, приложение автоматически выбирает релевантные записи для ИИ.
- Персоны: можно задавать несколько персон и переключать их для каждого чата.
- Рендеринг Markdown: поддержка жирного текста, курсива, блоков кода, изображений, ограничения `<style>` и подсветки диалогов с плавным появлением при стриминге.
- Self-hosting: данные хранятся в локальном файле SQLite, без зависимости от облака, телеметрии или внешних аккаунтов, кроме собственного.
Варианты развёртывания включают Docker через `docker compose up -d` (данные сохраняются в томе `charon-data`) или разработку на основе pnpm. Обязательные переменные окружения: `BETTER_AUTH_SECRET` и `ENCRYPTION_KEY`, с примерами генерации через `openssl rand`. Миграции выполняются автоматически при первом запуске. Для старых баз данных предусмотрен путь обновления до единой учётной записи администратора с документированной процедурой резервного копирования и восстановления через `pnpm migrate:single-user`.
Первоначальная настройка включает создание аккаунта, прохождение мастера подключения ИИ-провайдера и получение персонажа, затем начало чата. Персонажи не входят в комплект; пользователей направляют на Chub или в папку SillyTavern `public/characters/`. Управление чатом включает отправку, новую строку, свайп, регенерацию, редактирование, имитацию, продолжение, удаление ветки и командное меню Ctrl+K. Путь импорта из SillyTavern описан через копирование данных в `public/data/` и запуск `pnpm run migrate`. Продакшен-сборка использует `pnpm run build` и `pnpm run start` на порту 3000, с установкой `APP_URL` для куки аутентификации. Документация для разработчиков указана в CONTRIBUTING.md.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.