Files
upage-git/docs/content/configuration.md
LIlGG c31e366af9 feat: add support for DouBao, Ernie, Kimi, Qwen, ZhiPu LLM providers
Introduces new provider modules for DouBao, Ernie, Kimi, Qwen, and ZhiPu, and registers them in the LLM registry. Updates documentation and .env.example to include configuration instructions for these providers. Refactors OpenAI provider to support OpenAI-compatible endpoints. Adds @ai-sdk/openai-compatible and node-fetch dependencies.
2025-09-29 16:28:56 +08:00

15 KiB
Raw Blame History

id, title
id title
configuration 配置参考

配置参考

本文档提供了 UPage 的完整配置参考包括基础配置、AI 提供商配置、认证配置,帮助您根据自己的需求定制和优化 UPage。

UPage 使用环境变量进行配置。您可以通过以下方式设置环境变量:

  • 在 Docker 运行命令中使用 -e 参数
  • 在 Docker Compose 文件中使用 environment 部分
  • 在源码部署中创建 .env 文件

基础配置

环境变量 描述 默认值 必填
PORT 服务监听端口 3000
NODE_ENV Node.js 环境 production
OPERATING_ENV 运行环境 production
LOG_LEVEL 日志级别debug, info, warn, error info
USAGE_LOG_FILE 是否开启文件日志 true
MAX_UPLOAD_SIZE_MB 附件上传的最大大小 (MB) 5
STORAGE_DIR 资源文件存储位置 /app/storage

AI 提供商配置

UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用页面生成功能。

:::tip 配置参数颜色说明 为了帮助您区分不同提供商所需的配置参数,我们使用了不同的颜色标记:

  • API 基础 URL: 用蓝色标记,通常是服务的访问地址
  • API 密钥: 用红色标记,通常是敏感信息,需要从提供商处获取 :::
环境变量 描述 默认值 必填
LLM_PROVIDER LLM 提供商,按照下述配置项配置一个 -
PROVIDER_BASE_URL LLM 提供商的 API 基础 URL部分提供商需要设置此项例如 Ollama, LMStudio。 OpenAI 可选此项 - 否,部分提供商不需要设置此项
PROVIDER_API_KEY LLM 提供商的 API 密钥,大部分提供商需要设置此项 - 否,部分提供商不需要设置此项
LLM_DEFAULT_MODEL 生成页面所使用的模型 -
LLM_MINOR_MODEL 辅助页面生成所使用的模型 -

以下是常见的 AI 提供商配置:

豆包DouBao

