new-api Documentation

A unified AI model hub for aggregation & distribution. It supports cross-converting various LLMs into OpenAI-compatible, Claude-compatible, or...

50,238 stars Go Go 19 files · ~113,834 tokens #ai-gateway#claude#deepseek#gemini#newapi#openai#rerank
RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy new-api on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name new-api -p 3000:3000 --restart always new-api-dev:local
Configured Services & Ports
⚙️ new-api
image: new-api-dev:local
🔌 Ports: 3000:3000
⚙️ redis
image: redis:7-alpine
⚙️ postgres
image: postgres:15-alpine
docker-compose.yml
yaml (docker-compose.yml)
# Frontend Development - Backend built from local source
#
# Usage:
#   1. docker compose -f docker-compose.dev.yml up -d
#   2. make dev-web
#   3. Open http://localhost:5173 (Rsbuild dev server, API auto-proxied to :3000)
#
# Rebuild backend after Go code changes:
#   docker compose -f docker-compose.dev.yml up -d --build new-api
#
# Stop:
#   docker compose -f docker-compose.dev.yml down
#
# Reset data:
#   docker compose -f docker-compose.dev.yml down -v

services:
  new-api:
    build:
      context: .
      dockerfile: Dockerfile.dev
    image: new-api-dev:local
    container_name: new-api-dev
    restart: unless-stopped
    ports:
      - "3000:3000"
    volumes:
      - dev_data:/data
    environment:
      - SQL_DSN=postgresql://root:123456@postgres:5432/new-api
      - REDIS_CONN_STRING=redis://redis
      - TZ=Asia/Shanghai
      - BATCH_UPDATE_ENABLED=true
      # Local HTTP dev mode: keep Secure=false and leave TRUSTED_URL unset. This disables the refresh/logout OriginGuard so the :5173 -> :3000 dev proxy works.
      - SESSION_COOKIE_SECURE=false
      # For HTTPS only: set Secure=true and list every exact trusted HTTPS browser Origin. This does not configure relay CORS.
      # - SESSION_COOKIE_SECURE=true
      # - SESSION_COOKIE_TRUSTED_URL=https://example.com,https://admin.example.com
    depends_on:
      redis:
        condition: service_started
      postgres:
        condition: service_healthy
    networks:
      - dev-network

  redis:
    image: redis:7-alpine
    container_name: new-api-dev-redis
    restart: unless-stopped
    networks:
      - dev-network

  postgres:
    image: postgres:15-alpine
    container_name: new-api-dev-pg
    restart: unless-stopped
    environment:
      POSTGRES_USER: root
      POSTGRES_PASSWORD: 123456
      POSTGRES_DB: new-api
    volumes:
      - dev_pg_data:/var/lib/postgresql/data
    networks:
      - dev-network
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U root -d new-api"]
      interval: 5s
      timeout: 3s
      retries: 5

volumes:
  dev_data:
  dev_pg_data:

networks:
  dev-network:
    driver: bridge

1. Project Overview & Quickstart (QuantumNous/new-api)

File: constant/README.md

constant 包 (`/constant`)

该目录仅用于放置全局可复用的常量定义,不包含任何业务逻辑或依赖关系。

当前文件

文件 说明
azure.go 定义与 Azure 相关的全局常量,如 AzureNoRemoveDotTime(控制删除 . 的截止时间)。
cache_key.go 缓存键格式字符串及 Token 相关字段常量,统一缓存命名规则。
channel_setting.go Channel 级别的设置键,如 proxy、force_format 等。
context_key.go 定义 ContextKey 类型以及在整个项目中使用的上下文键常量(请求时间、Token/Channel/User 相关信息等)。
env.go 环境配置相关的全局变量,在启动阶段根据配置文件或环境变量注入。
finish_reason.go OpenAI/GPT 请求返回的 finish_reason 字符串常量集合。
midjourney.go Midjourney 相关错误码及动作(Action)常量与模型到动作的映射表。
setup.go 标识项目是否已完成初始化安装 (Setup 布尔值)。
task.go 各种任务(Task)平台、动作常量及模型与动作映射表,如 Suno、Midjourney 等。
user_setting.go 用户设置相关键常量以及通知类型(Email/Webhook)等。

使用约定

  1. constant 包只能被其他包引用(import),禁止在此包中引用项目内的其他自定义包。如确有需要,仅允许引用 Go 标准库。
  2. 不允许在此目录内编写任何与业务流程、数据库操作、第三方服务调用等相关的逻辑代码。
  3. 新增类型时,请保持命名语义清晰,并在本 README 的 当前文件 表格中补充说明,确保团队成员能够快速了解其用途。

⚠️ 违反以上约定将导致包之间产生不必要的耦合,影响代码可维护性与可测试性。请在提交代码前自行检查。


File: docs/installation/BT.md

宝塔面板部署教程

本文档提供使用宝塔面板 Docker 功能部署 New API 的图文教程。

📖 官方文档:宝塔面板部署


前置要求

项目 要求
宝塔面板 ≥ 9.2.0 版本
推荐系统 CentOS 7+、Ubuntu 18.04+、Debian 10+
服务器配置 至少 1 核 2G 内存

步骤一:安装宝塔面板

  1. 前往 宝塔面板官网 下载适合您系统的安装脚本
  2. 运行安装脚本安装宝塔面板
  3. 安装完成后,使用提供的地址、用户名和密码登录宝塔面板

步骤二:安装 Docker

  1. 登录宝塔面板后,在左侧菜单栏找到并点击 Docker
  2. 首次进入会提示安装 Docker 服务,点击 立即安装
  3. 按照提示完成 Docker 服务的安装

步骤三:安装 New API

方法一:使用宝塔应用商店(推荐)

  1. 在宝塔面板 Docker 功能中,点击 应用商店
  2. 搜索并找到 New-API
  3. 点击 安装
  4. 配置以下基本选项:
    • 容器名称:可自定义,默认为 new-api
    • 端口映射:默认为 3000:3000
    • 环境变量:
      • SESSION_SECRET:会话密钥(必填,多机部署时必须一致)
      • CRYPTO_SECRET:加密密钥(使用 Redis 时必填)
  5. 点击 确认 开始安装
  6. 等待安装完成后,访问 http://您的服务器IP:3000 即可使用

方法二:使用 Docker Compose

  1. 在宝塔面板中创建网站目录,如 /www/wwwroot/new-api
  2. 创建 docker-compose.yml 文件:
