Skip to main content

Настройка и персонализация

AI Short — проект с открытым исходным кодом, который позволяет свободно изменять название сайта, описание, подсказки и многое другое.

Название и описание сайта

Отредактируйте docusaurus.config.js.

Документация и руководства

Отредактируйте соответствующие файлы в директории docs/.

Подсказки на главной странице

Исходные данные хранятся в src/data/prompt.json — это массив, где каждый объект содержит все языковые версии с ключами по коду языка (zh / en / ja и т. д.). Формат добавления подсказки:

{
"zh": {
"title": "custom prompt",
"prompt": "custom prompt",
"description": "custom description",
"remark": "custom mark"
},
"en": {
"title": "custom prompt",
"prompt": "custom prompt",
"description": "custom description",
"remark": "custom mark"
},
"website": null,
"tags": ["music"],
"id": 500,
"weight": 1
}

После редактирования выполните python CodeUpdateHandler.py. Скрипт разбивает prompt.json на отдельные файлы prompt_<locale>.json для каждого языка и обновляет главную страницу и страницы отобранных подсказок для каждой языковой версии.

Конвейер данных: мастер-файл prompt.json обрабатывается скриптом python CodeUpdateHandler.py — разбивается по языкам на отдельные файлы prompt для каждой локали, генерируя JSON карточки и страницу детали для каждого id, с преобразованием OpenCC из упрощённого китайского в традиционный

Примечание: рекомендуется устанавливать id равным 500 или выше, чтобы избежать конфликтов ID с существующими подсказками или контентом сообщества. Запуск python CodeUpdateHandler.py автоматически генерирует данные карточки и страницу детали для каждой подсказки (включая новые) — создавать файлы страниц вручную не нужно; у пользовательских подсказок по умолчанию просто нет отобранного мета-описания и данных комментариев.

Пользовательский бэкенд

По умолчанию проект подключается к общему бэкенду (вход, избранное, сообщество, комментарии и синхронизация между устройствами — всё зависит от него), а src/api содержит полное описание интерфейсных контрактов для справки. Сам бэкенд-сервис не является открытым исходным кодом; для полностью автономного развертывания с собственным бэкендом см. раздел Выберите модель развертывания выше.

Структура модуля API:

src/api/
├── index.ts # unified export entry
├── config.ts # API URL configuration
├── client.ts # Axios client (with auth interceptor)
├── auth.ts # auth API (login/register/OAuth)
├── prompts.ts # prompt CRUD + search + voting
├── favorites.ts # favorites operations
├── myspace.ts # My Space data (core data source)
├── comments.ts # comment system
└── user.ts # user info

Кэширование: данные API кэшируются интеллектуально с помощью lscache и ETag — когда сервер возвращает 304 Not Modified, используется локальный кэш, что снижает объём передаваемых данных.