跳到主要内容

配置参考

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

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

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

基础配置

环境变量描述默认值必填
PORT服务监听端口3000
NODE_ENVNode.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
MAX_RESPONSE_SEGMENTS最大响应分段数5
MAX_TOKENS最大 token 数8000

AI 提供商配置

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

配置参数颜色说明

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

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

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

豆包(DouBao)

环境变量描述默认值必填
LLM_PROVIDERDouBao 提供商名称DouBao
PROVIDER_API_KEYDouBao API 密钥-是(如果使用 DouBao)
信息

前往 DouBao 获取 API 密钥。

文心一言(Ernie)

环境变量描述默认值必填
LLM_PROVIDERErnie 提供商名称Ernie
PROVIDER_API_KEYErnie API 密钥-是(如果使用 Ernie)
信息

前往 Ernie 获取 API 密钥。

月之暗面(Kimi)

环境变量描述默认值必填
LLM_PROVIDERKimi 提供商名称Kimi
PROVIDER_API_KEYKimi API 密钥-是(如果使用 Kimi)
信息

前往 Kimi 获取 API 密钥。

通义千问(Qwen)

环境变量描述默认值必填
LLM_PROVIDERQwen 提供商名称Qwen
PROVIDER_API_KEYQwen API 密钥-是(如果使用 Qwen)
信息

前往 Qwen 获取 API 密钥。

智谱 AI(ZhiPu)

环境变量描述默认值必填
LLM_PROVIDERZhiPu 提供商名称ZhiPu
PROVIDER_API_KEYZhiPu API 密钥-是(如果使用 ZhiPu)
信息

前往 ZhiPu 获取 API 密钥。

Amazon Bedrock

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

在 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_PROVIDERAnthropic 提供商Anthropic
PROVIDER_API_KEYAnthropic API 密钥-是(如果使用 Anthropic)
信息

前往 Anthropic 获取 API 密钥。

Cohere

环境变量描述默认值必填
LLM_PROVIDERCohere 提供商名称Cohere
PROVIDER_API_KEYCohere API 密钥-是(如果使用 Cohere)
信息

前往 Cohere 获取 API 密钥。

DeepSeek

环境变量描述默认值必填
LLM_PROVIDERDeepSeek 提供商名称DeepSeek
PROVIDER_API_KEYDeepSeek API 密钥-是(如果使用 DeepSeek)
信息

前往 DeepSeek 获取 API 密钥。

Github

环境变量描述默认值必填
LLM_PROVIDERGithub 提供商名称Github
PROVIDER_API_KEYGithub API 密钥-是(如果使用 Github)
信息

前往 Github 获取 API 密钥。

Google

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

前往 Google 获取 API 密钥。

Groq

环境变量描述默认值必填
LLM_PROVIDERGroq 提供商名称Groq
PROVIDER_API_KEYGroq API 密钥-是(如果使用 Groq)
信息

前往 Groq 获取 API 密钥。

HuggingFace

环境变量描述默认值必填
LLM_PROVIDERHuggingFace 提供商名称HuggingFace
PROVIDER_API_KEYHuggingFace API 密钥-是(如果使用 HuggingFace)
信息

前往 HuggingFace 获取 API 密钥。

Hyperbolic

环境变量描述默认值必填
LLM_PROVIDERHyperbolic 提供商名称Hyperbolic
PROVIDER_API_KEYHyperbolic API 密钥-是(如果使用 Hyperbolic)
信息

前往 Hyperbolic 获取 API 密钥。

LMStudio

环境变量描述默认值必填
LLM_PROVIDERLMStudio 提供商名称LMStudio
PROVIDER_BASE_URLLMStudio API URLhttp://127.0.0.1:1234是(如果使用 LMStudio)
注意

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

Mistral

环境变量描述默认值必填
LLM_PROVIDERMistral 提供商名称Mistral
PROVIDER_API_KEYMistral API 密钥-是(如果使用 Mistral)
信息

前往 Mistral 获取 API 密钥。

Ollama

环境变量描述默认值必填
LLM_PROVIDEROllama 提供商名称Ollama
PROVIDER_BASE_URLOllama API URLhttp://127.0.0.1:11434是(如果使用 Ollama)
注意

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

OpenRouter

环境变量描述默认值必填
LLM_PROVIDEROpenRouter 提供商名称OpenRouter
PROVIDER_API_KEYOpenRouter API 密钥-是(如果使用 OpenRouter)
信息

前往 OpenRouter 获取 API 密钥。

OpenAI

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

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

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

如:

Perplexity

环境变量描述默认值必填
LLM_PROVIDERPerplexity 提供商名称Perplexity
PROVIDER_API_KEYPerplexity API 密钥-是(如果使用 Perplexity)
信息

前往 Perplexity 获取 API 密钥。

Together

环境变量描述默认值必填
LLM_PROVIDERTogether 提供商名称Together
PROVIDER_API_KEYTogether API 密钥-是(如果使用 Together)
信息

前往 Together 获取 API 密钥。

xAI

环境变量描述默认值必填
LLM_PROVIDERxAI 提供商名称xAI
PROVIDER_API_KEYxAI API 密钥-是(如果使用 xAI)
信息

前往 xAI 获取 API 密钥。

AI 工具配置

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

Serper(网络搜索工具)

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

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

前往 Serper 获取 API 密钥。

Weather(天气工具)

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

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

前往 Weather 获取 API 密钥。

认证配置

Logto 认证

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

环境变量描述默认值必填
LOGTO_ENABLE是否启用 Logto 认证false
LOGTO_ENDPOINTLogto 服务的 URL-是(如果使用 Logto)
LOGTO_APP_IDLogto 应用程序 ID-是(如果使用 Logto)
LOGTO_APP_SECRETLogto 应用程序密钥-是(如果使用 Logto)
LOGTO_COOKIE_SECRET用于加密 cookie 的密钥-是(如果使用 Logto)
LOGTO_BASE_URLUPage 地址-是(如果使用 Logto)
信息

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

下一步