配置参考
本文档提供了 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 | 否 |
MAX_RESPONSE_SEGMENTS | 最大响应分段数 | 5 | 否 |
MAX_TOKENS | 最大 token 数 | 8000 | 否 |
AI 提供商配置
UPage 支持多种 AI 提供商,您需要配置一个 AI 提供商才能使用页面生成功能。
为了帮助您区分不同提供商所需的配置参数,我们使用了不同的颜色标记:
- 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) |
前往 DouBao 获取 API 密钥。
文心一言(Ernie)
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | Ernie 提供商名称 | Ernie | 是 |
PROVIDER_API_KEY | Ernie API 密钥 | - | 是(如果使用 Ernie) |
前往 Ernie 获取 API 密钥。
月之暗面(Kimi)
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | Kimi 提供商名称 | Kimi | 是 |
PROVIDER_API_KEY | Kimi API 密钥 | - | 是(如果使用 Kimi) |
前往 Kimi 获取 API 密钥。
通义千问(Qwen)
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | Qwen 提供商名称 | Qwen | 是 |
PROVIDER_API_KEY | Qwen API 密钥 | - | 是(如果使用 Qwen) |
前往 Qwen 获取 API 密钥。
智谱 AI(ZhiPu)
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | ZhiPu 提供商名称 | ZhiPu | 是 |
PROVIDER_API_KEY | ZhiPu API 密钥 | - | 是(如果使用 ZhiPu) |
前往 ZhiPu 获取 API 密钥。
Amazon Bedrock
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | Amazon Bedrock 提供商名称 | AmazonBedrock | 是 |
PROVIDER_API_KEY | Amazon 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_PROVIDER | Anthropic 提供商 | Anthropic | 是 |
PROVIDER_API_KEY | Anthropic API 密钥 | - | 是(如果使用 Anthropic) |
前往 Anthropic 获取 API 密钥。
Cohere
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | Cohere 提供商名称 | Cohere | 是 |
PROVIDER_API_KEY | Cohere API 密钥 | - | 是(如果使用 Cohere) |
前往 Cohere 获取 API 密钥。
DeepSeek
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | DeepSeek 提供商名称 | DeepSeek | 是 |
PROVIDER_API_KEY | DeepSeek API 密钥 | - | 是(如果使用 DeepSeek) |
前往 DeepSeek 获取 API 密钥。
Github
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | Github 提供商名称 | Github | 是 |
PROVIDER_API_KEY | Github API 密钥 | - | 是(如果使用 Github) |
前往 Github 获取 API 密钥。
Google
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | Google 提供商名称 | 是 | |
PROVIDER_API_KEY | Google 生成式 AI API 密钥 | - | 是(如果使用 Google) |
前往 Google 获取 API 密钥。
Groq
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | Groq 提供商名称 | Groq | 是 |
PROVIDER_API_KEY | Groq API 密钥 | - | 是(如果使用 Groq) |
前往 Groq 获取 API 密钥。
HuggingFace
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | HuggingFace 提供商名称 | HuggingFace | 是 |
PROVIDER_API_KEY | HuggingFace API 密钥 | - | 是(如果使用 HuggingFace) |
前往 HuggingFace 获取 API 密钥。
Hyperbolic
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | Hyperbolic 提供商名称 | Hyperbolic | 是 |
PROVIDER_API_KEY | Hyperbolic API 密钥 | - | 是(如果使用 Hyperbolic) |
前往 Hyperbolic 获取 API 密钥。
LMStudio
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | LMStudio 提供商名称 | LMStudio | 是 |
PROVIDER_BASE_URL | LMStudio API URL | http://127.0.0.1:1234 | 是(如果使用 LMStudio) |
由于可能存在的 IPV6 的问题,所以不要使用 http://localhost:1234 而应该使用类似于 http://127.0.0.1:1234 的地址
Mistral
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | Mistral 提供商名称 | Mistral | 是 |
PROVIDER_API_KEY | Mistral API 密钥 | - | 是(如果使用 Mistral) |
前往 Mistral 获取 API 密钥。
Ollama
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | Ollama 提供商名称 | Ollama | 是 |
PROVIDER_BASE_URL | Ollama API URL | http://127.0.0.1:11434 | 是(如果使用 Ollama) |
由于可能存在的 IPV6 的问题,所以不要使用 http://localhost:11434 而应该使用类似于 http://127.0.0.1:11434 的地址
OpenRouter
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | OpenRouter 提供商名称 | OpenRouter | 是 |
PROVIDER_API_KEY | OpenRouter API 密钥 | - | 是(如果使用 OpenRouter) |
前往 OpenRouter 获取 API 密钥。
OpenAI
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | OpenAI 提供商名称 | OpenAI | 是 |
PROVIDER_BASE_URL | 兼容 OpenAI 的 API 接口的地址 | - | 否(不填写时,使用 OpenAI 官方 API) |
PROVIDER_API_KEY | OpenAI API 密钥 | - | 是(如果使用 OpenAI) |
此供应商也支持任何 OpenAI 兼容的 API 接口,只需要额外配置 PROVIDER_BASE_URL
为兼容 OpenAI 的 API 接口的地址。
在一些第三方软件或平台输入自定义 URL 时,可能需要追加 /v1 或 /v1/chat/completions 等后缀。
如:
Perplexity
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | Perplexity 提供商名称 | Perplexity | 是 |
PROVIDER_API_KEY | Perplexity API 密钥 | - | 是(如果使用 Perplexity) |
前往 Perplexity 获取 API 密钥。
Together
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | Together 提供商名称 | Together | 是 |
PROVIDER_API_KEY | Together API 密钥 | - | 是(如果使用 Together) |
前往 Together 获取 API 密钥。
xAI
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
LLM_PROVIDER | xAI 提供商名称 | xAI | 是 |
PROVIDER_API_KEY | xAI API 密钥 | - | 是(如果使用 xAI) |
前往 xAI 获取 API 密钥。
AI 工具配置
UPage 支持集成部分 AI 工具调用,用于为 UPage 提供服务,您可以根据需要配置。
Serper(网络搜索工具)
UPage 集成了 Serper 的搜索服务,您可以通过配置 SERPER_API_KEY
来使用 Serper 的搜索服务。
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
SERPER_API_KEY | Serper API 密钥 | - | 是(如果使用 Serper) |
前往 Serper 获取 API 密钥。
Weather(天气工具)
UPage 集成了 Weather 的天气服务,您可以通过配置 WEATHER_API_KEY
来使用 Weather 的天气服务。
环境变量 | 描述 | 默认值 | 必填 |
---|---|---|---|
WEATHER_API_KEY | Weather API 密钥 | - | 是(如果使用 Weather) |
前往 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) |
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