Commit 6b984a94 authored by uuo00_n's avatar uuo00_n

feat(docs): 更新环境变量说明,添加 DIFY_API_KEY_LLM 和 DIFY_API_KEY_SECURITY

parent 86504a9e
......@@ -34,7 +34,7 @@
### `.env` 如何生成和使用
1. 执行 `./start.sh init-env` 会调用 `scripts/generate_secrets.py` 自动生成根目录 `.env`
2. 生成后至少检查这些配置:`DB_PASSWORD``JWT_SECRET``DIFY_API_KEY`
2. 生成后至少检查这些配置:`DB_PASSWORD``JWT_SECRET``DIFY_API_KEY_LLM``DIFY_API_KEY_SECURITY`
3. `./start.sh up` 启动时会自动读取根目录 `.env` 注入各服务容器。
4. 修改 `.env` 后,优先执行 `./start.sh rebuild` 使配置生效(或 `./start.sh down && ./start.sh up` 全量重启)。
......
......@@ -23,8 +23,9 @@
`.env` 使用说明:
1. `./start.sh init-env` 会自动生成根目录 `.env`
2. 启动时 `./start.sh up` 会把 `.env` 注入所有容器。
3. 修改 `.env` 后可重构容器生效:`./start.sh rebuild`(或全量重启:`./start.sh down && ./start.sh up`)。
4. 如果 `.env` 权限异常,可执行:`sudo chown $USER:staff .env && chmod 640 .env`
3. Dify 建议分别填写 `DIFY_API_KEY_LLM`(LLM 服务)与 `DIFY_API_KEY_SECURITY`(Security 服务);旧版 `DIFY_API_KEY` 仍兼容。
4. 修改 `.env` 后可重构容器生效:`./start.sh rebuild`(或全量重启:`./start.sh down && ./start.sh up`)。
5. 如果 `.env` 权限异常,可执行:`sudo chown $USER:staff .env && chmod 640 .env`
常用维护命令:
- `./start.sh rebuild [service]`:重构容器(默认全部,可指定服务)
......
......@@ -37,7 +37,8 @@
- `DB_PASSWORD`
- `JWT_SECRET`
- `DIFY_API_KEY`
- `DIFY_API_KEY_LLM`
- `DIFY_API_KEY_SECURITY`
### 3.3 生效方式
......
......@@ -104,7 +104,7 @@ services:
- OLLAMA_MODEL=${OLLAMA_MODEL}
# Dify Configuration
- DIFY_API_URL=${DIFY_API_URL}
- DIFY_API_KEY=${DIFY_API_KEY}
- DIFY_API_KEY_LLM=${DIFY_API_KEY_LLM:-${DIFY_API_KEY}}
- DIFY_RESPONSE_MODE=${DIFY_RESPONSE_MODE}
- DIFY_MESSAGE_ENDPOINT=${DIFY_MESSAGE_ENDPOINT}
# Redis Configuration
......@@ -140,7 +140,7 @@ services:
- JWT_SECRET=${JWT_SECRET}
- ALGORITHM=${ALGORITHM}
- DIFY_API_URL=${DIFY_API_URL}
- DIFY_API_KEY=${DIFY_API_KEY}
- DIFY_API_KEY_SECURITY=${DIFY_API_KEY_SECURITY:-${DIFY_API_KEY}}
- DIFY_RESPONSE_MODE=${DIFY_RESPONSE_MODE}
- MONGODB_URL=${MONGODB_URL}
- MONGODB_DB_NAME=${MONGODB_DB_NAME}
......
......@@ -105,7 +105,7 @@ services:
- OLLAMA_MODEL=${OLLAMA_MODEL}
# Dify Configuration
- DIFY_API_URL=${DIFY_API_URL}
- DIFY_API_KEY=${DIFY_API_KEY}
- DIFY_API_KEY_LLM=${DIFY_API_KEY_LLM:-${DIFY_API_KEY}}
- DIFY_RESPONSE_MODE=${DIFY_RESPONSE_MODE}
- DIFY_MESSAGE_ENDPOINT=${DIFY_MESSAGE_ENDPOINT}
# Redis Configuration
......@@ -140,7 +140,7 @@ services:
- JWT_SECRET=${JWT_SECRET}
- ALGORITHM=${ALGORITHM}
- DIFY_API_URL=${DIFY_API_URL}
- DIFY_API_KEY=${DIFY_API_KEY}
- DIFY_API_KEY_SECURITY=${DIFY_API_KEY_SECURITY:-${DIFY_API_KEY}}
- DIFY_RESPONSE_MODE=${DIFY_RESPONSE_MODE}
- MONGODB_URL=${MONGODB_URL}
- MONGODB_DB_NAME=${MONGODB_DB_NAME}
......
from pathlib import Path
from pydantic import Field, ValidationInfo, field_validator, model_validator
from pydantic import AliasChoices, Field, ValidationInfo, field_validator, model_validator
from pydantic_settings import BaseSettings, SettingsConfigDict
def _resolve_env_files():
......@@ -43,8 +43,8 @@ class Settings(BaseSettings):
# Dify配置
DIFY_API_URL: str = "http://192.168.6.6/v1"
# 使用别名从环境变量 DIFY_API_KEY_LLM 读取,代码中仍通过 settings.DIFY_API_KEY 访问
DIFY_API_KEY: str = Field("", alias="DIFY_API_KEY_LLM")
# 优先读取 DIFY_API_KEY_LLM,兼容旧变量 DIFY_API_KEY
DIFY_API_KEY: str = Field("", validation_alias=AliasChoices("DIFY_API_KEY_LLM", "DIFY_API_KEY"))
DIFY_RESPONSE_MODE: str = "streaming"
DIFY_MESSAGE_ENDPOINT: str = "chat-messages"
......
from pathlib import Path
from pydantic import Field, ValidationInfo, field_validator, model_validator
from pydantic import AliasChoices, Field, ValidationInfo, field_validator, model_validator
from pydantic_settings import BaseSettings, SettingsConfigDict
def _resolve_env_files():
......@@ -32,8 +32,8 @@ class Settings(BaseSettings):
# Dify 配置
DIFY_API_URL: str = "http://192.168.6.6/v1"
# 使用别名从环境变量 DIFY_API_KEY_SECURITY 读取
DIFY_API_KEY: str = Field("", alias="DIFY_API_KEY_SECURITY")
# 优先读取 DIFY_API_KEY_SECURITY,兼容旧变量 DIFY_API_KEY
DIFY_API_KEY: str = Field("", validation_alias=AliasChoices("DIFY_API_KEY_SECURITY", "DIFY_API_KEY"))
DIFY_RESPONSE_MODE: str = "streaming"
# MongoDB 配置
......
......@@ -183,6 +183,8 @@ def check_existing_env(env_file):
"your_secure_password_here",
"your_jwt_secret_key",
"your_dify_api_key_here",
"your_dify_api_key_llm_here",
"your_dify_api_key_security_here",
"your_admin_password_here"
]
......@@ -249,7 +251,10 @@ def generate_env_file():
'ALGORITHM': 'HS256',
'ACCESS_TOKEN_EXPIRE_MINUTES': '30',
'DIFY_API_URL': 'http://192.168.6.6/v1',
'DIFY_API_KEY': 'your_dify_api_key_here',
'DIFY_API_KEY_LLM': 'your_dify_api_key_llm_here',
'DIFY_API_KEY_SECURITY': 'your_dify_api_key_security_here',
# 兼容旧版配置(可选)
'DIFY_API_KEY': '',
'DIFY_RESPONSE_MODE': 'streaming',
'DIFY_MESSAGE_ENDPOINT': 'chat-messages',
'MONGODB_URL': 'mongodb://mongo:27017',
......@@ -307,7 +312,7 @@ def generate_env_file():
# 📝 配置说明:
# - 所有敏感信息已自动生成
# - 保留了原有的服务地址配置
# - 需要手动填写 DIFY_API_KEY
# - 需要手动填写 DIFY_API_KEY_LLM 与 DIFY_API_KEY_SECURITY
# - 可根据实际需求修改其他配置
# ============================================================
......@@ -332,6 +337,9 @@ ACCESS_TOKEN_EXPIRE_MINUTES={values['ACCESS_TOKEN_EXPIRE_MINUTES']}
# 🔧 Dify AI 平台配置
# ============================================================
DIFY_API_URL={values['DIFY_API_URL']}
DIFY_API_KEY_LLM={values['DIFY_API_KEY_LLM']}
DIFY_API_KEY_SECURITY={values['DIFY_API_KEY_SECURITY']}
# 兼容旧版单智能体配置(可留空)
DIFY_API_KEY={values['DIFY_API_KEY']}
DIFY_RESPONSE_MODE={values['DIFY_RESPONSE_MODE']}
DIFY_MESSAGE_ENDPOINT={values['DIFY_MESSAGE_ENDPOINT']}
......@@ -428,8 +436,8 @@ def print_post_generation_instructions():
print_header("后续操作步骤")
steps = [
"1️⃣ 填写 DIFY_API_KEY",
" 编辑 .env 文件,填入您的 Dify API Key",
"1️⃣ 填写 DIFY_API_KEY_LLM 与 DIFY_API_KEY_SECURITY",
" 编辑 .env 文件,分别填入两个 Dify 智能体 API Key",
" 格式:app-xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"",
"2️⃣ 验证 .gitignore",
......
......@@ -35,7 +35,7 @@ LLM Filter 统一脚本
推荐首次使用:
1) ./start.sh init-env
2) 编辑 .env(至少确认 DB_PASSWORD / JWT_SECRET / DIFY_API_KEY)
2) 编辑 .env(至少确认 DB_PASSWORD / JWT_SECRET / DIFY_API_KEY_LLM / DIFY_API_KEY_SECURITY
3) ./start.sh up
EOF
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment