88API88API
AI-приложенияAPIПомощь и поддержка

Руководство по локальной разработке и развертыванию

Важно

В этом документе представлены подробные инструкции по настройке и разработке проектов 88API в локальной среде. Он подходит для разработчиков, которые хотят участвовать в разработке проекта или выполнять второстепенную разработку.

Требования к среде разработки

Прежде чем приступить к локальной разработке, убедитесь, что в вашей системе установлено следующее программное обеспечение:

  • Go 1.21 или выше (бэкэнд-разработка)

  • Node.js 18 или выше (фронтенд-разработка)

  • Bun последняя версия (рекомендуемый менеджер пакетов, в 25 раз быстрее, чем npm/yarn)

  • Git (контроль версий)

  • MySQL (необязательно, по умолчанию используется SQLite)

  • Redis (необязательно, используется для повышения производительности)

  • Visual Studio Code или другой редактор кода.

    Bun — сверхбыстрый менеджер пакетов JavaScript, средство запуска тестов и сборщик пакетов. По сравнению с традиционными npm или Yarn, Bun устанавливается в 25 раз быстрее и является наиболее рекомендуемым инструментом управления пакетами JavaScript в 2024 году.

Клонировать проект

Сначала клонируйте репозиторий 88API с GitHub на локальный:

git clone https://github.com/Calcium-Ion/new-api.git
cd new-api

Настройки бэкэнд-разработки

Установите зависимости Go

go mod download

Настройка среды разработки

88API поддерживает настройку переменных среды через файл .env. Создайте файл .env (можно скопировать из .env.example):

cp .env.example .env

Отредактируйте файл .env и при необходимости измените конфигурацию. В средах разработки обычно используются следующие конфигурации:

PORT=3000
SQL_DSN=root:password@tcp(localhost:3306)/new-api   # Если используетсяMySQL,Раскомментируйте и измените
# REDIS_CONN_STRING=redis://localhost:6379         # Если используетсяRedis,Раскомментируйте и измените

Подсказка

Если SQL_DSN не настроен, система по умолчанию будет использовать базу данных SQLite, хранящуюся в one-api.db. в файле.

Запускаем серверную службу

# Запуск напрямую
go run main.go

# Или скомпилировать и запустить
go build -o new-api
./new-api

По умолчанию служба работает на http://localhost:3000.

Настройки фронтенд-разработки

Интерфейсный код 88API расположен в каталоге http://localhost:3000 и разработан с использованием React и [библиотеки компонентов полупроектирования] (https://semi.design/zh-CN).

Установить Bun (рекомендуется)

Если Bun еще не установлен, установите его с помощью следующей команды:

macOS/Linux:

curl -fsSL https://bun.sh/install | bash

Windows (с использованием WSL):

curl -fsSL https://bun.sh/install | bash

macOS (с использованием Homebrew):

brew tap oven-sh/bun
brew install bun

После завершения установки перезапустите терминал или запустите source ~/.bashrc (или ~/.zshrc), чтобы команда Bun вступила в силу.

Установка внешних зависимостей

cd web
bun install   # использовать bun Установите внешние зависимости

Запускаем сервер разработки

bun run dev   # использовать bun Запустите сервер разработки

Интерфейсный сервер разработки по умолчанию работает на http://localhost:5173 и настроен с использованием прокси-сервера, который будет перенаправлять запросы API во внутреннюю службу.

Создавайте интерфейсные ресурсы

bun run build   # использовать bun Создавайте внешние ресурсы

Созданные файлы будут созданы в каталоге web/dist, а серверная служба автоматически загрузит эти статические ресурсы.

  1. Создайте запрос на включение. Создайте PR на GitHub с описанием ваших изменений.

Советы по отладке

Бэкэнд-отладка

  1. Просмотреть журнал:
    go run main.go --log-dir ./logs
  2. Используйте Delve для отладки:
    go install github.com/go-delve/delve/cmd/dlv@latest
    dlv debug main.go

Внешняя отладка

  1. Используйте Chrome DevTools:

    • Откройте инструменты разработчика Chrome (F12).
    • Просмотр вкладок «Консоль» и «Сеть».
  2. Инструменты разработчика React:

    • Установите расширение React Developer Tools в Chrome.
    • Используйте его для проверки структуры и состояния компонента.

Структура проекта

Структура каталогов проекта 88API:

