-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
115 lines (100 loc) · 5.42 KB
/
Copy path.env.example
File metadata and controls
115 lines (100 loc) · 5.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# RTC Agent 环境变量配置模板
# 复制此文件为 .env 并填入实际值:cp .env.example .env
#
# 环境变量命名规则:
# - 大写字母 + 双下划线分隔层级(对应 YAML 配置的层级结构)
# - 示例:llm.api_key → LLM__API_KEY,database.dsn → DATABASE__DSN
# - 这种映射由 Viper 的 SetEnvKeyReplacer(".", "__") 实现
#
# 优先级(从高到低):
# 1. 配置文件(etc/config.yaml 或通过 --config 指定的文件)
# 2. 环境变量(如 LLM__API_KEY)
# 3. 默认值(代码中 SetDefault 设置)
#
# 注意:如果 YAML 配置文件中明确写了某个字段,环境变量不会覆盖它。
# 因此敏感字段(如 api_key、password)建议不在 YAML 中写明文,
# 而是通过环境变量配置。
# ===========================================================================
# Server 配置(可选)
# ===========================================================================
# SERVER__SHUTDOWN_TIMEOUT=10s # 优雅关闭超时
# SERVER__RPC_TIMEOUT=10s # RPC handler 超时
# SERVER__CLIENT_QUEUE_MAX_SIZE=52428800 # Centrifuge 客户端队列上限(50MB)
# ===========================================================================
# LLM 配置(必需)
# ===========================================================================
# API Key,从模型提供商获取(如 Anthropic、OpenAI、阿里云等)
LLM__API_KEY=your-api-key-here
# ===========================================================================
# GitHub OAuth2 配置(可选)
# 申请地址: https://github.com/settings/developers
# ===========================================================================
PROVIDERS__GITHUB__ENABLED=false
PROVIDERS__GITHUB__CLIENT_ID=your-github-client-id
PROVIDERS__GITHUB__CLIENT_SECRET=your-github-client-secret
# ===========================================================================
# Google OAuth2 配置(可选)
# 申请地址: https://console.cloud.google.com/apis/credentials
# ===========================================================================
PROVIDERS__GOOGLE__ENABLED=false
PROVIDERS__GOOGLE__CLIENT_ID=your-google-client-id
PROVIDERS__GOOGLE__CLIENT_SECRET=your-google-client-secret
# ===========================================================================
# 数据库配置(可选,覆盖 config.yaml 中的默认值)
# ===========================================================================
# DATABASE__DSN=postgres://user:password@localhost:5432/rtc_agent?sslmode=disable
# ===========================================================================
# Redis 配置(可选,覆盖 config.yaml 中的默认值)
# ===========================================================================
# REDIS__ADDR=localhost:6379
# REDIS__PASSWORD=your-redis-password
# ===========================================================================
# Web Search 配置(可选)
# ===========================================================================
# Tavily API Key(当使用 tavily 搜索引擎时需要)
# 申请地址: https://tavily.com
TAVILY_API_KEY=your-tavily-api-key
# ===========================================================================
# 认证配置(必需)
# ===========================================================================
# JWT Secret(生产环境必须修改)
# 生成命令: openssl rand -base64 32
AUTH__JWT_SECRET=rtc-agent-dev-jwt-secret-change-me-in-production
# ===========================================================================
# OSS3 对象存储配置(可选 — 留空 STORAGE_BACKEND 禁用)
# ===========================================================================
# 存储后端: "minio" 启用, 留空禁用
# STORAGE_BACKEND=minio
# MinIO 凭证(STORAGE_BACKEND=minio 时必需)
# 需与 docker-compose 中的 MINIO_ROOT_USER / MINIO_ROOT_PASSWORD 一致
# 注意: 这些变量通过 ${MINIO_ACCESS_KEY} 在 YAML 中展开,不通过 Viper 自动映射
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin
# AES-256 密钥(32 字节),用于 SessionToken 加密(STORAGE_BACKEND=minio 时必需)
# 生成命令: openssl rand -hex 32
# 必须是 32 字节(64 个十六进制字符)
OSS3_SESSION_TOKEN_KEY=
# S3 端点 TLS(可选 — 生产环境建议启用)
# S3_TLS_CERT=/path/to/cert.pem
# S3_TLS_KEY=/path/to/key.pem
# ===========================================================================
# Debug 端点配置(可选 — 生产环境建议禁用)
# ===========================================================================
# 启用 /debug/pprof/* 和 /debug/goroutines 端点
# DEBUG__ENABLED=false
# Basic Auth 凭证(留空则无认证)
# DEBUG__USER=admin
# DEBUG__PASSWORD=your-debug-password
# ===========================================================================
# Metrics 端点配置(可选 — 生产环境建议设置认证)
# ===========================================================================
# Prometheus /metrics 端点 Basic Auth 凭证(留空则无认证)
# METRICS__USER=admin
# METRICS__PASSWORD=your-metrics-password
# ===========================================================================
# Mock OAuth2 Provider 配置(仅开发环境)
# ===========================================================================
# PROVIDERS__MOCK__ENABLED=true
# PROVIDERS__MOCK__URL=http://localhost:10060
# PROVIDERS__MOCK__CLIENT_ID=test-client
# PROVIDERS__MOCK__CLIENT_SECRET=test-client-secret