yaml
version: '3'
services:
  new-api:
    image: calciumion/new-api:latest
    container_name: new-api
    restart: always
    ports:
      - "3000:3000"
    volumes:
      - ./data:/data
    environment:
      - SESSION_SECRET=your_session_secret_here  # 请修改为随机字符串
      - TZ=Asia/Shanghai
  1. 在终端中进入目录并启动:
bash
cd /www/wwwroot/new-api
docker-compose up -d

配置说明

必要环境变量

变量名 说明 是否必填
SESSION_SECRET 会话密钥,多机部署必须一致 必填
CRYPTO_SECRET 加密密钥,使用 Redis 时必填 条件必填
SQL_DSN 数据库连接字符串(使用外部数据库时) 可选
REDIS_CONN_STRING Redis 连接字符串 可选

生成随机密钥

bash
# 生成 SESSION_SECRET
openssl rand -hex 16

# 或使用 Linux 命令
head -c 16 /dev/urandom | xxd -p

常见问题

Q1:无法访问 3000 端口?

  1. 检查服务器防火墙是否开放 3000 端口
  2. 在宝塔面板 安全 中放行 3000 端口
  3. 检查云服务器安全组是否开放端口

Q2:登录后提示会话失效?

确保设置了 SESSION_SECRET 环境变量,且值不为空。

Q3:数据如何持久化?

使用 Docker 卷映射数据目录:

yaml
volumes:
  - ./data:/data

Q4:如何更新版本?

bash
# 拉取最新镜像
docker pull calciumion/new-api:latest

# 重启容器
docker-compose down && docker-compose up -d

相关链接


截图示例

⚠️ 注意:密钥为环境变量 SESSION_SECRET,请务必设置!


File: docs/channel/other_setting.md

渠道额外设置说明

该配置用于设置一些额外的渠道参数,可以通过 JSON 对象进行配置。主要包含以下三个设置项:

  1. force_format

    • 用于标识是否对数据进行强制格式化为 OpenAI 格式
    • 类型为布尔值,设置为 true 时启用强制格式化
  2. proxy

    • 用于配置网络代理
    • 类型为字符串,支持 http、https、socks5 和 socks5h 协议
    • 保存时必须包含协议和主机;仅允许空路径或根路径 /,不允许 query 或 fragment
    • SOCKS 代理未填写端口时,运行时使用默认端口 1080
  3. thinking_to_content

    • 用于标识是否将思考内容reasoning_content转换为``标签拼接到内容中返回
    • 类型为布尔值,设置为 true 时启用思考内容转换

JSON 格式示例

以下是一个示例配置,启用强制格式化并设置了代理地址:

json
{
    "force_format": true,
    "thinking_to_content": true,
    "proxy": "socks5://proxy.example:1080"
}

通过调整上述 JSON 配置中的值,可以灵活控制渠道的额外行为,比如是否进行格式化以及使用特定的网络代理。

升级兼容性

旧版本会忽略代理地址中的 path、query 和 fragment。为避免升级后中断已有渠道流量,运行时会继续剥离这些遗留后缀,并对同一代理地址每个进程记录一次不含凭证和后缀的警告。该兼容逻辑不会改写数据库;再次保存渠道时必须按上述严格规则修正代理地址。

代理连接使用 30 秒 TCP 拨号超时和 30 秒 KeepAlive;TLS 握手超时为 10 秒。这些超时同样适用于未配置渠道代理的中转请求。


File: docs/ionet-client.md

Request URL
https://api.io.solutions/v1/io-cloud/clusters/654fc0a9-0d4a-4db4-9b95-3f56189348a2/update-name
Request Method
PUT

{"status":"succeeded","message":"Cluster name updated successfully"}


File: docs/translation-glossary.fr.md

Glossaire Français (French Glossary)

Ce document fournit des traductions standards françaises pour la terminologie clé du projet afin d'assurer la cohérence et la précision des traductions.

This document provides standard French translations for key project terminology to ensure consistency and accuracy in translations.

Concepts de Base (Core Concepts)

  • L'utilisation d'émojis dans les traductions est autorisée s'ils sont présents dans l'original
  • L'utilisation de termes purement techniques est autorisée s'ils sont présents dans l'original
  • L'utilisation de termes techniques en anglais est autorisée s'ils sont largement utilisés dans l'environnement technique francophone (par exemple, API)
Chinois Français Anglais Description
倍率 Ratio Ratio/Multiplier Multiplicateur utilisé pour le calcul des prix. Important : Dans le contexte des calculs de prix, toujours utiliser "Ratio" plutôt que "Multiplicateur" pour assurer la cohérence terminologique
令牌 Jeton Token Identifiants d'accès API ou unités de texte traitées par les modèles
渠道 Canal Channel Canal d'accès aux fournisseurs d'API
分组 Groupe Group Classification des utilisateurs ou des jetons
额度 Quota Quota Quota de services disponible pour l'utilisateur
Chinois Français Anglais Description
提示 Invite Prompt Contenu d'entrée du modèle
补全 Complétion Completion Contenu de sortie du modèle. Important : Ne pas utiliser "Achèvement" ou "Finalisation" - uniquement "Complétion" pour correspondre à la terminologie technique
输入 Entrée Input/Prompt Contenu envoyé au modèle
输出 Sortie Output/Completion Contenu retourné par le modèle
模型倍率 Ratio du modèle Model Ratio Ratio de tarification pour différents modèles
补全倍率 Ratio de complétion Completion Ratio Ratio de tarification supplémentaire pour la sortie
固定价格 Prix fixe Price per call Prix par appel
按量计费 Paiement à l'utilisation Pay-as-you-go Tarification basée sur l'utilisation
按次计费 Paiement par appel Pay-per-view Prix fixe par appel

Gestion des Utilisateurs (User Management)

Chinois Français Anglais Description
超级管理员 Super-administrateur Root User Administrateur avec les privilèges les plus élevés
管理员 Administrateur Admin User Administrateur système
普通用户 Utilisateur normal Normal User Utilisateur avec privilèges standards

Recharge et Échange (Recharge & Redemption)

Chinois Français Anglais Description
充值 Recharge Top Up Ajout de quota au compte
兑换码 Code d'échange Redemption Code Code qui peut être échangé contre du quota

Gestion des Canaux (Channel Management)