new-api/                                 # Корневой каталог проекта
│  .dockerignore                         # Docker Конфигурация файла игнорируется во время сборки
│  .env.example                          # Пример файла переменной среды
│  .gitignore                            # Git Игнорировать конфигурацию файла
│  BT.md                                 # BT(Может быть, панель пагоды)Сопутствующая документация
│  docker-compose.yml                    # Docker Compose Конфигурационный файл,для оркестровки контейнеров
│  Dockerfile                            # Docker Конфигурация сборки образа
│  go.mod                                # Go Файл конфигурации зависимостей модуля
│  go.sum                                # Go Файл контрольной суммы зависимостей модуля
│  LICENSE                               # Файл лицензии проекта
│  main.go                               # Основной входной файл проекта
│  makefile                              # Скрипт сборки проекта
│  Midjourney.md                         # Midjourney Документы, связанные с обслуживанием
│  one-api.service                       # systemd Файл конфигурации службы
│  README.en.md                          # Английская версия документа с описанием проекта
│  README.md                             # Китайская версия документа с описанием проекта
│  Rerank.md                             # Rerank Документы, связанные с функциями
│  Suno.md                               # Suno API Связанные документы
│  VERSION                               # Информационный файл версии проекта

├─.github                                # GitHub Связанные каталоги конфигурации
│  │  FUNDING.yml                        # GitHub Спонсорский профиль
│  │
│  ├─ISSUE_TEMPLATE                      # GitHub Issue Каталог шаблонов
│  │      bug_report.md                  # Bug шаблон отчета
│  │      config.yml                     # Issue Конфигурационный файл
│  │      feature_request.md             # Шаблон запроса функции
│  │
│  └─workflows                           # GitHub Actions Каталог конфигурации рабочего процесса
│          docker-image-amd64.yml        # AMD64 Архитектура Docker Рабочий процесс создания образа
│          docker-image-arm64.yml        # ARM64 Архитектура Docker Рабочий процесс создания образа
│          linux-release.yml             # Linux Рабочий процесс публикации платформы
│          macos-release.yml             # macOS Рабочий процесс публикации платформы
│          windows-release.yml           # Windows Рабочий процесс публикации платформы

├─bin                                    # Каталог двоичных файлов и скриптов
│      migration_v0.2-v0.3.sql           # база данных v0.2 приезжать v0.3 Скрипт миграции
│      migration_v0.3-v0.4.sql           # база данных v0.3 приезжать v0.4 Скрипт миграции
│      time_test.sh                      # скрипт проверки времени

├─common                                 # Общий каталог функциональных модулей
│      constants.go                      # Общее определение константы
│      crypto.go                         # Функции, связанные с шифрованием
│      custom-event.go                   # Пользовательская обработка событий
│      database.go                       # Соединения и операции с базой данных
│      email-outlook-auth.go             # Outlook Аутентификация по электронной почте
│      email.go                          # Функция электронной почты
│      embed-file-system.go              # встроенная файловая система
│      env.go                            # Обработка переменных среды
│      gin.go                            # Gin Функции, связанные с фреймворком
│      go-channel.go                     # Go Управление каналом
│      gopool.go                         # Go пул сопрограмм
│      init.go                           # функция инициализации
│      logger.go                         # Функция регистрации
│      pprof.go                          # Инструменты анализа производительности
│      rate-limit.go                     # Функция ограничения скорости
│      redis.go                          # Redis клиент
│      str.go                            # Инструменты обработки строк
│      topup-ratio.go                    # Расчет коэффициента перезарядки
│      utils.go                          # Общие служебные функции
│      validate.go                       # Функция проверки данных
│      verification.go                   # Функции, связанные с кодом подтверждения

├─constant                               # Каталог определения констант
│      cache_key.go                      # Константа имени ключа кэша
│      channel_setting.go                # Константы настройки канала
│      context_key.go                    # Константа имени контекстного ключа
│      env.go                            # константы переменных среды
│      finish_reason.go                  # причина завершения постоянная
│      midjourney.go                     # Midjourney Связанные константы
│      task.go                           # Константы, связанные с задачами
│      user_setting.go                   # Константы пользовательских настроек

