Настройка и персонализация
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 для каждого языка и обновляет главную страницу и страницы отобранных подсказок для каждой языковой версии.
Примечание: рекомендуется устанавливать
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, используется локальный кэш, что снижает объём передаваемых данных.