Chinois Français Anglais Description
渠道 Canal Channel Canal du fournisseur d'API
API密钥 Clé API API Key Clé d'accès API. Important : Utiliser "Clé API" au lieu de "Jeton API" pour plus de précision et conformément à la terminologie technique francophone établie. Le terme "Clé" reflète mieux la fonctionnalité d'accès aux ressources, tandis que "Jeton" est plus souvent associé aux unités de texte dans le contexte du traitement des modèles linguistiques.
优先级 Priorité Priority Priorité de sélection du canal
权重 Poids Weight Poids d'équilibrage de charge
代理 Proxy Proxy Adresse du serveur proxy
模型重定向 Redirection de modèle Model Mapping Remplacement du nom du modèle dans le corps de la requête
供应商 Fournisseur Provider/Vendor Fournisseur de services ou d'API
Chinois Français Anglais Description
两步验证 Authentification à deux facteurs Two-Factor Authentication Méthode de vérification de sécurité supplémentaire pour les comptes
2FA 2FA Two-Factor Authentication Abréviation de l'authentification à deux facteurs

Recommandations de Traduction (Translation Guidelines)

Variantes Contextuelles de Traduction

Invite/Entrée (Prompt/Input)

  • Invite : Lors de l'interaction avec les LLM, dans l'interface utilisateur, lors de la description de l'interaction avec le modèle
  • Entrée : Dans la tarification, la documentation technique, la description du processus de traitement des données
  • Règle : S'il s'agit de l'expérience utilisateur et de l'interaction avec l'IA → "Invite", s'il s'agit du processus technique ou des calculs → "Entrée"

Jeton (Token)

  • Jeton d'accès API (API Token)
  • Unité de texte traitée par le modèle (Text Token)
  • Jeton d'accès système (Access Token)

Quota (Quota)

  • Quota de services disponible pour l'utilisateur
  • Parfois traduit comme "Crédit"

Particularités de la Langue Française

  • Formes plurielles : Nécessite une implémentation correcte des formes plurielles (_one, _other)
  • Accords grammaticaux : Attention aux accords grammaticaux dans les termes techniques
  • Genre grammatical : Accord du genre des termes techniques (par exemple, "modèle" - masculin, "canal" - masculin)

Termes Standardisés

  • Complétion (Completion) : Contenu de sortie du modèle
  • Ratio (Ratio) : Multiplicateur pour le calcul des prix
  • Code d'échange (Redemption Code) : Utilisé au lieu de "Code d'échange" pour plus de précision
  • Fournisseur (Provider/Vendor) : Organisation ou service fournissant des API ou des modèles d'IA

Note pour les contributeurs : Si vous trouvez des incohérences dans les traductions de terminologie ou si vous avez de meilleures suggestions de traduction pour le français, n'hésitez pas à créer une Issue ou une Pull Request.

Contribution Note for French: If you find any inconsistencies in terminology translations or have better translation suggestions for French, please feel free to submit an Issue or Pull Request.


File: docs/translation-glossary.md

翻译术语表 (Translation Glossary)

本文档为翻译贡献者提供项目中关键术语的标准翻译参考,以确保翻译的一致性和准确性。

This document provides standard translation references for key terminology in the project to ensure consistency and accuracy for translation contributors.

核心概念 (Core Concepts)

中文 English 说明 Description
倍率 Ratio 用于计算价格的乘数因子 Multiplier factor used for price calculation
令牌 Token API访问凭证,也指模型处理的文本单元 API access credentials or text units processed by models
渠道 Channel API服务提供商的接入通道 Access channel for API service providers
分组 Group 用户或令牌的分类,影响价格倍率 Classification of users or tokens, affecting price ratios
额度 Quota 用户可用的服务额度 Available service quota for users
中文 English 说明 Description
提示 Prompt 模型输入内容 Model input content
补全 Completion 模型输出内容 Model output content
输入 Input/Prompt 发送给模型的内容 Content sent to the model
输出 Output/Completion 模型返回的内容 Content returned by the model
模型倍率 Model Ratio 不同模型的计费倍率 Billing ratio for different models
补全倍率 Completion Ratio 输出内容的额外计费倍率 Additional billing ratio for output content
固定价格 Price per call 按次计费的价格 Fixed price per call
按量计费 Pay-as-you-go 根据使用量计费 Billing based on usage
按次计费 Pay-per-view 每次调用固定价格 Fixed price per invocation

用户管理 (User Management)

中文 English 说明 Description
超级管理员 Root User 最高权限管理员 Administrator with highest privileges
管理员 Admin User 系统管理员 System administrator
普通用户 Normal User 普通权限用户 Regular user with standard privileges

充值与兑换 (Recharge & Redemption)

中文 English 说明 Description
充值 Top Up 为账户增加额度 Add quota to account
兑换码 Redemption Code 可兑换额度的代码 Code that can be redeemed for quota

渠道管理 (Channel Management)

中文 English 说明 Description
渠道 Channel API服务提供通道 API service provider channel
密钥 Key API访问密钥 API access key
优先级 Priority 渠道选择优先级 Channel selection priority
权重 Weight 负载均衡权重 Load balancing weight
代理 Proxy 代理服务器地址 Proxy server address
模型重定向 Model Mapping 请求体中模型名称替换 Model name replacement in request body
中文 English 说明 Description
两步验证 Two-Factor Authentication 为账户提供额外安全保护的验证方式 Additional security verification method for accounts
2FA Two-Factor Authentication 两步验证的缩写 Abbreviation for Two-Factor Authentication
中文 English 说明 Description
倍率 Ratio 价格计算的乘数因子 Multiplier factor used for price calculation
倍率 Multiplier 价格计算的乘数因子(同义词) Multiplier factor used for price calculation (synonym)

翻译注意事项 (Translation Guidelines)

  • 提示 (Prompt) = 模型输入内容 / Model input content
  • 补全 (Completion) = 模型输出内容 / Model output content
  • 倍率 (Ratio) = 价格计算的乘数因子 / Multiplier factor for price calculation
  • 额度 (Quota) = 可用的用户服务额度,有时也翻译为 Credit / Available service quota for users, sometimes also translated as Credit
  • Token = 根据上下文可能指 / Depending on context, may refer to:
    • API访问令牌 (API Token)
    • 模型处理的文本单元 (Text Token)
    • 系统访问令牌 (Access Token)

贡献说明: 如发现术语翻译不一致或有更好的翻译建议,欢迎提交 Issue 或 Pull Request。

Contribution Note: If you find any inconsistencies in terminology translations or have better translation suggestions, please feel free to submit an Issue or Pull Request.


File: docs/translation-glossary.ru.md

Русский глоссарий (Russian Glossary)

Данный раздел предоставляет стандартные переводы ключевой терминологии проекта на русский язык для обеспечения согласованности и точности переводов.

This section provides standard Russian translations for key project terminology to ensure consistency and accuracy in translations.