├─controller                             # уровень контроллера,иметь дело сHTTPпросить
│      billing.go                        # биллинговый контроллер
│      channel-billing.go                # Контроллер биллинга канала
│      channel-test.go                   # Контроллер тестирования каналов
│      channel.go                        # Контроллер управления каналами
│      github.go                         # GitHub Сопутствующие контроллеры
│      group.go                          # Контроллер группы пользователей
│      linuxdo.go                        # LinuxDo Сопутствующие контроллеры
│      log.go                            # контроллер журнала
│      midjourney.go                     # Midjourney контроллер службы
│      misc.go                           # Различные функции контроллера
│      model.go                          # контроллер управления моделью
│      oidc.go                           # OpenID Connect Контроллер аутентификации
│      option.go                         # Контроллер настроек опций
│      playground.go                     # Контроллер тестовой сцены
│      pricing.go                        # контроллер управления ценами
│      redemption.go                     # Контроллер кода погашения
│      relay.go                          # Контроллер пересылки запросов
│      task.go                           # контроллер управления задачами
│      telegram.go                       # Telegram Сопутствующие контроллеры
│      token.go                          # Контроллер управления токенами
│      topup.go                          # Контроллер перезарядки
│      usedata.go                        # Контроллер пользовательских данных
│      user.go                           # Контроллер управления пользователями
│      wechat.go                         # Контроллер, связанный с WeChat

├─docs                                   # Каталог документов
│  ├─api                                 # API документ
│  │      api_auth.md                    # API Сертификационные документы
│  │      user.md                        # Связанный с пользователем API документ
│  │
│  └─channel                             # Документация канала
│          other_setting.md              # Другая документация по настройке

├─dto                                    # Каталог объекта передачи данных
│      audio.go                          # связанный со звуком DTO
│      dalle.go                          # DALL-E Связанный DTO
│      embedding.go                      # Встраивание векторной корреляции DTO
│      error.go                          # ответ об ошибке DTO
│      file_data.go                      # данные файла DTO
│      midjourney.go                     # Midjourney Связанный DTO
│      notify.go                         # Уведомление связано DTO
│      openai_request.go                 # OpenAI просить DTO
│      openai_response.go                # OpenAI ответ DTO
│      playground.go                     # тестовый сценарий DTO
│      pricing.go                        # связанный с ценой DTO
│      realtime.go                       # данные в реальном времени DTO
│      rerank.go                         # Связанные с переупорядочением DTO
│      sensitive.go                      # Связанный с деликатным контентом DTO
│      suno.go                           # Suno Связанный DTO
│      task.go                           # Связанные с задачей DTO

├─middleware                             # Каталог промежуточного программного обеспечения
│      auth.go                           # Промежуточное программное обеспечение аутентификации
│      cache.go                          # Промежуточное программное обеспечение для кэширования
│      cors.go                           # Промежуточное ПО для междоменного совместного использования ресурсов
│      distributor.go                    # Запросить промежуточное программное обеспечение для распространения
│      gzip.go                           # Gzip Промежуточное ПО для сжатия
│      logger.go                         # Промежуточное программное обеспечение для ведения журналов
│      model-rate-limit.go               # Промежуточное программное обеспечение для ограничения скорости на уровне модели
│      rate-limit.go                     # Общее промежуточное программное обеспечение для ограничения скорости
│      recover.go                        # Промежуточное программное обеспечение для восстановления исключений
│      request-id.go                     # просить ID промежуточное программное обеспечение
│      turnstile-check.go                # Cloudflare Turnstile Проверьте промежуточное программное обеспечение
│      utils.go                          # Функция инструмента промежуточного программного обеспечения

├─model                                  # Каталог модели данных
│      ability.go                        # модель возможностей
│      cache.go                          # модель кэша
│      channel.go                        # модель канала
│      log.go                            # модель журнала
│      main.go                           # Основные модели иORMКонфигурация
│      midjourney.go                     # Midjourney Похожие модели
│      option.go                         # Модель настроек опций
│      pricing.go                        # ценовая модель
│      redemption.go                     # Модель кода погашения
│      task.go                           # модель задачи
│      token.go                          # Модель токена
│      token_cache.go                    # Модель кэширования токенов
│      topup.go                          # Модель перезарядки
│      usedata.go                        # Модель пользовательских данных
│      user.go                           # модель пользователя
│      user_cache.go                     # Модель пользовательского кэша
│      utils.go                          # Функции инструмента модели