环境变量 描述 默认值 必填
LLM_PROVIDER DouBao 提供商名称 DouBao
PROVIDER_API_KEY DouBao API 密钥 - 是(如果使用 DouBao

:::info 前往 DouBao 获取 API 密钥。 :::

文心一言Ernie

环境变量 描述 默认值 必填
LLM_PROVIDER Ernie 提供商名称 Ernie
PROVIDER_API_KEY Ernie API 密钥 - 是(如果使用 Ernie

:::info 前往 Ernie 获取 API 密钥。 :::

月之暗面Kimi

环境变量 描述 默认值 必填
LLM_PROVIDER Kimi 提供商名称 Kimi
PROVIDER_API_KEY Kimi API 密钥 - 是(如果使用 Kimi

:::info 前往 Kimi 获取 API 密钥。 :::

通义千问Qwen

环境变量 描述 默认值 必填
LLM_PROVIDER Qwen 提供商名称 Qwen
PROVIDER_API_KEY Qwen API 密钥 - 是(如果使用 Qwen

:::info 前往 Qwen 获取 API 密钥。 :::

智谱 AIZhiPu

环境变量 描述 默认值 必填
LLM_PROVIDER ZhiPu 提供商名称 ZhiPu
PROVIDER_API_KEY ZhiPu API 密钥 - 是(如果使用 ZhiPu

:::info 前往 ZhiPu 获取 API 密钥。 :::

Amazon Bedrock

环境变量 描述 默认值 必填
LLM_PROVIDER Amazon Bedrock 提供商名称 AmazonBedrock
PROVIDER_API_KEY Amazon Bedrock 配置 - 是(如果使用 Amazon Bedrock

:::info 在 Amazon Bedrock 提供商中,PROVIDER_API_KEY 应为 JSON 格式。例如:

{
  // Bedrock 可用的 AWS 区域
  "region": "us-east-1",
  // 你的 AWS 访问密钥 ID
  "accessKeyId": "your-access-key-id",
  // 你的 AWS 访问密钥令牌
  "secretAccessKey": "your-secret-access-key",
  // AWS 会话令牌(可选),如果使用 IAM 角色或临时凭据,则为临时会话令牌
  "sessionToken": "your-session-token"
}

前往 Amazon Bedrock 中获取配置。 :::

Anthropic Claude

环境变量 描述 默认值 必填
LLM_PROVIDER Anthropic 提供商 Anthropic
PROVIDER_API_KEY Anthropic API 密钥 - 是(如果使用 Anthropic

:::info 前往 Anthropic 获取 API 密钥。 :::

Cohere

环境变量 描述 默认值 必填
LLM_PROVIDER Cohere 提供商名称 Cohere
PROVIDER_API_KEY Cohere API 密钥 - 是(如果使用 Cohere

:::info 前往 Cohere 获取 API 密钥。 :::

DeepSeek

环境变量 描述 默认值 必填
LLM_PROVIDER DeepSeek 提供商名称 DeepSeek
PROVIDER_API_KEY DeepSeek API 密钥 - 是(如果使用 DeepSeek

:::info 前往 DeepSeek 获取 API 密钥。 :::

Github

环境变量 描述 默认值 必填
LLM_PROVIDER Github 提供商名称 Github
PROVIDER_API_KEY Github API 密钥 - 是(如果使用 Github

:::info 前往 Github 获取 API 密钥。 :::

Google

环境变量 描述 默认值 必填
LLM_PROVIDER Google 提供商名称 Google
PROVIDER_API_KEY Google 生成式 AI API 密钥 - 是(如果使用 Google

:::info 前往 Google 获取 API 密钥。 :::

Groq

环境变量 描述 默认值 必填
LLM_PROVIDER Groq 提供商名称 Groq
PROVIDER_API_KEY Groq API 密钥 - 是(如果使用 Groq

:::info 前往 Groq 获取 API 密钥。 :::

HuggingFace

环境变量 描述 默认值 必填
LLM_PROVIDER HuggingFace 提供商名称 HuggingFace
PROVIDER_API_KEY HuggingFace API 密钥 - 是(如果使用 HuggingFace

:::info 前往 HuggingFace 获取 API 密钥。 :::

Hyperbolic

环境变量 描述 默认值 必填
LLM_PROVIDER Hyperbolic 提供商名称 Hyperbolic
PROVIDER_API_KEY Hyperbolic API 密钥 - 是(如果使用 Hyperbolic

:::info 前往 Hyperbolic 获取 API 密钥。 :::

LMStudio

环境变量 描述 默认值 必填
LLM_PROVIDER LMStudio 提供商名称 LMStudio
PROVIDER_BASE_URL LMStudio API URL http://127.0.0.1:1234 是(如果使用 LMStudio

:::warning 由于可能存在的 IPV6 的问题,所以不要使用 http://localhost:1234 而应该使用类似于 http://127.0.0.1:1234 的地址 :::

Mistral

环境变量 描述 默认值 必填
LLM_PROVIDER Mistral 提供商名称 Mistral
PROVIDER_API_KEY Mistral API 密钥 - 是(如果使用 Mistral

:::info 前往 Mistral 获取 API 密钥。 :::

Ollama

环境变量 描述 默认值 必填
LLM_PROVIDER Ollama 提供商名称 Ollama
PROVIDER_BASE_URL Ollama API URL http://127.0.0.1:11434 是(如果使用 Ollama

:::warning 由于可能存在的 IPV6 的问题,所以不要使用 http://localhost:11434 而应该使用类似于 http://127.0.0.1:11434 的地址 :::

OpenRouter

环境变量 描述 默认值 必填
LLM_PROVIDER OpenRouter 提供商名称 OpenRouter
PROVIDER_API_KEY OpenRouter API 密钥 - 是(如果使用 OpenRouter

:::info 前往 OpenRouter 获取 API 密钥。 :::

OpenAI

环境变量 描述 默认值 必填
LLM_PROVIDER OpenAI 提供商名称 OpenAI
PROVIDER_BASE_URL 兼容 OpenAI 的 API 接口的地址 - 否(不填写时,使用 OpenAI 官方 API
PROVIDER_API_KEY OpenAI API 密钥 - 是(如果使用 OpenAI

:::info 此供应商也支持任何 OpenAI 兼容的 API 接口,只需要额外配置 PROVIDER_BASE_URL 为兼容 OpenAI 的 API 接口的地址。

在一些第三方软件或平台输入自定义 URL 时,可能需要追加 /v1 或 /v1/chat/completions 等后缀。

如:

Perplexity

环境变量 描述 默认值 必填
LLM_PROVIDER Perplexity 提供商名称 Perplexity
PROVIDER_API_KEY Perplexity API 密钥 - 是(如果使用 Perplexity

:::info 前往 Perplexity 获取 API 密钥。 :::

Together

环境变量 描述 默认值 必填
LLM_PROVIDER Together 提供商名称 Together
PROVIDER_API_KEY Together API 密钥 - 是(如果使用 Together

:::info 前往 Together 获取 API 密钥。 :::

xAI

环境变量 描述 默认值 必填
LLM_PROVIDER xAI 提供商名称 xAI
PROVIDER_API_KEY xAI API 密钥 - 是(如果使用 xAI

:::info 前往 xAI 获取 API 密钥。 :::

AI 工具配置

UPage 支持集成部分 AI 工具调用,用于为 UPage 提供服务,您可以根据需要配置。

Serper网络搜索工具

UPage 集成了 Serper 的搜索服务,您可以通过配置 SERPER_API_KEY 来使用 Serper 的搜索服务。

环境变量 描述 默认值 必填
SERPER_API_KEY Serper API 密钥 - 是(如果使用 Serper

:::info 前往 Serper 获取 API 密钥。 :::

Weather天气工具

UPage 集成了 Weather 的天气服务,您可以通过配置 WEATHER_API_KEY 来使用 Weather 的天气服务。

环境变量 描述 默认值 必填
WEATHER_API_KEY Weather API 密钥 - 是(如果使用 Weather

:::info 前往 Weather 获取 API 密钥。 :::

认证配置

Logto 认证

UPage 默认仅支持单一的匿名用户访问,您可以通过集成 Logto 后配置 LOGTO_ENABLE 来启用 Logto 认证,支持多用户登录。

环境变量 描述 默认值 必填
LOGTO_ENABLE 是否启用 Logto 认证 false
LOGTO_ENDPOINT Logto 服务的 URL - 是(如果使用 Logto
LOGTO_APP_ID Logto 应用程序 ID - 是(如果使用 Logto
LOGTO_APP_SECRET Logto 应用程序密钥 - 是(如果使用 Logto
LOGTO_COOKIE_SECRET 用于加密 cookie 的密钥 - 是(如果使用 Logto
LOGTO_BASE_URL UPage 地址 - 是(如果使用 Logto

:::info Logto 集成请参阅 Logto 认证集成文档。 :::

配置示例

以下内容以使用 Docker Compose 作为示例,用于展示 UPage 的完整配置。

version: "3.9"
services:
  upage:
    image: halo-dev/upage:latest
    container_name: upage
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      # 基础配置
      - PORT=3000
      - NODE_ENV=production
      - OPERATING_ENV=production
      - LOG_LEVEL=info
      - USAGE_LOG_FILE=true
      - MAX_UPLOAD_SIZE_MB=10
      - STORAGE_DIR=/app/storage
      
      # 使用 DeepSeek 提供商配置
      - LLM_PROVIDER=DeepSeek
      - PROVIDER_API_KEY=your-deepseek-api-key
      - LLM_DEFAULT_MODEL=deepseek-chat
      - LLM_MINOR_MODEL=deepseek-chat

      # AI 工具配置
      - SERPER_API_KEY=your-serper-api-key
      - WEATHER_API_KEY=your-weather-api-key
      
      # Logto 认证配置
      - LOGTO_ENABLE=true
      - LOGTO_ENDPOINT=http://logto:3001
      - LOGTO_APP_ID=your-app-id
      - LOGTO_APP_SECRET=your-app-secret
      - LOGTO_COOKIE_SECRET=your-cookie-secret
      - LOGTO_BASE_URL=http://localhost:3000
    volumes:
      - ./data:/app/data
      - ./logs:/app/logs
      - ./storage:/app/storage

如果你要切换使用其他 AI 提供商,则只需要修改 LLM_PROVIDER 和相应的 API 密钥、Model 即可,例如:

version: "3.9"
services:
  upage:
    image: halo-dev/upage:latest
    container_name: upage
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      # 使用 OpenAI 提供商配置,同时兼容 OpenAI 规范的 API 接口
      - LLM_PROVIDER=OpenAI
      # 此项可选,不填写时,使用 OpenAI 官方 API
      - PROVIDER_BASE_URL=your-openai-api-base-url
      - PROVIDER_API_KEY=your-openai-api-key
      - LLM_DEFAULT_MODEL=gpt-4.1
      - LLM_MINOR_MODEL=gpt-4.1-mini

      # ...其他配置
    volumes:
      - ./data:/app/data
      - ./logs:/app/logs
      - ./storage:/app/storage

下一步