Основные концепции (Core Concepts)

  • Допускается использовать символы Emoji в переводе, если они были в оригинале.
  • Допускается использование сугубо технических терминов, если они были в оригинале.
  • Допускается использование технических терминов на английском языке, если они широко используются в русскоязычной технической среде (например, API).
Китайский Русский Английский Описание
倍率 Коэффициент Ratio/Multiplier Множитель для расчета цены. Важно: В контексте расчетов цен всегда использовать "Коэффициент", а не "Множитель" для обеспечения консистентности терминологии
令牌 Токен Token Учетные данные API или текстовые единицы
渠道 Канал Channel Канал доступа к поставщику API
分组 Группа Group Классификация пользователей или токенов
额度 Квота Quota Доступная квота услуг для пользователя
Китайский Русский Английский Описание
提示 Промпт/Ввод Prompt Содержимое ввода в модель
补全 Вывод Completion Содержимое вывода модели. Важно: Не использовать "Дополнение" или "Завершение" - только "Вывод" для соответствия технической терминологии
输入 Ввод Input/Prompt Содержимое, отправляемое в модель
输出 Вывод Output/Completion Содержимое, возвращаемое моделью
模型倍率 Коэффициент модели Model Ratio Коэффициент тарификации для разных моделей
补全倍率 Коэффициент вывода Completion Ratio Дополнительный коэффициент тарификации для вывода
固定价格 Цена за запрос Price per call Цена за один вызов
按量计费 Оплата по объему Pay-as-you-go Тарификация на основе использования
按次计费 Оплата за запрос Pay-per-view Фиксированная цена за вызов

Управление пользователями (User Management)

Китайский Русский Английский Описание
超级管理员 Суперадминистратор Root User Администратор с наивысшими привилегиями
管理员 Администратор Admin User Системный администратор
普通用户 Обычный пользователь Normal User Пользователь со стандартными привилегиями

Пополнение и обмен (Recharge & Redemption)

Китайский Русский Английский Описание
充值 Пополнение Top Up Добавление квоты на аккаунт
兑换码 Код купона Redemption Code Код, который можно обменять на квоту

Управление каналами (Channel Management)

Китайский Русский Английский Описание
渠道 Канал Channel Канал поставщика API
API密钥 API ключ API Key Ключ доступа к API. Важно: Использовать "API ключ" вместо "API токен" для большей точности и соответствия общепринятой русскоязычной технической терминологии. Термин "ключ" более точно отражает функционал доступа к ресурсам, в то время как "токен" чаще ассоциируется с текстовыми единицами в контексте обработки языковых моделей.
优先级 Приоритет Priority Приоритет выбора канала
权重 Вес Weight Вес балансировки нагрузки
代理 Прокси Proxy Адрес прокси-сервера
模型重定向 Перенаправление модели Model Mapping Замена имени модели в теле запроса
供应商 Поставщик Provider/Vendor Поставщик услуг или API
Китайский Русский Английский Описание
两步验证 Двухфакторная аутентификация Two-Factor Authentication Дополнительный метод проверки безопасности для аккаунтов
2FA 2FA Two-Factor Authentication Аббревиатура двухфакторной аутентификации

Рекомендации по переводу (Translation Guidelines)

Контекстуальные варианты перевода

Промпт/Ввод (Prompt/Input)

  • Промпт: При общении с LLM, в пользовательском интерфейсе, при описании взаимодействия с моделью
  • Ввод: При тарификации, технической документации, описании процесса обработки данных
  • Правило: Если речь о пользовательском опыте и взаимодействии с AI → "Промпт", если о техническом процессе или расчетах → "Ввод"

Token

  • API токен доступа (API Token)
  • Текстовая единица, обрабатываемая моделью (Text Token)
  • Токен доступа к системе (Access Token)

Квота (Quota)

  • Доступная квота услуг пользователя
  • Иногда переводится как "Кредит"

Особенности русского языка

  • Множественные формы: Требуется правильная реализация множественных форм (_one,_few, _many,_other)
  • Падежные окончания: Внимательное отношение к падежным окончаниям в технических терминах
  • Грамматический род: Согласование рода технических терминов (например, "модель" - женский род, "канал" - мужской род)

Стандартизированные термины

  • Вывод (Completion): Содержимое вывода модели
  • Коэффициент (Ratio): Множитель для расчета цены
  • Код купона (Redemption Code): Используется вместо "Код обмена" для большей точности
  • Поставщик (Provider/Vendor): Организация или сервис, предоставляющий API или AI-модели

Примечание для участников: При обнаружении несогласованности в переводах терминологии или наличии лучших предложений по переводу, не стесняйтесь создавать Issue или Pull Request.

Contribution Note for Russian: If you find any inconsistencies in terminology translations or have better translation suggestions for Russian, please feel free to submit an Issue or Pull Request.


File: electron/README.md

New API Electron Desktop App

This directory contains the Electron wrapper for New API, providing a native desktop application with system tray support for Windows, macOS, and Linux.

Prerequisites

1. Go Binary (Required)

The Electron app requires the compiled Go binary to function. You have two options:

Option A: Use existing binary (without Go installed)

bash
# If you have a pre-built binary (e.g., new-api-macos)
cp ../new-api-macos ../new-api

Option B: Build from source (requires Go)
TODO

2. Electron Dependencies

bash
cd electron
npm install

Development

Start the backend, the frontend, and Electron in separate terminals:

bash
# Repository root
go run main.go

# Repository root
make dev-web

# electron/
npm run dev-app

This will:

  • Use the Go backend on port 3000
  • Use the Rsbuild frontend development server on port 5173
  • Open an Electron window with DevTools enabled
  • Create a system tray icon (menu bar on macOS)
  • Store database in ../data/new-api.db

Building for Production

Quick Build

bash
# From electron/, build the frontend, Go binary, and desktop package
./build.sh

# Or package an existing binary for the current platform
npm run build

# Platform-specific builds
npm run build:mac    # Creates .dmg and .zip
npm run build:win    # Creates .exe installer
npm run build:linux  # Creates .AppImage and .deb

Build Output

  • Built applications are in electron/dist/
  • macOS: .dmg (installer) and .zip (portable)
  • Windows: .exe (installer) and portable exe
  • Linux: .AppImage and .deb

Configuration

Port

Default port is 3000. To change, edit main.js:

javascript
const PORT = 3000; // Change to desired port

Database Location

  • Development: ../data/new-api.db (project directory)
  • Production:
    • macOS: ~/Library/Application Support/New API/data/
    • Windows: %APPDATA%/New API/data/
    • Linux: ~/.config/New API/data/