├─relay                                  # Каталог модуля пересылки запросов
│  │  relay-audio.go                     # Пересылка аудиозапроса
│  │  relay-image.go                     # Пересылка запроса изображения
│  │  relay-mj.go                        # Midjourney Запросить переадресацию
│  │  relay-text.go                      # Пересылка текстового запроса
│  │  relay_adaptor.go                   # адаптер пересылки
│  │  relay_embedding.go                 # Встроить векторную переадресацию запросов
│  │  relay_rerank.go                    # Переадресация запроса на повторный заказ
│  │  relay_task.go                      # Пересылка запроса задачи
│  │  websocket.go                       # WebSocket Обработка связи
│  │
│  ├─channel                             # Каталог прямых каналов
│  │  │  adapter.go                      # универсальный адаптер канала
│  │  │  api_request.go                  # API Обработка запроса
│  │  │
│  │  ├─ai360                            # 360 AI канал
│  │  │      constants.go                # 360 AI постоянное определение
│  │  │
│  │  ├─ali                              # Алибаба Облако AI канал
│  │  │      adaptor.go                  # Облачный адаптер Alibaba
│  │  │      constants.go                # Определение константы Alibaba Cloud
│  │  │      dto.go                      # Объект передачи данных в облаке Alibaba
│  │  │      image.go                    # Облачная обработка изображений Alibaba
│  │  │      text.go                     # Обработка текста в Alibaba Cloud
│  │  │
│  │  ├─aws                              # AWS AI канал
│  │  │      adaptor.go                  # AWS адаптер
│  │  │      constants.go                # AWS постоянное определение
│  │  │      dto.go                      # AWS объект передачи данных
│  │  │      relay-aws.go                # AWS Запросить переадресацию
│  │  │
│  │  ├─baidu                            # Байду AI канал
│  │  │      adaptor.go                  # адаптер для байду
│  │  │      constants.go                # Определение константы Baidu
│  │  │      dto.go                      # Объект передачи данных Baidu
│  │  │      relay-baidu.go              # Переадресация запросов Baidu
│  │  │
│  │  ├─baidu_v2                         # Байду AI v2 Версия канала
│  │  │      adaptor.go                  # Байду v2 адаптер
│  │  │      constants.go                # Байду v2 постоянное определение
│  │  │
│  │  ├─claude                           # Claude AI канал
│  │  │      adaptor.go                  # Claude адаптер
│  │  │      constants.go                # Claude постоянное определение
│  │  │      dto.go                      # Claude объект передачи данных
│  │  │      relay-claude.go             # Claude Запросить переадресацию
│  │  │
│  │  ├─cloudflare                       # Cloudflare AI канал
│  │  │      adaptor.go                  # Cloudflare адаптер
│  │  │      constant.go                 # Cloudflare постоянное определение
│  │  │      dto.go                      # Cloudflare объект передачи данных
│  │  │      relay_cloudflare.go         # Cloudflare Запросить переадресацию
│  │  │
│  │  ├─cohere                           # Cohere AI канал
│  │  │      adaptor.go                  # Cohere адаптер
│  │  │      constant.go                 # Cohere постоянное определение
│  │  │      dto.go                      # Cohere объект передачи данных
│  │  │      relay-cohere.go             # Cohere Запросить переадресацию
│  │  │
│  │  ├─deepseek                         # DeepSeek AI канал
│  │  │      adaptor.go                  # DeepSeek адаптер
│  │  │      constants.go                # DeepSeek постоянное определение
│  │  │
│  │  ├─dify                             # Dify AI канал
│  │  │      adaptor.go                  # Dify адаптер
│  │  │      constants.go                # Dify постоянное определение
│  │  │      dto.go                      # Dify объект передачи данных
│  │  │      relay-dify.go               # Dify Запросить переадресацию
│  │  │
│  │  ├─gemini                           # Google Gemini AI канал
│  │  │      adaptor.go                  # Gemini адаптер
│  │  │      constant.go                 # Gemini постоянное определение
│  │  │      dto.go                      # Gemini объект передачи данных
│  │  │      relay-gemini.go             # Gemini Запросить переадресацию
│  │  │
│  │  ├─jina                             # Jina AI канал
│  │  │      adaptor.go                  # Jina адаптер
│  │  │      constant.go                 # Jina постоянное определение
│  │  │      relay-jina.go               # Jina Запросить переадресацию
│  │  │
│  │  ├─lingyiwanwu                      # Духовное лекарство от всего AI канал
│  │  │      constrants.go               # Определение констант духовной медицины
│  │  │
│  │  ├─minimax                          # MiniMax AI канал
│  │  │      constants.go                # MiniMax постоянное определение
│  │  │      relay-minimax.go            # MiniMax Запросить переадресацию
│  │  │
│  │  ├─mistral                          # Mistral AI канал
│  │  │      adaptor.go                  # Mistral адаптер
│  │  │      constants.go                # Mistral постоянное определение
│  │  │      text.go                     # Mistral обработка текста
│  │  │
│  │  ├─mokaai                           # MokaAI канал
│  │  │      adaptor.go                  # MokaAI адаптер
│  │  │      constants.go                # MokaAI постоянное определение
│  │  │      relay-mokaai.go             # MokaAI Запросить переадресацию
│  │  │
│  │  ├─moonshot                         # Moonshot AI канал
│  │  │      constants.go                # Moonshot постоянное определение
│  │  │
│  │  ├─ollama                           # Ollama AI канал
│  │  │      adaptor.go                  # Ollama адаптер
│  │  │      constants.go                # Ollama постоянное определение
│  │  │      dto.go                      # Ollama объект передачи данных
│  │  │      relay-ollama.go             # Ollama Запросить переадресацию
│  │  │
│  │  ├─openai                           # OpenAI канал
│  │  │      adaptor.go                  # OpenAI адаптер
│  │  │      constant.go                 # OpenAI постоянное определение
│  │  │      relay-openai.go             # OpenAI Запросить переадресацию
│  │  │
│  │  ├─openrouter                       # OpenRouter AI канал
│  │  │      adaptor.go                  # OpenRouter адаптер
│  │  │      constant.go                 # OpenRouter постоянное определение
│  │  │
│  │  ├─palm                             # Google PaLM AI канал
│  │  │      adaptor.go                  # PaLM адаптер
│  │  │      constants.go                # PaLM постоянное определение
│  │  │      dto.go                      # PaLM объект передачи данных
│  │  │      relay-palm.go               # PaLM Запросить переадресацию
│  │  │
│  │  ├─perplexity                       # Perplexity AI канал
│  │  │      adaptor.go                  # Perplexity адаптер
│  │  │      constants.go                # Perplexity постоянное определение
│  │  │      relay-perplexity.go         # Perplexity Запросить переадресацию
│  │  │
│  │  ├─siliconflow                      # SiliconFlow AI канал
│  │  │      adaptor.go                  # SiliconFlow адаптер
│  │  │      constant.go                 # SiliconFlow постоянное определение
│  │  │      dto.go                      # SiliconFlow объект передачи данных
│  │  │      relay-siliconflow.go        # SiliconFlow Запросить переадресацию
│  │  │
│  │  ├─task                             # Каналы, связанные с задачами
│  │  │  └─suno                          # Suno задача создания звука
│  │  │          adaptor.go              # Suno адаптер
│  │  │          models.go               # Suno Определение модели
│  │  │
│  │  ├─tencent                          # Тенсент AI канал
│  │  │      adaptor.go                  # Тенсент адаптер
│  │  │      constants.go                # Определение константы Tencent
│  │  │      dto.go                      # Объект передачи данных Tencent
│  │  │      relay-tencent.go            # Перенаправление запросов Tencent
│  │  │
│  │  ├─vertex                           # Google Vertex AI канал
│  │  │      adaptor.go                  # Vertex адаптер
│  │  │      constants.go                # Vertex постоянное определение
│  │  │      dto.go                      # Vertex объект передачи данных
│  │  │      relay-vertex.go             # Vertex Запросить переадресацию
│  │  │      service_account.go          # Vertex сервисный аккаунт
│  │  │
│  │  ├─volcengine                       # вулканический двигатель AI канал
│  │  │      adaptor.go                  # Адаптер двигателя вулкана
│  │  │      constants.go                # Определение константы двигателя вулкана
│  │  │
│  │  ├─xunfei                           # iFlytek AI канал
│  │  │      adaptor.go                  # iFlytek адаптер
│  │  │      constants.go                # Определение константы iFlytek
│  │  │      dto.go                      # Объект передачи данных iFlytek
│  │  │      relay-xunfei.go             # переадресация запросов iFlytek
│  │  │
│  │  ├─zhipu                            # Спектр мудрости AI канал
│  │  │      adaptor.go                  # Интеллектуальный адаптер спектра
│  │  │      constants.go                # Определение констант спектра мудрости
│  │  │      dto.go                      # Объект передачи данных интеллектуального спектра
│  │  │      relay-zhipu.go              # Пересылка запроса спектра мудрости
│  │  │
│  │  └─zhipu_4v                         # Спектр мудрости 4.0 Версия канала
│  │          adaptor.go                 # Спектр мудрости 4.0 адаптер
│  │          constants.go               # Спектр мудрости 4.0 постоянное определение
│  │          dto.go                     # Спектр мудрости 4.0 объект передачи данных
│  │          relay-zhipu_v4.go          # Спектр мудрости 4.0 Запросить переадресацию
│  │
│  ├─common                              # Переслать общедоступные модули
│  │      relay_info.go                  # переслать сообщение
│  │      relay_utils.go                 # Функция инструмента вперед
│  │
│  ├─constant                            # Переслать постоянный каталог
│  │      api_type.go                    # API константа типа
│  │      relay_mode.go                  # Константы режима пересылки
│  │
│  └─helper                              # Вспомогательная функция переадресации
│          common.go                     # Общая вспомогательная функция
│          model_mapped.go               # отображение модели
│          price.go                      # расчет цены
│          stream_scanner.go             # Потоковый сканер данных

├─router                                 # Каталог конфигурации маршрутизации
│      api-router.go                     # API Конфигурация маршрутизации
│      dashboard.go                      # Маршрутизация информационной панели
│      main.go                           # Основная конфигурация маршрутизации
│      relay-router.go                   # Настройка маршрутизации пересылки
│      web-router.go                     # Web Конфигурация маршрутизации интерфейса

├─service                                # Каталог сервисного уровня
│      audio.go                          # аудиоуслуги
│      cf_worker.go                      # Cloudflare Worker Служить
│      channel.go                        # Канальные услуги
│      epay.go                           # Электронные платежные услуги
│      error.go                          # Служба обработки ошибок
│      file_decoder.go                   # Сервис декодера файлов
│      http_client.go                    # HTTP обслуживание клиентов
│      image.go                          # Услуги по обработке изображений
│      log_info_generate.go              # Служба создания журнальной информации
│      midjourney.go                     # Midjourney Служить
│      notify-limit.go                   # Сервис ограничения уведомлений
│      quota.go                          # Служба управления квотами
│      sensitive.go                      # Служба фильтрации конфиденциального контента
│      str.go                            # Служба обработки строк
│      task.go                           # Службы управления задачами
│      token_counter.go                  # Сервис подсчета токенов
│      usage_helpr.go                    # Вспомогательная услуга статистики использования
│      user_notify.go                    # Сервис уведомлений пользователей
│      webhook.go                        # WebHook Служить