File: README.fr.md


📝 Description du projet

New API est une passerelle IA auto-hébergée pour les applications, les agents et les équipes. Connectez vos fournisseurs de modèles, exposez une API commune à vos clients et gérez le routage, les accès, les usages et les coûts depuis une même console.

Utilisez-la pour partager des accès autorisés au sein d'une équipe, changer de fournisseur sans reconfigurer chaque client ou exploiter un service privé multi-modèles. Les fournisseurs incluent OpenAI, Anthropic, Google Gemini, Azure OpenAI, AWS Bedrock, Vertex AI, DeepSeek, Qwen et d'autres services compatibles.

[!IMPORTANT]

  • Ce projet est exclusivement destiné aux scénarios de passerelle API d'IA légalement autorisés, d'authentification organisationnelle, de gestion multi-modèles, d'analyse d'utilisation, de comptabilisation des coûts et de déploiement privé.
  • Les utilisateurs doivent obtenir légalement les clés API, comptes, services de modèles et autorisations d'interface en amont, et doivent respecter les conditions d'utilisation en amont et les lois et réglementations applicables.
  • Les utilisateurs doivent s'assurer que leur utilisation est conforme aux conditions d'utilisation en amont et aux lois et réglementations applicables.
  • Lors de la fourniture de services d'IA générative au public, les utilisateurs doivent se conformer aux exigences réglementaires applicables et remplir toutes les obligations d'enregistrement, de licence, de sécurité du contenu, de vérification d'identité, de conservation des journaux, de fiscalité et d'autorisation en amont requises par leur juridiction.

[!WARNING]
Lorsque vous exploitez ce projet en tant que service public d'IA générative ou service de revente d'API, les utilisateurs doivent d'abord remplir toutes les obligations requises en matière d'enregistrement, de licence, de sécurité du contenu, de vérification d'identité, de conservation des journaux, de fiscalité, de paiement et d'autorisation en amont.


🤝 Partenaires de confiance


🙏 Remerciements spéciaux


Fonctionnalités

Domaine Possibilités
Accès aux modèles OpenAI Chat Completions, Responses, Anthropic Messages et Gemini ; streaming, outils, raisonnement et entrées multimodales selon le fournisseur
Routage Correspondance des noms de modèles, priorités et poids des canaux, tentatives supplémentaires, affinité de canal et gestion de plusieurs clés
Usages et coûts Quotas, abonnements, journaux d'utilisation, comptabilisation du cache et tarification par paliers fondée sur des expressions
Contrôle d'accès Utilisateurs, groupes, permissions fines et restrictions des clés API ; OAuth/OIDC, clés d'accès, double authentification et gestion des sessions
Tâches asynchrones Extensions JavaScript pour les API de tâches d'image, de vidéo et autres, avec suivi d'état et récupération des résultats
Console web Gestion des canaux et modèles, journaux d'utilisation et d'audit, playground ; interface en anglais, chinois simplifié et traditionnel, français, japonais, russe et vietnamien

Protocoles et points d'accès

Interface Points d'accès courants
OpenAI Chat / Responses POST /v1/chat/completions, POST /v1/responses
Anthropic Messages POST /v1/messages
Gemini POST /v1beta/models/{model}:generateContent, POST /v1beta/models/{model}:streamGenerateContent
Realtime / Responses WebSocket GET /v1/realtime, GET /v1/responses (mise à niveau WebSocket)
Images / audio /v1/images/generations, /v1/images/edits, /v1/audio/speech, /v1/audio/transcriptions, /v1/audio/translations
Embeddings / rerank POST /v1/embeddings, POST /v1/rerank
Extensions de tâches POST /v1/tasks/{pluginKey}, GET /v1/tasks/{taskId}, ainsi que les routes déclarées par chaque extension

RelayKit convertit les requêtes, réponses et flux entre les quatre protocoles textuels. Les capacités disponibles dépendent du canal, du modèle amont et du chemin de conversion ; certains outils et champs propres à un protocole ne sont pas entièrement transposables. WebSocket nécessite également un fournisseur et une configuration de canal compatibles.

Ce README décrit le code source actuel. Consultez les notes de la version que vous déployez.

Démarrage rapide

Essai local avec Docker

Cette commande démarre une instance SQLite accessible uniquement depuis la machine locale :

bash
mkdir -p data
docker run --name new-api -d --restart unless-stopped \
  -p 127.0.0.1:3000:3000 \
  -e TZ=Asia/Shanghai \
  -v "$(pwd)/data:/data" \
  calciumion/new-api:latest

Ouvrez http://localhost:3000 et suivez l'assistant pour créer le compte administrateur. Le répertoire data conserve la base SQLite lors du remplacement du conteneur.

Première requête

  1. Ajoutez un canal avec votre clé API amont, ses modèles et son groupe, puis lancez un test du canal.
  2. Configurez les prix des modèles et vérifiez que l'utilisateur dispose d'un quota ou d'un abonnement valide.
  3. Créez une clé API dans la console, autorisée à accéder au même groupe et aux mêmes modèles.
  4. Pour un client compatible OpenAI, utilisez http://localhost:3000/v1 comme URL de base et la clé émise par New API.

Définissez NEW_API_KEY dans votre shell avec cette clé, puis listez les modèles accessibles :

bash
curl --fail-with-body http://localhost:3000/v1/models \
  -H "Authorization: Bearer ${NEW_API_KEY}"

Appelez ensuite Responses en remplaçant your-enabled-model par un modèle activé qui prend en charge cette interface :

bash
curl --fail-with-body http://localhost:3000/v1/responses \
  -H "Authorization: Bearer ${NEW_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"model":"your-enabled-model","input":"Hello!"}'

Déploiement

Docker Compose

La configuration Compose du dépôt démarre New API + PostgreSQL + Redis par défaut. Elle contient aussi des exemples pour MySQL et une base de journaux ClickHouse distincte.

bash
git clone https://github.com/QuantumNous/new-api.git
cd new-api

Avant de démarrer, modifiez docker-compose.yml : remplacez les mots de passe d'exemple de la base et de Redis dans les services et les chaînes de connexion, puis définissez un SESSION_SECRET aléatoire et persistant (générable avec openssl rand -hex 32). Pour une console HTTPS, définissez SESSION_COOKIE_SECURE=true et renseignez son origine HTTPS publique exacte dans SESSION_COOKIE_TRUSTED_URL.

bash
docker compose up -d
docker compose logs -f new-api

Stockage et configuration