├─setting                                # Настройка каталога управления
│  │  chat.go                            # Настройки чата
│  │  group_ratio.go                     # Настройка соотношения групп пользователей
│  │  midjourney.go                      # Midjourney настраивать
│  │  payment.go                         # Настройки оплаты
│  │  rate_limit.go                      # Настройки ограничения скорости
│  │  sensitive.go                       # Настройки конфиденциального контента
│  │  system_setting.go                  # Системные настройки
│  │  user_usable_group.go               # Доступные пользователю настройки группы
│  │
│  ├─config                              # Каталог конфигурации
│  │      config.go                      # Загрузка и обработка конфигурации
│  │
│  ├─model_setting                       # Каталог настроек модели
│  │      claude.go                      # Claude Настройки модели
│  │      gemini.go                      # Gemini Настройки модели
│  │      global.go                      # Глобальные настройки модели
│  │
│  ├─operation_setting                   # Каталог рабочих настроек
│  │      cache_ratio.go                 # Настройка соотношения кэша
│  │      general_setting.go             # Общие настройки
│  │      model-ratio.go                 # Настройки соотношения модели
│  │      operation_setting.go           # Операционные настройки
│  │
│  └─system_setting                      # Каталог системных настроек
│          oidc.go                       # OpenID Connect настраивать

└─web                                    # внешний интерфейс Web Каталог интерфейса
    │  .gitignore                        # внешний интерфейс Git Игнорировать конфигурацию файла
    │  .prettierrc.mjs                   # Prettier Конфигурация формата кода
    │  bun.lockb                         # Bun Файл блокировки менеджера пакетов
    │  index.html                        # хозяин HTML документ
    │  package.json                      # Конфигурация внешних зависимостей
    │  bun.lockb                         # Bun Файл блокировки менеджера пакетов(двоичный формат,Быстрее)
    │  README.md                         # Внешняя документация
    │  vercel.json                       # Vercel Конфигурация развертывания
    │  vite.config.js                    # Vite Конфигурация сборки

    ├─public                             # Статический каталог ресурсов
    │      favicon.ico                   # Значок веб-сайта
    │      logo.png                      # веб-сайт Logo
    │      ratio.png                     # картинка соотношения
    │      robots.txt                    # Конфигурация сканера поисковой системы

    └─src                                # Каталог исходного кода внешнего интерфейса
        │  App.js                        # Основной компонент приложения
        │  index.css                     # основной файл стиля
        │  index.js                      # Вход в приложение JS

        ├─components                     # Каталог компонентов
        │  │  ChannelsTable.js           # Компонент формы канала
        │  │  fetchTokenKeys.js          # Получить токен Key инструменты
        │  │  Footer.js                  # компонент нижнего колонтитула
        │  │  HeaderBar.js               # Компонент заголовка
        │  │  LinuxDoIcon.js             # LinuxDo компонент значка
        │  │  Loading.js                 # Загрузка компонентов
        │  │  LoginForm.js               # Компонент формы входа
        │  │  LogsTable.js               # Компонент формы журнала
        │  │  MjLogsTable.js             # Midjourney Компонент формы журнала
        │  │  ModelPricing.js            # Компонент ценообразования модели
        │  │  ModelSetting.js            # Компонент настроек модели
        │  │  OAuth2Callback.js          # OAuth2 компонент обратного вызова
        │  │  OIDCIcon.js                # OIDC компонент значка
        │  │  OperationSetting.js        # Компонент «Операционные настройки»
        │  │  OtherSetting.js            # Другие компоненты настроек
        │  │  PageLayout.js              # Компоненты макета страницы
        │  │  PasswordResetConfirm.js    # Компонент подтверждения сброса пароля
        │  │  PasswordResetForm.js       # Компонент формы сброса пароля
        │  │  PersonalSetting.js         # Компонент личных настроек
        │  │  PrivateRoute.js            # компонент частной маршрутизации
        │  │  RateLimitSetting.js        # Компонент настройки ограничения скорости
        │  │  RedemptionsTable.js        # Компонент формы кода погашения
        │  │  RegisterForm.js            # Компонент регистрационной формы
        │  │  SafetySetting.js           # Компонент настроек безопасности
        │  │  SiderBar.js                # Компонент боковой панели
        │  │  SystemSetting.js           # Компонент системных настроек
        │  │  TaskLogsTable.js           # Компонент формы журнала задач
        │  │  TokensTable.js             # Компонент формы управления токенами
        │  │  UsersTable.js              # Компонент формы управления пользователями
        │  │  utils.js                   # Общие служебные функции
        │  │  WeChatIcon.js              # Компонент значка WeChat
        │  │
        │  └─custom                      # Каталог пользовательских компонентов
        │          TextInput.js          # Компонент поля ввода текста
        │          TextNumberInput.js    # Компонент поля ввода номера

        ├─constants                      # Каталог определения констант
        │      channel.constants.js      # Константы, связанные с каналом
        │      common.constant.js        # Универсальная константа
        │      index.js                  # постоянный индекс экспорта
        │      toast.constants.js        # Константы подсказок сообщений
        │      user.constants.js         # Пользовательские константы

        ├─context                        # React Context контекстный каталог
        │  ├─Status                      # государственный контекст
        │  │      index.js               # Запись контекста состояния
        │  │      reducer.js             # государственный контекст reducer
        │  │
        │  ├─Style                       # контекст стиля
        │  │      index.js               # Запись контекста стиля
        │  │
        │  ├─Theme                       # контекст темы
        │  │      index.js               # Запись контекста темы
        │  │
        │  └─User                        # пользовательский контекст
        │          index.js              # Запись пользовательского контекста
        │          reducer.js            # пользовательский контекст reducer

        ├─helpers                        # Каталог вспомогательных функций
        │      api.js                    # API Запросить вспомогательную функцию
        │      auth-header.js            # Обработка заголовка аутентификации
        │      data.js                   # Функции обработки данных
        │      history.js                # Управление историей маршрутов
        │      index.js                  # Индекс экспорта вспомогательной функции
        │      other.js                  # Другие вспомогательные функции
        │      render.js                 # Рендеринг вспомогательных функций
        │      utils.js                  # Вспомогательные функции

        ├─i18n                           # Международный каталог
        │  │  i18n.js                    # Файл конфигурации интернационализации
        │  │
        │  └─locales                     # Каталог языкового пакета
        │          en.json               # Английский языковой пакет
        │          zh.json               # китайский языковой пакет

        └─pages                          # Каталог компонентов страницы
            ├─About                      # О странице
            │      index.js              # О входе на страницу

            ├─Channel                    # Страница управления каналом
            │      EditChannel.js        # Редактировать компоненты канала
            │      EditTagModal.js       # Модальное окно редактирования ярлыка
            │      index.js              # Вход на страницу управления каналом

            ├─Chat                       # страница чата
            │      index.js              # Вход на страницу чата

            ├─Chat2Link                  # Страница обмена ссылками в чате
            │      index.js              # Вход по ссылке в чат

            ├─Detail                     # Страница сведений
            │      index.js              # Подробная информация о входе на страницу

            ├─Home                       # первая страница
            │      index.js              # Вход в дом

            ├─Log                        # Страница журнала
            │      index.js              # Вход на страницу журнала

            ├─Midjourney                 # Midjourney Страница управления
            │      index.js              # Midjourney Запись на странице

            ├─NotFound                   # 404 страница
            │      index.js              # 404 Запись на странице

            ├─Playground                 # Страница тестового сценария
            │      Playground.js         # Компоненты сценария тестирования

            ├─Pricing                    # Страница управления ценами
            │      index.js              # Вход на страницу управления ценами

            ├─Redemption                 # Страница управления кодами погашения
            │      EditRedemption.js     # Изменить компонент кода активации
            │      index.js              # Вход на страницу управления кодом погашения

            ├─Setting                    # Страница настроек
            │  │  index.js               # Установить запись на странице
            │  │
            │  ├─Model                   # Страница настроек модели
            │  │      SettingClaudeModel.js # Claude Компонент настроек модели
            │  │      SettingGeminiModel.js # Gemini Компонент настроек модели
            │  │      SettingGlobalModel.js # Компонент глобальных настроек модели
            │  │
            │  ├─Operation               # Страница настроек операции
            │  │      GroupRatioSettings.js       # Компонент настройки соотношения групп пользователей
            │  │      ModelRationNotSetEditor.js  # Соотношение модели не установлено в редакторе
            │  │      ModelRatioSettings.js       # Компонент настройки соотношения модели
            │  │      ModelSettingsVisualEditor.js # Визуальный редактор настроек модели
            │  │      SettingsChats.js            # Компонент настроек чата
            │  │      SettingsCreditLimit.js      # Компонент установки лимита квоты
            │  │      SettingsDataDashboard.js    # Компонент настроек информационной панели данных
            │  │      SettingsDrawing.js          # Компонент настроек чертежа
            │  │      SettingsGeneral.js          # Компонент общих настроек
            │  │      SettingsLog.js              # Компонент настроек журнала
            │  │      SettingsMonitoring.js       # Компонент настроек мониторинга
            │  │      SettingsSensitiveWords.js   # Компонент настройки чувствительных слов
            │  │
            │  └─RateLimit                   # Страница настроек лимита скорости
            │          SettingsRequestRateLimit.js # Компонент настройки ограничения скорости запроса

            ├─Task                           # Страница управления задачами
            │      index.js                  # Вход на страницу управления задачами

            ├─Token                          # Страница управления токенами
            │      EditToken.js              # Изменить компонент токена
            │      index.js                  # Вход на страницу управления токенами

            ├─TopUp                          # Страница пополнения счета
            │      index.js                  # Вход на страницу пополнения счета

            └─User                           # Страница управления пользователями
                    AddUser.js               # Добавить пользовательский компонент
                    EditUser.js              # Редактировать пользовательский компонент
                    index.js                 # Вход на страницу управления пользователями

Нужна помощь?

Если у вас возникнут проблемы во время разработки, вы можете:

  1. Просмотрите [Проблемы GitHub] (https://github.com/Calcium-Ion/new-api/issues)
  2. Присоединяйтесь к группе общения QQ
  3. Отправьте сообщение через страницу Обратная связь.