Composant Options
Base principale SQLite, MySQL ≥ 5.7.8 ou PostgreSQL ≥ 9.6
Base de journaux distincte Configurée avec LOG_SQL_DSN ; prend aussi en charge ClickHouse
Cache Redis facultatif et cache mémoire ; partagez Redis si les nœuds doivent partager les limites de débit
Plateformes des conteneurs Linux amd64 / arm64
Variable Rôle
SQL_DSN Connexion à la base principale ; SQLite si non définie
LOG_SQL_DSN Connexion facultative à une base de journaux distincte
REDIS_CONN_STRING Chaîne de connexion Redis
SESSION_SECRET Secret d'authentification persistant, identique sur tous les nœuds
CRYPTO_SECRET Vaut SESSION_SECRET par défaut ; même valeur effective pour les nœuds partageant Redis
SESSION_COOKIE_SECURE true pour une console HTTPS ; active les cookies de renouvellement Secure et les contrôles stricts d'origine du renouvellement et de la déconnexion
SESSION_COOKIE_TRUSTED_URL Obligatoire en mode Secure : origines HTTPS exactes séparées par des virgules, sans chemin ni joker ; à laisser non définie en HTTP local
TRUSTED_PROXIES IP/CIDR des proxys de confiance, ou none ; à configurer selon votre réseau

Consultez l'exemple d'environnement, la référence des variables et le guide des sessions. Injectez les variables du conteneur avec environment ou env_file dans Compose ; copier .env.example ne suffit pas.

En production, utilisez HTTPS et configurez le proxy inverse pour le streaming et WebSocket. Conservez et sauvegardez les bases et les données montées. Tous les nœuds doivent partager la base principale et les secrets d'authentification ; des Redis distincts ou des limiteurs en mémoire comptent les limites séparément par nœud. Le guide des sessions détaille la propagation selon la topologie.

Choisissez une version précise d'image dans les versions publiées, lisez ses notes et sauvegardez avant toute mise à niveau. Le tag latest évolue avec les publications ; évaluez les migrations et la compatibilité de votre installation.

Développement et extensions

Le backend utilise Go et Gin ; la console utilise React 19, TypeScript, Rsbuild, TanStack et Tailwind CSS 4. Utilisez Bun pour le frontend. Consultez go.mod pour la version de référence du langage Go et Dockerfile pour la chaîne de compilation du conteneur.

Compilez le frontend avant de démarrer le backend, qui intègre web/dist :

bash
# Racine du dépôt
cd web
bun install --frozen-lockfile
bun run build
cd ..
go run .

Dans un second terminal, démarrez le serveur de développement frontend :

bash
cd web
bun run dev -- --port 5173

Ouvrez http://localhost:5173 ; les requêtes API sont relayées vers le backend sur le port 3000. Pour un backend de développement en conteneur, consultez docker-compose.dev.yml et la cible make dev du makefile.

Emplacement Responsabilité
router/, middleware/, controller/ Routes HTTP, contrôles d'accès et gestionnaires API
relay/ Adaptateurs amont et routage des requêtes
service/, model/ Logique métier et persistance
relaykit/ Module Go autonome pour les DTO et conversions de protocoles
plugins/tasks/ Extensions de tâches JavaScript ; contrat et limites de l'hôte dans Task Plugin API v1
web/ Console web ; voir les conventions frontend
electron/ Application de bureau et packaging

Lisez AGENTS.md avant de contribuer. Exécutez les vérifications adaptées : make test pour les modules Go ; bun run typecheck, bun run lint, bun run test et bun run build dans web/ pour le frontend. Une modification de RelayKit nécessite aussi GOWORK=off go build ./... depuis relaykit/.

Documentation et communauté

Ressource Lien
Documentation officielle Guides · Installation · Référence API
Exploration du projet DeepWiki
Questions et échanges FAQ · Communauté
Bugs et propositions GitHub Issues
Vulnérabilités Signalement privé selon la politique de sécurité

Pour signaler un bug, indiquez la version, le déploiement, les étapes de reproduction et des journaux expurgés des données sensibles. Les contributions à la documentation, aux traductions, aux intégrations et aux tests de régression ciblés sont les bienvenues.


🔗 Projets connexes

Projets en amont

Projet Description
One API Base du projet original
Midjourney-Proxy Prise en charge de l'interface Midjourney

Outils d'accompagnement

Projet Description
new-api-key-tool Outil de recherche de quota d'utilisation avec une clé
new-api-horizon Version optimisée haute performance de New API

📜 Licence

Ce projet est sous licence GNU Affero General Public License v3.0 (AGPLv3).

Des conditions supplémentaires s'appliquent au titre de la section 7 de l'AGPLv3. Les versions modifiées doivent conserver la mention Frontend design and development by New API contributors. dans les mentions légales appropriées et les emplacements visibles de l'interface dédiés aux informations, au droit, au pied de page ou aux attributions, ainsi qu'un lien visible vers le projet original : https://github.com/QuantumNous/new-api.

Il s'agit d'un projet open-source développé sur la base de One API (licence MIT).

Si les politiques de votre organisation ne permettent pas l'utilisation de logiciels sous licence AGPLv3, ou si vous souhaitez éviter les obligations open-source de l'AGPLv3, veuillez nous contacter à : [email protected]

Consultez NOTICE et les licences tierces pour les attributions et les dépendances.


🌟 Historique des étoiles



File: README.ja.md


📝 プロジェクト説明

New API は、アプリケーション、Agent、チーム向けのセルフホスト型 AI ゲートウェイです。各社のモデルサービスを共通の入口に接続し、ルーティング、アクセス権、使用量、コストを一つの管理画面で扱えます。

チーム内で許可済みのモデルを共有する、クライアントの再設定を減らしてプロバイダーを切り替える、複数モデルを扱うプライベートサービスを構築するといった用途に使えます。OpenAI、Anthropic、Google Gemini、Azure OpenAI、AWS Bedrock、Vertex AI、DeepSeek、Qwen などに対応しています。

[!IMPORTANT]

  • 本プロジェクトは、合法的に許可された AI API ゲートウェイ、組織レベルの認証、マルチモデル管理、利用量分析、コスト管理、プライベートデプロイのシナリオのみを対象としています。
  • ユーザーは、上流の API キー、アカウント、モデルサービス、インターフェース権限を合法的に取得し、上流のサービス利用規約および適用される法律法規を遵守する必要があります。
  • ユーザーは、利用方法が上流のサービス利用規約および適用される法律法規に準拠していることを確認してください。
  • 生成 AI サービスを公衆に提供する場合、ユーザーは適用される規制要件を遵守し、管轄区域で求められる届出、ライセンス、コンテンツセキュリティ、本人確認、ログ保持、税務、上流認可などのすべての義務を履行してください。

[!WARNING]
本プロジェクトを公衆向け生成 AI サービスまたは API 再販サービスとして運営する場合、ユーザーは届出、コンテンツセキュリティ、本人確認、ログ保持、税務、決済、上流認可などの必要なコンプライアンス義務を先に完了してください。


🤝 信頼できるパートナー


🙏 特別な感謝


主な機能

分野 できること
モデル接続 OpenAI Chat Completions、Responses、Anthropic Messages、Gemini に対応。上流が対応するストリーミング、ツール呼び出し、推論、マルチモーダル入力を利用可能
ルーティング モデル名のマッピング、チャネルの優先度と重み、再試行、チャネルアフィニティ、複数キーの管理
使用量とコスト クォータ、サブスクリプション、使用ログ、キャッシュの課金、式による段階的な料金設定
アクセス制御 ユーザー、グループ、詳細な権限、API キーの制限。OAuth/OIDC、パスキー、二要素認証、ログインセッション管理
非同期タスク JavaScript プラグインで画像・動画などのタスク API を拡張し、状態の確認と成果物の取得に対応
Web 管理画面 チャネルとモデルの設定、使用・監査ログの確認、Playground でのモデル検証。英語、簡体字中国語、繁体字中国語、フランス語、日本語、ロシア語、ベトナム語に対応

プロトコルとエンドポイント

インターフェース 主なエンドポイント
OpenAI Chat / Responses POST /v1/chat/completions、POST /v1/responses
Anthropic Messages POST /v1/messages
Gemini POST /v1beta/models/{model}:generateContent、POST /v1beta/models/{model}:streamGenerateContent
Realtime / Responses WebSocket GET /v1/realtime、GET /v1/responses(WebSocket アップグレード)
画像 / 音声 /v1/images/generations、/v1/images/edits、/v1/audio/speech、/v1/audio/transcriptions、/v1/audio/translations
埋め込み / リランク POST /v1/embeddings、POST /v1/rerank
タスクプラグイン POST /v1/tasks/{pluginKey}、GET /v1/tasks/{taskId}、各プラグインが宣言するルート

RelayKit は、上記 4 種類のテキストプロトコル間でリクエスト、レスポンス、ストリームを変換します。利用できる機能はチャネル、上流モデル、変換経路に依存し、固有のツールやフィールドを完全には変換できない場合があります。WebSocket も対応する上流とチャネル設定が必要です。

この README は現在のソースコードを説明しています。デプロイするバージョンのリリースノートも確認してください。

クイックスタート

Docker でローカル実行

SQLite を使う単一インスタンスを、ローカルホスト限定で起動します。

bash
mkdir -p data
docker run --name new-api -d --restart unless-stopped \
  -p 127.0.0.1:3000:3000 \
  -e TZ=Asia/Shanghai \
  -v "$(pwd)/data:/data" \
  calciumion/new-api:latest

http://localhost:3000 を開き、初期設定ウィザードで管理者アカウントを作成します。SQLite データベースはマウントした data ディレクトリに保存され、コンテナを置き換えても残ります。

最初のリクエスト

  1. 上流の API キー、利用するモデル、グループを設定してチャネルを追加し、チャネルテストを実行します。
  2. モデルの料金を設定し、ユーザーに利用可能なクォータまたは有効なサブスクリプションがあることを確認します。
  3. 管理画面で、同じグループとモデルにアクセスできる API キーを作成します。
  4. OpenAI 互換クライアントでは Base URL を http://localhost:3000/v1 に設定し、New API が発行したキーを使います。

シェルの NEW_API_KEY にそのキーを設定し、アクセス可能なモデルを確認します。

bash
curl --fail-with-body http://localhost:3000/v1/models \
  -H "Authorization: Bearer ${NEW_API_KEY}"

次に Responses を呼び出します。your-enabled-model は、このインターフェースに対応する有効なモデル名に置き換えてください。

bash
curl --fail-with-body http://localhost:3000/v1/responses \
  -H "Authorization: Bearer ${NEW_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"model":"your-enabled-model","input":"Hello!"}'

デプロイと運用

Docker Compose

リポジトリの Compose 設定 は、既定で New API + PostgreSQL + Redis を起動します。MySQL と独立した ClickHouse ログデータベースの設定例も含まれます。

bash
git clone https://github.com/QuantumNous/new-api.git
cd new-api

起動前に docker-compose.yml を編集し、データベースと Redis のサービスおよび接続文字列にあるサンプルパスワードを変更します。永続的に使うランダムな SESSION_SECRET も設定してください(openssl rand -hex 32 で生成可能)。HTTPS の管理画面には SESSION_COOKIE_SECURE=true を設定し、公開 HTTPS オリジンを SESSION_COOKIE_TRUSTED_URL に正確に指定します。

bash
docker compose up -d
docker compose logs -f new-api

ストレージと設定

コンポーネント 選択肢
メインデータベース SQLite、MySQL ≥ 5.7.8、PostgreSQL ≥ 9.6
独立したログデータベース LOG_SQL_DSN で設定。ClickHouse にも対応
キャッシュ 任意の Redis とメモリキャッシュ。ノード間でレート制限を共有する場合は Redis を共有
コンテナのプラットフォーム Linux amd64 / arm64
環境変数 用途
SQL_DSN メインデータベースへの接続。未設定なら SQLite
LOG_SQL_DSN 任意の独立ログデータベースへの接続
REDIS_CONN_STRING Redis 接続文字列
SESSION_SECRET 永続的な認証用シークレット。全ノードで同じ値を使用
CRYPTO_SECRET 既定は SESSION_SECRET。Redis を共有するノードは同じ実効値を使用
SESSION_COOKIE_SECURE HTTPS の管理画面では true。Secure な更新用 Cookie と、更新・ログアウト時の厳格なオリジン検証を有効化
SESSION_COOKIE_TRUSTED_URL Secure モードでは必須。パスやワイルドカードを含まない正確な HTTPS オリジンをカンマ区切りで指定。ローカル HTTP では未設定にする
TRUSTED_PROXIES 信頼するリバースプロキシの IP/CIDR、または none。実際のネットワークに合わせて明示的に設定

詳細は環境変数の例、環境変数リファレンス、認証とセッションの説明を参照してください。コンテナの変数は Compose の environment または env_file で渡します。.env.example のコピーだけではコンテナに反映されません。

本番環境では HTTPS を使い、リバースプロキシでストリーミングと WebSocket アップグレードを有効にします。データベースとマウントデータを永続化し、バックアップしてください。複数ノードはメインデータベースと認証シークレットを共有します。独立した Redis やメモリ内のレート制限はノードごとに計数します。構成別のセッション伝播については認証の説明を参照してください。

リリース一覧からイメージのバージョンを固定し、更新内容を読んでバックアップしてからアップグレードしてください。latest は公開ビルドに応じて変わります。既存環境の移行と互換性は、利用中のバージョンに応じて確認してください。

開発と拡張

バックエンドは Go と Gin、管理画面は React 19、TypeScript、Rsbuild、TanStack、Tailwind CSS 4 を使用します。フロントエンドの依存関係とスクリプトには Bun を使います。Go 言語の基準バージョンは go.mod、コンテナのビルドツールチェーンは Dockerfile を参照してください。

バックエンドは web/dist を埋め込むため、先にフロントエンドをビルドします。

bash
# リポジトリのルート
cd web
bun install --frozen-lockfile
bun run build
cd ..
go run .

別のターミナルでフロントエンド開発サーバーを起動します。

bash
cd web
bun run dev -- --port 5173

http://localhost:5173 を開きます。API リクエストはポート 3000 のバックエンドに転送されます。開発用バックエンドをコンテナで動かす場合は docker-compose.dev.yml と makefile の make dev を参照してください。

場所 役割
router/、middleware/、controller/ HTTP ルート、アクセス検証、API ハンドラー
relay/ 上流アダプターとリクエストのルーティング
service/、model/ ビジネスロジックと永続化
relaykit/ プロトコル DTO と変換を提供する、独立してビルド可能な Go モジュール
plugins/tasks/ JavaScript タスクプラグイン。作成方法とホストの境界は Task Plugin API v1 を参照
web/ Web 管理画面。フロントエンドの規約を参照
electron/ デスクトップアプリのラッパーとパッケージング

貢献前に AGENTS.md を確認してください。変更に応じて、Go モジュールは make test、フロントエンドは web/ で bun run typecheck、bun run lint、bun run test、bun run build を実行します。RelayKit を変更した場合は、relaykit/ で GOWORK=off go build ./... も実行してください。

ドキュメントとコミュニティ

リソース リンク
公式ドキュメント ガイド · インストール · API リファレンス
プロジェクトの解説 DeepWiki
質問と交流 FAQ · コミュニティ
不具合と機能提案 GitHub Issues
脆弱性 セキュリティポリシーに従って非公開で報告

不具合の報告には、バージョン、デプロイ方法、再現手順、機密情報を除いたログを添えてください。ドキュメント、翻訳、プロバイダー連携、対象を絞った回帰テストへの貢献も歓迎します。


🔗 関連プロジェクト

上流プロジェクト

プロジェクト 説明
One API オリジナルプロジェクトベース
Midjourney-Proxy Midjourneyインターフェースサポート

補助ツール

プロジェクト 説明
new-api-key-tool キー使用量クォータ照会ツール
new-api-horizon New API高性能最適化版

📜 ライセンス

このプロジェクトは GNU Affero General Public License v3.0 (AGPLv3) の下でライセンスされています。

AGPLv3 第 7 条に基づく追加条項が適用されます。変更版では、適切な法的表示と、画面上の目立つ概要・法的情報・フッター・著作者表示の箇所に Frontend design and development by New API contributors. を残し、元のプロジェクト https://github.com/QuantumNous/new-api への可視リンクを保持する必要があります。

本プロジェクトは、One API(MITライセンス)をベースに開発されたオープンソースプロジェクトです。

お客様の組織のポリシーがAGPLv3ライセンスのソフトウェアの使用を許可していない場合、またはAGPLv3のオープンソース義務を回避したい場合は、こちらまでお問い合わせください:[email protected]

著作者と依存関係の表示については NOTICE とサードパーティライセンスを参照してください。


🌟 スター履歴


2. Official Technical Reference & Guides (QuantumNous/new-api-docs)

File: docs/index.md


template: home.html
title: New API
social:
cards_layout_options:
title: 新一代大模型网关与 AI 资产管理系统


Welcome to New API.


File: docs/getting-started.md


hide:

  • footer
  • navigation
  • toc

🎯 **部署方式选择**

  • :fontawesome-brands-docker:{ .twemoji }

    Docker Compose部署 ⭐推荐


    使用Docker Compose编排多个服务,适合生产环境或需要MySQL、Redis等依赖的场景

    了解更多 →{ .more-link }

  • :fontawesome-brands-docker:{ .twemoji }

    Docker 单容器部署


    使用Docker镜像快速部署New API,适合个人使用或小规模应用场景

    了解更多 →{ .more-link }

  • :material-server:{ .twemoji }

    1Panel 面板部署


    通过 1Panel 面板图形化界面快速部署,适合不熟悉命令行的用户

    了解更多 →{ .more-link }

  • :material-server:{ .twemoji }

    宝塔面板部署


    通过宝塔面板图形化界面快速部署,适合不熟悉命令行的用户

    了解更多 →{ .more-link }

  • :material-server-network:{ .twemoji }

    集群部署模式


    多节点分布式部署,实现高可用、负载均衡和水平扩展,适合大规模应用和企业级场景

    了解更多 →{ .more-link }

  • :material-code-braces:{ .twemoji }

    本地开发部署


    适合开发者进行代码贡献和二次开发,提供完整的本地开发环境设置指南

    了解更多 →{ .more-link }

📚 **浏览我们的文档**

  • :fontawesome-solid-book:{ .twemoji }

    维基百科


    了解项目介绍、特性说明、技术架构和路线图

    了解更多 →{ .more-link }

  • :fontawesome-solid-user:{ .twemoji }

    用户指南


    详细的使用说明和最佳实践

    敬请期待{ .more-link }

  • :fontawesome-solid-code:{ .twemoji }

    接口文档


    全面的API接口说明和调用示例

    了解更多 →{ .more-link }

  • :fontawesome-solid-headset:{ .twemoji }

    帮助支持


    常见问题解答和社区交流

    了解更多 →{ .more-link }

  • :fontawesome-solid-list:{ .twemoji }

    使用指南


    快速上手指南和详细步骤说明

    了解更多 →{ .more-link }

  • :fontawesome-solid-robot:{ .twemoji }

    AI应用


    探索基于New API开发的各类AI应用示例

    了解更多 →{ .more-link }

  • :fontawesome-solid-handshake:{ .twemoji }

    商务合作


    与我们合作,共同开拓AI生态与商业机会

    了解更多 →{ .more-link }