Files

1 line
152 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"repo": "bulolo/catwiki", "files": {"backend/.env.example": {"de85fdea812901cefcba535b60c9959989a3a6d0": {"t": 1785747430.4760349, "n": 7693, "h": "7d7110b484fb0cb0", "c": "# ==============================================================================\n# CatWiki Backend Environment Configuration Template (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: cp .env.example .env\n# 2. 按部署环境修改各项,🔒 标记的项必须修改\n# 3. 生产环境建议通过容器/CI 注入而非直接保存敏感值\n# ==============================================================================\n\n\n# ------------------------------------------------------------------------------\n# 1. 基础环境 (Basic Environment)\n# ------------------------------------------------------------------------------\nENVIRONMENT=prod # 运行环境: local | dev | prod\nDEBUG=false # 调试模式: true | false\nLOG_LEVEL=INFO # 日志级别: DEBUG | INFO | WARNING | ERROR | CRITICAL\nTZ=Asia/Shanghai # 系统时区\n\n# 版本与授权\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\"\nADMIN_API_V1_STR=\"/admin/v1\"\n\n\n# ------------------------------------------------------------------------------\n# 2. 数据库 (PostgreSQL + PGVector)\n# ------------------------------------------------------------------------------\nPOSTGRES_SERVER=postgres # Local 填 localhost, Docker 填 postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境务必修改\nDB_ECHO=false # 是否输出 SQL 执行记录\n\n# 连接池\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n\n# ------------------------------------------------------------------------------\n# 3. 向量存储引擎 (Vector Store Engine)\n# ------------------------------------------------------------------------------\n# 引擎选择: postgres | elasticsearch\n# - postgres: 默认,使用 PGVector,无需额外服务\n# - elasticsearch: 启用 ES 混合检索 (需先启动 ES 服务)\n# docker compose -f docker-compose.dev.yml --profile es up\nVECTOR_STORE_TYPE=postgres\n\n# Elasticsearch 连接 (VECTOR_STORE_TYPE=elasticsearch 时取消注释)\n# ES_URL=http://elasticsearch:9200 # 容器内用服务名, 本地调试用 http://localhost:9200\n\n# ES 认证 (三选一, 开发环境 xpack.security.enabled=false 时可全部留空)\n# ES_API_KEY= # 优先级最高\n# ES_USERNAME= # Basic Auth 用户名\n# ES_PASSWORD= # Basic Auth 密码\n\n# ES TLS (生产 HTTPS 时配置)\n# ES_CA_CERTS=/path/to/ca.crt\n# ES_VERIFY_CERTS=true\n\n\n# ------------------------------------------------------------------------------\n# 4. Redis 缓存 (Redis Cache)\n# ------------------------------------------------------------------------------\nREDIS_ENABLED=true # 关闭则回退到内存缓存\nREDIS_URL=redis://redis:6379/0 # 容器内 redis:6379, 本地 localhost:6379\nREDIS_PREFIX=catwiki:\nCACHE_DEFAULT_TTL=300 # 默认缓存秒数\n\n\n# ------------------------------------------------------------------------------\n# 5. 安全 & CORS (Security & CORS)\n# ------------------------------------------------------------------------------\n# 🔒 生产环境必须改成强密钥 (生成: openssl rand -hex 32)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # JWT 有效期 (分钟,10080=7天)\n\n# CORS 允许的域名 (逗号分隔)\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n\n# ------------------------------------------------------------------------------\n# 6. 对象存储 (RustFS / S3 Compatible)\n# ------------------------------------------------------------------------------\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# 初始化专用 (仅 scripts/init_rustfs.py 首次启动建 bucket 时读取,与上面运行时凭据不同)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin # 🔒 生产环境务必修改\n\n# 外部可读访问链接\nRUSTFS_PUBLIC_URL=http://localhost:9000\nRUSTFS_PUBLIC_BUCKET=true\n\n\n# ------------------------------------------------------------------------------\n# 7. AI 模型服务 (OpenAI Compatible)\n# ------------------------------------------------------------------------------\n# 首次启动会自动同步进数据库的 AI 配置中,后续可在 UI 修改。\n\n# 7.1 Chat 对话\n# AI_CHAT_API_KEY=sk-xxxx\n# AI_CHAT_API_BASE=https://api.openai.com/v1\n# AI_CHAT_MODEL=gpt-4o\n# AI_CHAT_EXTRA_BODY= # 选填。关闭思考模式参考:\n# vLLM/SGLang (Qwen3/DeepSeek-R1/GLM-4.5): {\"chat_template_kwargs\": {\"enable_thinking\": false}}\n# 托管 API (DeepSeek/Kimi K2/豆包/GLM-4.6): {\"thinking\": {\"type\": \"disabled\"}}\n# 腾讯云 (混元Pro/T1): {\"enable_thinking\": false}\n# 全家桶 (不确定时全填,未识别参数会被忽略): {\"chat_template_kwargs\": {\"enable_thinking\": false}, \"thinking\": {\"type\": \"disabled\"}, \"enable_thinking\": false}\n\n# 7.2 Embedding 向量化\n# AI_EMBEDDING_API_KEY=sk-xxxx\n# AI_EMBEDDING_API_BASE=https://api.openai.com/v1\n# AI_EMBEDDING_MODEL=text-embedding-3-small\n# AI_EMBEDDING_DIMENSION=1536\n# AI_EMBEDDING_BATCH_SIZE=10 # 单次请求最大文本块数量\n\n# 7.3 Reranker 重排序 (是否启用见 §8 的 RAG_ENABLE_RERANK)\n# AI_RERANK_API_KEY=sk-xxxx\n# AI_RERANK_API_BASE=https://api.openai.com/v1\n# AI_RERANK_MODEL=bge-reranker-v2-m3\n\n# 7.4 视觉语言模型 (选填,处理图文混排时使用)\n# AI_VL_API_KEY=sk-xxxx\n# AI_VL_API_BASE=https://api.openai.com/v1\n# AI_VL_MODEL=gpt-4o-mini\n\n\n# ------------------------------------------------------------------------------\n# 8. RAG 检索调优 (Retrieval)\n# ------------------------------------------------------------------------------\nRAG_RECALL_K=50 # 向量召回数量\nRAG_RECALL_THRESHOLD=0.3 # 相似度阈值 (仅 postgres 引擎生效; ES 用 RRF 排名分,不适用绝对阈值)\nRAG_ENABLE_RERANK=true # 是否启用重排\nRAG_RERANK_TOP_K=5 # 最终给 AI 的结果数\nRAG_RECALL_MAX=100 # 召回硬上限 (10-200),性能保险丝,常规不调\n\n\n# ------------------------------------------------------------------------------\n# 9. Agent 行为调优 (Agent Behavior)\n# ------------------------------------------------------------------------------\nAGENT_MAX_ITERATIONS=5 # ReAct 最大迭代次数 (1-20)\nAGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空回复终止阈值 (1-10)\n\n# 长对话累积超过此消息数时,自动让 LLM 把早期对话压缩成一段摘要作为\"长期记忆\",\n# 后续轮次只带\"摘要 + 近期消息\"喂给模型,避免 token 随轮数线性膨胀。\n# 调小 = 更频繁压缩、上下文更精简但多出 LLM 调用;调大 = 保留更多原文细节但更费 token。\nAGENT_SUMMARY_TRIGGER_MSG_COUNT=10 # 范围 4-50\n\n\n# ------------------------------------------------------------------------------\n# 10. 文件上传限制 (Upload Limits)\n# ------------------------------------------------------------------------------\nUPLOAD_MAX_SIZE=314572800 # 单文件最大字节数 (默认 300MB)\nUPLOAD_ALLOWED_EXTENSIONS=jpg,jpeg,png,gif,webp,svg,pdf,doc,docx,xls,xlsx,ppt,pptx,txt,md,zip\n\n\n# ------------------------------------------------------------------------------\n# 11. 文档解析引擎 (DocProcessor)\n# ------------------------------------------------------------------------------\n# 首次启动会自动同步进数据库的解析器配置,后续可在 UI 修改。\n\n# 11.1 MinerU\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://localhost:8888\n# MINERU_API_KEY=NONE\n# MINERU_ENABLED=true\n\n# 11.2 Docling\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://localhost:8000\n# DOCLING_API_KEY=NONE\n# DOCLING_ENABLED=true\n\n# 11.3 PaddleOCR\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://localhost:8080\n# PADDLEOCR_API_KEY=NONE\n# PADDLEOCR_ENABLED=false\n\n\n# ------------------------------------------------------------------------------\n# 12. 任务队列 & Worker (Arq + Redis)\n# ------------------------------------------------------------------------------\n# 队列连接复用 §4 的 REDIS_URL;以下三项控制 worker 行为\nWORKER_MAX_TRIES=3 # 任务失败重试次数\nWORKER_JOB_TIMEOUT=600 # 单任务超时(秒),PDF 解析可能较慢\nWORKER_MAX_JOBS=10 # 单 worker 进程并发任务数\n\n\n# ------------------------------------------------------------------------------\n# 13. 配置覆盖控制 (Force Sync)\n# ------------------------------------------------------------------------------\n# 默认 false:仅\"首次启动且 DB 中无配置\"时把 §7/§11 的 env 写入 DB。\n# 改为 true:每次重启都用当前 env 覆盖 DB 中的对应配置(UI 改动会被还原)。\nFORCE_UPDATE_AI_CONFIG=false\nFORCE_UPDATE_DOC_PROCESSOR=false\n"}, "b70436cd8e64a3817ca4f5ca6f6cc38063cbb4d7": {"t": 1785773257.729047, "n": 7693, "h": "7d7110b484fb0cb0", "c": "# ==============================================================================\n# CatWiki Backend Environment Configuration Template (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: cp .env.example .env\n# 2. 按部署环境修改各项,🔒 标记的项必须修改\n# 3. 生产环境建议通过容器/CI 注入而非直接保存敏感值\n# ==============================================================================\n\n\n# ------------------------------------------------------------------------------\n# 1. 基础环境 (Basic Environment)\n# ------------------------------------------------------------------------------\nENVIRONMENT=prod # 运行环境: local | dev | prod\nDEBUG=false # 调试模式: true | false\nLOG_LEVEL=INFO # 日志级别: DEBUG | INFO | WARNING | ERROR | CRITICAL\nTZ=Asia/Shanghai # 系统时区\n\n# 版本与授权\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\"\nADMIN_API_V1_STR=\"/admin/v1\"\n\n\n# ------------------------------------------------------------------------------\n# 2. 数据库 (PostgreSQL + PGVector)\n# ------------------------------------------------------------------------------\nPOSTGRES_SERVER=postgres # Local 填 localhost, Docker 填 postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境务必修改\nDB_ECHO=false # 是否输出 SQL 执行记录\n\n# 连接池\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n\n# ------------------------------------------------------------------------------\n# 3. 向量存储引擎 (Vector Store Engine)\n# ------------------------------------------------------------------------------\n# 引擎选择: postgres | elasticsearch\n# - postgres: 默认,使用 PGVector,无需额外服务\n# - elasticsearch: 启用 ES 混合检索 (需先启动 ES 服务)\n# docker compose -f docker-compose.dev.yml --profile es up\nVECTOR_STORE_TYPE=postgres\n\n# Elasticsearch 连接 (VECTOR_STORE_TYPE=elasticsearch 时取消注释)\n# ES_URL=http://elasticsearch:9200 # 容器内用服务名, 本地调试用 http://localhost:9200\n\n# ES 认证 (三选一, 开发环境 xpack.security.enabled=false 时可全部留空)\n# ES_API_KEY= # 优先级最高\n# ES_USERNAME= # Basic Auth 用户名\n# ES_PASSWORD= # Basic Auth 密码\n\n# ES TLS (生产 HTTPS 时配置)\n# ES_CA_CERTS=/path/to/ca.crt\n# ES_VERIFY_CERTS=true\n\n\n# ------------------------------------------------------------------------------\n# 4. Redis 缓存 (Redis Cache)\n# ------------------------------------------------------------------------------\nREDIS_ENABLED=true # 关闭则回退到内存缓存\nREDIS_URL=redis://redis:6379/0 # 容器内 redis:6379, 本地 localhost:6379\nREDIS_PREFIX=catwiki:\nCACHE_DEFAULT_TTL=300 # 默认缓存秒数\n\n\n# ------------------------------------------------------------------------------\n# 5. 安全 & CORS (Security & CORS)\n# ------------------------------------------------------------------------------\n# 🔒 生产环境必须改成强密钥 (生成: openssl rand -hex 32)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # JWT 有效期 (分钟,10080=7天)\n\n# CORS 允许的域名 (逗号分隔)\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n\n# ------------------------------------------------------------------------------\n# 6. 对象存储 (RustFS / S3 Compatible)\n# ------------------------------------------------------------------------------\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# 初始化专用 (仅 scripts/init_rustfs.py 首次启动建 bucket 时读取,与上面运行时凭据不同)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin # 🔒 生产环境务必修改\n\n# 外部可读访问链接\nRUSTFS_PUBLIC_URL=http://localhost:9000\nRUSTFS_PUBLIC_BUCKET=true\n\n\n# ------------------------------------------------------------------------------\n# 7. AI 模型服务 (OpenAI Compatible)\n# ------------------------------------------------------------------------------\n# 首次启动会自动同步进数据库的 AI 配置中,后续可在 UI 修改。\n\n# 7.1 Chat 对话\n# AI_CHAT_API_KEY=sk-xxxx\n# AI_CHAT_API_BASE=https://api.openai.com/v1\n# AI_CHAT_MODEL=gpt-4o\n# AI_CHAT_EXTRA_BODY= # 选填。关闭思考模式参考:\n# vLLM/SGLang (Qwen3/DeepSeek-R1/GLM-4.5): {\"chat_template_kwargs\": {\"enable_thinking\": false}}\n# 托管 API (DeepSeek/Kimi K2/豆包/GLM-4.6): {\"thinking\": {\"type\": \"disabled\"}}\n# 腾讯云 (混元Pro/T1): {\"enable_thinking\": false}\n# 全家桶 (不确定时全填,未识别参数会被忽略): {\"chat_template_kwargs\": {\"enable_thinking\": false}, \"thinking\": {\"type\": \"disabled\"}, \"enable_thinking\": false}\n\n# 7.2 Embedding 向量化\n# AI_EMBEDDING_API_KEY=sk-xxxx\n# AI_EMBEDDING_API_BASE=https://api.openai.com/v1\n# AI_EMBEDDING_MODEL=text-embedding-3-small\n# AI_EMBEDDING_DIMENSION=1536\n# AI_EMBEDDING_BATCH_SIZE=10 # 单次请求最大文本块数量\n\n# 7.3 Reranker 重排序 (是否启用见 §8 的 RAG_ENABLE_RERANK)\n# AI_RERANK_API_KEY=sk-xxxx\n# AI_RERANK_API_BASE=https://api.openai.com/v1\n# AI_RERANK_MODEL=bge-reranker-v2-m3\n\n# 7.4 视觉语言模型 (选填,处理图文混排时使用)\n# AI_VL_API_KEY=sk-xxxx\n# AI_VL_API_BASE=https://api.openai.com/v1\n# AI_VL_MODEL=gpt-4o-mini\n\n\n# ------------------------------------------------------------------------------\n# 8. RAG 检索调优 (Retrieval)\n# ------------------------------------------------------------------------------\nRAG_RECALL_K=50 # 向量召回数量\nRAG_RECALL_THRESHOLD=0.3 # 相似度阈值 (仅 postgres 引擎生效; ES 用 RRF 排名分,不适用绝对阈值)\nRAG_ENABLE_RERANK=true # 是否启用重排\nRAG_RERANK_TOP_K=5 # 最终给 AI 的结果数\nRAG_RECALL_MAX=100 # 召回硬上限 (10-200),性能保险丝,常规不调\n\n\n# ------------------------------------------------------------------------------\n# 9. Agent 行为调优 (Agent Behavior)\n# ------------------------------------------------------------------------------\nAGENT_MAX_ITERATIONS=5 # ReAct 最大迭代次数 (1-20)\nAGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空回复终止阈值 (1-10)\n\n# 长对话累积超过此消息数时,自动让 LLM 把早期对话压缩成一段摘要作为\"长期记忆\",\n# 后续轮次只带\"摘要 + 近期消息\"喂给模型,避免 token 随轮数线性膨胀。\n# 调小 = 更频繁压缩、上下文更精简但多出 LLM 调用;调大 = 保留更多原文细节但更费 token。\nAGENT_SUMMARY_TRIGGER_MSG_COUNT=10 # 范围 4-50\n\n\n# ------------------------------------------------------------------------------\n# 10. 文件上传限制 (Upload Limits)\n# ------------------------------------------------------------------------------\nUPLOAD_MAX_SIZE=314572800 # 单文件最大字节数 (默认 300MB)\nUPLOAD_ALLOWED_EXTENSIONS=jpg,jpeg,png,gif,webp,svg,pdf,doc,docx,xls,xlsx,ppt,pptx,txt,md,zip\n\n\n# ------------------------------------------------------------------------------\n# 11. 文档解析引擎 (DocProcessor)\n# ------------------------------------------------------------------------------\n# 首次启动会自动同步进数据库的解析器配置,后续可在 UI 修改。\n\n# 11.1 MinerU\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://localhost:8888\n# MINERU_API_KEY=NONE\n# MINERU_ENABLED=true\n\n# 11.2 Docling\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://localhost:8000\n# DOCLING_API_KEY=NONE\n# DOCLING_ENABLED=true\n\n# 11.3 PaddleOCR\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://localhost:8080\n# PADDLEOCR_API_KEY=NONE\n# PADDLEOCR_ENABLED=false\n\n\n# ------------------------------------------------------------------------------\n# 12. 任务队列 & Worker (Arq + Redis)\n# ------------------------------------------------------------------------------\n# 队列连接复用 §4 的 REDIS_URL;以下三项控制 worker 行为\nWORKER_MAX_TRIES=3 # 任务失败重试次数\nWORKER_JOB_TIMEOUT=600 # 单任务超时(秒),PDF 解析可能较慢\nWORKER_MAX_JOBS=10 # 单 worker 进程并发任务数\n\n\n# ------------------------------------------------------------------------------\n# 13. 配置覆盖控制 (Force Sync)\n# ------------------------------------------------------------------------------\n# 默认 false:仅\"首次启动且 DB 中无配置\"时把 §7/§11 的 env 写入 DB。\n# 改为 true:每次重启都用当前 env 覆盖 DB 中的对应配置(UI 改动会被还原)。\nFORCE_UPDATE_AI_CONFIG=false\nFORCE_UPDATE_DOC_PROCESSOR=false\n"}, "162c099b9ba3c9d350ed1301caa315785f3b512a": {"t": 1785773259.2379177, "n": 4557, "h": "4186c0a19bfbcd30", "c": "# ==============================================================================\n# CatWiki Backend Environment Configuration Template (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: `cp .env.example .env`\n# 2. 根据实际部署环境修改各配置项\n# 3. 生产环境建议通过环境变量注入,而非直接修改此文件\n# ==============================================================================\n\n### 1. 基础环境配置 (Basic Environment)\nENVIRONMENT=prod # 运行环境: local, dev, prod\nDEBUG=false # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nTZ=Asia/Shanghai # 系统时区\n\n# 系统身份标识\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\"\nADMIN_API_V1_STR=\"/admin/v1\"\n\n### 2. 数据库配置 (PostgreSQL / PGVector)\nPOSTGRES_SERVER=postgres # Local 填 localhost, Docker 填 postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境务必修改!\nDB_ECHO=false # 是否输出 SQL 执行记录\n\n# 连接池调优\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n### 3. 向量存储引擎配置 (Vector Store Engine)\n# 引擎选择: postgres | elasticsearch\n# - postgres: 默认,使用 PGVector,无需额外服务\n# - elasticsearch: 启用 ES 混合检索 (需先启动 ES 服务)\n# docker compose -f docker-compose.dev.yml --profile es up\nVECTOR_STORE_TYPE=postgres\n\n# Elasticsearch 连接配置 (VECTOR_STORE_TYPE=elasticsearch 时取消注释并填写)\n# ES_URL=http://elasticsearch:9200 # Docker 内使用服务名, 本地调试改为 http://localhost:9200\n\n# 认证配置 (三选一, 开发环境 xpack.security.enabled=false 时可全部留空)\n# ES_API_KEY= # 优先级最高\n# ES_USERNAME= # Basic Auth 用户名\n# ES_PASSWORD= # Basic Auth 密码\n\n# TLS 配置 (生产环境启用 HTTPS 时配置)\n# ES_CA_CERTS=/path/to/ca.crt\n# ES_VERIFY_CERTS=true\n\n### 4. Redis 缓存配置 (Redis Cache)\nREDIS_ENABLED=true # 是否启用 Redis (若为 false 则回退到内存缓存)\nREDIS_URL=redis://redis:6379/0 # 容器内使用 redis:6379, 本地使用 localhost:6379\nREDIS_PREFIX=catwiki:\nCACHE_DEFAULT_TTL=300 # 默认缓存时间 (秒)\n\n### 5. 安全与访问控制 (Security & CORS)\n# 警告: 生产环境必须修改为强密钥 (建议使用: openssl rand -hex 32)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # 令牌有效期 (分钟)\n\n# CORS 允许的域名 (用逗号分隔)\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n### 6. 对象存储配置 (RustFS / S3 Compatible)\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改!\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# 对象存储初始化专有 (仅用于服务端首次启动创建 Bucket)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# 外部可读访问链接\nRUSTFS_PUBLIC_URL=http://localhost:9000\nRUSTFS_PUBLIC_BUCKET=true\n\n### 7. AI 模型服务配置 (OpenAI Compatible)\n# 首次启动会自动同步进数据库配置中。\n\n# 7.1 Chat 对话配置\n# AI_CHAT_API_KEY=sk-xxxx\n# AI_CHAT_API_BASE=https://api.openai.com/v1\n# AI_CHAT_MODEL=gpt-4o\n# AI_CHAT_EXTRA_BODY= # 额外 JSON 配置, 如 {\"enable_thinking\": true}\n\n# 7.2 Embedding 向量化配置\n# AI_EMBEDDING_API_KEY=sk-xxxx\n# AI_EMBEDDING_API_BASE=https://api.openai.com/v1\n# AI_EMBEDDING_MODEL=text-embedding-3-small\n# AI_EMBEDDING_DIMENSION=1536\n# AI_EMBEDDING_BATCH_SIZE=10 # 单次请求最大文本块数量\n\n# 7.3 Reranker 重排序配置\n# AI_RERANK_API_KEY=sk-xxxx\n# AI_RERANK_API_BASE=https://api.openai.com/v1\n# AI_RERANK_MODEL=bge-reranker-v2-m3\n\n### 8. RAG 检索与智能 Agent 调优\nRAG_RECALL_K=50 # 向量召回数量\nRAG_RECALL_THRESHOLD=0.3 # 相似度阈值 (仅 postgres 引擎生效; ES 使用 RRF 分数,不适用绝对阈值)\nRAG_ENABLE_RERANK=true # 是否启用重排\nRAG_RERANK_TOP_K=5 # 最终给 AI 的结果数\n\n# Agent 行为控制\nAGENT_MAX_ITERATIONS=5 # ReAct 最大迭代次数 (1-20)\nAGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空回复终止阈值 (1-10)\n\n### 9. 文档解析引擎配置 (DocProcessor)\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://localhost:8888\n# MINERU_API_KEY=NONE\n# MINERU_ENABLED=true\n\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://localhost:8000\n# DOCLING_API_KEY=NONE\n# DOCLING_ENABLED=true\n\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://localhost:8080\n# PADDLEOCR_API_KEY=NONE\n# PADDLEOCR_ENABLED=false\n\n### 10. 任务队列与 Worker 配置 (Async Tasks)\n# 向量化任务队列 (基于 Redis Streams)\nVECTORIZE_QUEUE_ENABLED=true\nVECTORIZE_QUEUE_STREAM=catwiki:vectorize\nVECTORIZE_QUEUE_GROUP=vectorize\nVECTORIZE_QUEUE_CONSUMER=\nVECTORIZE_MAX_RETRY=3\nVECTORIZE_VISIBILITY_TIMEOUT=60\n\n# Worker 运行模式 (多模式逗号分隔, 如: vectorize,cleanup,notify)\nWORKER_MODE=vectorize,cleanup,notify\n\n### 11. 配置覆盖控制\nFORCE_UPDATE_AI_CONFIG=false # 重启时是否用环境变量强制覆盖数据库 AI 配置\nFORCE_UPDATE_DOC_PROCESSOR=false # 重启时是否用环境变量强制覆盖数据库解析器配置\n"}, "2d59f67e3481aa8b251fae7f834024eb5fdb69a2": {"t": 1785773260.5404115, "n": 3851, "h": "e0db06d7e2a1178e", "c": "# ==============================================================================\n# CatWiki Backend Environment Configuration Template (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: `cp .env.example .env`\n# 2. 根据实际部署环境修改各配置项\n# 3. 生产环境建议通过环境变量注入,而非直接修改此文件\n# ==============================================================================\n\n### 1. 基础环境配置 (Basic Environment)\nENVIRONMENT=prod # 运行环境: local, dev, prod\nDEBUG=false # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nTZ=Asia/Shanghai # 系统时区\n\n# 系统身份标识\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\"\nADMIN_API_V1_STR=\"/admin/v1\"\n\n### 2. 数据库配置 (PostgreSQL / PGVector)\nPOSTGRES_SERVER=postgres # Local 填 localhost, Docker 填 postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境务必修改!\nDB_ECHO=false # 是否输出 SQL 执行记录\n\n# 连接池调优\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n### 3. Redis 缓存配置 (Redis Cache)\nREDIS_ENABLED=true # 是否启用 Redis (若为 false 则回退到内存缓存)\nREDIS_URL=redis://redis:6379/0 # 容器内使用 redis:6379, 本地使用 localhost:6379\nREDIS_PREFIX=catwiki:\nCACHE_DEFAULT_TTL=300 # 默认缓存时间 (秒)\n\n### 4. 安全与访问控制 (Security & CORS)\n# 警告: 生产环境必须修改为强密钥 (建议使用: openssl rand -hex 32)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # 令牌有效期 (分钟)\n\n# CORS 允许的域名 (用逗号分隔)\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n### 5. 对象存储配置 (RustFS / S3 Compatible)\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改!\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# 对象存储初始化专有 (仅用于服务端首次启动创建 Bucket)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# 外部可读访问链接\nRUSTFS_PUBLIC_URL=http://localhost:9000\nRUSTFS_PUBLIC_BUCKET=true\n\n### 6. AI 模型服务配置 (OpenAI Compatible)\n# 首次启动会自动同步进数据库配置中。\n\n# 6.1 Chat 对话配置\n# AI_CHAT_API_KEY=sk-xxxx\n# AI_CHAT_API_BASE=https://api.openai.com/v1\n# AI_CHAT_MODEL=gpt-4o\n# AI_CHAT_EXTRA_BODY= # 额外 JSON 配置, 如 {\"enable_thinking\": true}\n\n# 6.2 Embedding 向量化配置\n# AI_EMBEDDING_API_KEY=sk-xxxx\n# AI_EMBEDDING_API_BASE=https://api.openai.com/v1\n# AI_EMBEDDING_MODEL=text-embedding-3-small\n# AI_EMBEDDING_DIMENSION=1536\n# AI_EMBEDDING_BATCH_SIZE=10 # 单次请求最大文本块数量\n\n# 6.3 Reranker 重排序配置\n# AI_RERANK_ENABLE=true\n# AI_RERANK_API_KEY=sk-xxxx\n# AI_RERANK_API_BASE=https://api.openai.com/v1\n# AI_RERANK_MODEL=bge-reranker-v2-m3\n\n### 7. RAG 检索与智能 Agent 调优\nRAG_RECALL_K=50 # 向量召回数量\nRAG_RECALL_THRESHOLD=0.3 # 相似度阈值\nRAG_ENABLE_RERANK=true # 是否启用重排\nRAG_RERANK_TOP_K=5 # 最终给 AI 的结果数\n\n# Agent 行为控制\nAGENT_MAX_ITERATIONS=5 # ReAct 最大迭代次数 (1-20)\nAGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空回复终止阈值 (1-10)\n\n### 8. 文档解析引擎配置 (DocProcessor)\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://localhost:8888\n# MINERU_API_KEY=NONE\n# MINERU_ENABLED=true\n\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://localhost:8000\n# DOCLING_API_KEY=NONE\n# DOCLING_ENABLED=true\n\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://localhost:8080\n# PADDLEOCR_API_KEY=NONE\n# PADDLEOCR_ENABLED=false\n\n### 9. 任务队列与 Worker 配置 (Async Tasks)\n# 向量化任务队列 (基于 Redis Streams)\nVECTORIZE_QUEUE_ENABLED=true\nVECTORIZE_QUEUE_STREAM=catwiki:vectorize\nVECTORIZE_QUEUE_GROUP=vectorize\nVECTORIZE_QUEUE_CONSUMER=\nVECTORIZE_MAX_RETRY=3\nVECTORIZE_VISIBILITY_TIMEOUT=60\n\n# Worker 运行模式 (多模式逗号分隔, 如: vectorize,cleanup,notify)\nWORKER_MODE=vectorize,cleanup,notify\n\n### 10. 配置覆盖控制\nFORCE_UPDATE_AI_CONFIG=false # 重启时是否用环境变量强制覆盖数据库 AI 配置\nFORCE_UPDATE_DOC_PROCESSOR=false # 重启时是否用环境变量强制覆盖数据库解析器配置\n"}, "1b322887482f12b9c2890a767009a352ab3efcaa": {"t": 1785773261.8466525, "n": 3966, "h": "2abafe735ce3a940", "c": "# ==============================================================================\n# CatWiki Backend Environment Configuration Template (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: `cp .env.example .env`\n# 2. 根据实际部署环境修改各配置项\n# 3. 生产环境建议通过环境变量注入,而非直接修改此文件\n# ==============================================================================\n\n### 1. 基础环境配置 (Basic Environment)\nENVIRONMENT=prod # 运行环境: local, dev, prod\nDEBUG=false # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nTZ=Asia/Shanghai # 系统时区\n\n# 系统身份标识\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\"\nADMIN_API_V1_STR=\"/admin/v1\"\n\n### 2. 数据库配置 (PostgreSQL / PGVector)\nPOSTGRES_SERVER=postgres # Local 填 localhost, Docker 填 postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境务必修改!\nDB_ECHO=false # 是否输出 SQL 执行记录\n\n# 连接池调优\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n### 3. Redis 缓存配置 (Redis Cache)\nREDIS_ENABLED=true # 是否启用 Redis (若为 false 则回退到内存缓存)\nREDIS_URL=redis://redis:6379/0 # 容器内使用 redis:6379, 本地使用 localhost:6379\nREDIS_PREFIX=catwiki:\nCACHE_DEFAULT_TTL=300 # 默认缓存时间 (秒)\n\n### 4. 安全与访问控制 (Security & CORS)\n# 警告: 生产环境必须修改为强密钥 (建议使用: openssl rand -hex 32)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # 令牌有效期 (分钟)\n\n# CORS 允许的域名 (用逗号分隔)\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n### 5. 对象存储配置 (RustFS / S3 Compatible)\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改!\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# 对象存储初始化专有 (仅用于服务端首次启动创建 Bucket)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# 外部可读访问链接\nRUSTFS_PUBLIC_URL=http://localhost:9000\nRUSTFS_PUBLIC_BUCKET=true\n\n### 6. AI 模型服务配置 (OpenAI Compatible)\n# 首次启动会自动同步进数据库配置中。\n\n# 6.1 Chat 对话配置\n# AI_CHAT_API_KEY=sk-xxxx\n# AI_CHAT_API_BASE=https://api.openai.com/v1\n# AI_CHAT_MODEL=gpt-4o\n# AI_CHAT_EXTRA_BODY= # 额外 JSON 配置, 如 {\"enable_thinking\": true}\n\n# 6.2 Embedding 向量化配置\n# AI_EMBEDDING_API_KEY=sk-xxxx\n# AI_EMBEDDING_API_BASE=https://api.openai.com/v1\n# AI_EMBEDDING_MODEL=text-embedding-3-small\n# AI_EMBEDDING_DIMENSION=1536\n# AI_EMBEDDING_BATCH_SIZE=10 # 单次请求最大文本块数量\n\n# 6.3 Reranker 重排序配置\n# AI_RERANK_ENABLE=true\n# AI_RERANK_API_KEY=sk-xxxx\n# AI_RERANK_API_BASE=https://api.openai.com/v1\n# AI_RERANK_MODEL=bge-reranker-v2-m3\n\n# 6.4 VL 视觉对话配置 (选填)\n# AI_VL_API_KEY=sk-xxxx\n# AI_VL_API_BASE=https://api.openai.com/v1\n# AI_VL_MODEL=gpt-4o-mini\n\n### 7. RAG 检索与智能 Agent 调优\nRAG_RECALL_K=50 # 向量召回数量\nRAG_RECALL_THRESHOLD=0.3 # 相似度阈值\nRAG_ENABLE_RERANK=true # 是否启用重排\nRAG_RERANK_TOP_K=5 # 最终给 AI 的结果数\n\n# Agent 行为控制\nAGENT_MAX_ITERATIONS=5 # ReAct 最大迭代次数 (1-20)\nAGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空回复终止阈值 (1-10)\n\n### 8. 文档解析引擎配置 (DocProcessor)\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://localhost:8888\n# MINERU_API_KEY=NONE\n# MINERU_ENABLED=true\n\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://localhost:8000\n# DOCLING_API_KEY=NONE\n# DOCLING_ENABLED=true\n\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://localhost:8080\n# PADDLEOCR_API_KEY=NONE\n# PADDLEOCR_ENABLED=false\n\n### 9. 任务队列与 Worker 配置 (Async Tasks)\n# 向量化任务队列 (基于 Redis Streams)\nVECTORIZE_QUEUE_ENABLED=true\nVECTORIZE_QUEUE_STREAM=catwiki:vectorize\nVECTORIZE_QUEUE_GROUP=vectorize\nVECTORIZE_QUEUE_CONSUMER=\nVECTORIZE_MAX_RETRY=3\nVECTORIZE_VISIBILITY_TIMEOUT=60\n\n# Worker 运行模式 (多模式逗号分隔, 如: vectorize,cleanup,notify)\nWORKER_MODE=vectorize,cleanup,notify\n\n### 10. 配置覆盖控制\nFORCE_UPDATE_AI_CONFIG=false # 重启时是否用环境变量强制覆盖数据库 AI 配置\nFORCE_UPDATE_DOC_PROCESSOR=false # 重启时是否用环境变量强制覆盖数据库解析器配置\n"}, "b6695f5a6c7992ca16023bcf521e2ad4c8a34c43": {"t": 1785773264.1032534, "n": 3990, "h": "3b0d6479162fd319", "c": "# ==============================================================================\n# CatWiki Backend Environment Configuration Template (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: `cp .env.example .env`\n# 2. 根据实际部署环境修改各配置项\n# 3. 生产环境建议通过环境变量注入,而非直接修改此文件\n# ==============================================================================\n\n### 1. 基础环境配置 (Basic Environment)\nENVIRONMENT=prod # 运行环境: local, dev, prod\nDEBUG=false # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nTZ=Asia/Shanghai # 系统时区\n\n# 系统身份标识\nDOCKER_IMAGE_TAG=v1.0.2\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\"\nADMIN_API_V1_STR=\"/admin/v1\"\n\n### 2. 数据库配置 (PostgreSQL / PGVector)\nPOSTGRES_SERVER=postgres # Local 填 localhost, Docker 填 postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境务必修改!\nDB_ECHO=false # 是否输出 SQL 执行记录\n\n# 连接池调优\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n### 3. Redis 缓存配置 (Redis Cache)\nREDIS_ENABLED=true # 是否启用 Redis (若为 false 则回退到内存缓存)\nREDIS_URL=redis://redis:6379/0 # 容器内使用 redis:6379, 本地使用 localhost:6379\nREDIS_PREFIX=catwiki:\nCACHE_DEFAULT_TTL=300 # 默认缓存时间 (秒)\n\n### 4. 安全与访问控制 (Security & CORS)\n# 警告: 生产环境必须修改为强密钥 (建议使用: openssl rand -hex 32)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # 令牌有效期 (分钟)\n\n# CORS 允许的域名 (用逗号分隔)\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n### 5. 对象存储配置 (RustFS / S3 Compatible)\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改!\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# 对象存储初始化专有 (仅用于服务端首次启动创建 Bucket)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# 外部可读访问链接\nRUSTFS_PUBLIC_URL=http://localhost:9000\nRUSTFS_PUBLIC_BUCKET=true\n\n### 6. AI 模型服务配置 (OpenAI Compatible)\n# 首次启动会自动同步进数据库配置中。\n\n# 6.1 Chat 对话配置\n# AI_CHAT_API_KEY=sk-xxxx\n# AI_CHAT_API_BASE=https://api.openai.com/v1\n# AI_CHAT_MODEL=gpt-4o\n# AI_CHAT_EXTRA_BODY= # 额外 JSON 配置, 如 {\"enable_thinking\": true}\n\n# 6.2 Embedding 向量化配置\n# AI_EMBEDDING_API_KEY=sk-xxxx\n# AI_EMBEDDING_API_BASE=https://api.openai.com/v1\n# AI_EMBEDDING_MODEL=text-embedding-3-small\n# AI_EMBEDDING_DIMENSION=1536\n# AI_EMBEDDING_BATCH_SIZE=10 # 单次请求最大文本块数量\n\n# 6.3 Reranker 重排序配置\n# AI_RERANK_ENABLE=true\n# AI_RERANK_API_KEY=sk-xxxx\n# AI_RERANK_API_BASE=https://api.openai.com/v1\n# AI_RERANK_MODEL=bge-reranker-v2-m3\n\n# 6.4 VL 视觉对话配置 (选填)\n# AI_VL_API_KEY=sk-xxxx\n# AI_VL_API_BASE=https://api.openai.com/v1\n# AI_VL_MODEL=gpt-4o-mini\n\n### 7. RAG 检索与智能 Agent 调优\nRAG_RECALL_K=50 # 向量召回数量\nRAG_RECALL_THRESHOLD=0.3 # 相似度阈值\nRAG_ENABLE_RERANK=true # 是否启用重排\nRAG_RERANK_TOP_K=5 # 最终给 AI 的结果数\n\n# Agent 行为控制\nAGENT_MAX_ITERATIONS=5 # ReAct 最大迭代次数 (1-20)\nAGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空回复终止阈值 (1-10)\n\n### 8. 文档解析引擎配置 (DocProcessor)\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://localhost:8888\n# MINERU_API_KEY=NONE\n# MINERU_ENABLED=true\n\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://localhost:8000\n# DOCLING_API_KEY=NONE\n# DOCLING_ENABLED=true\n\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://localhost:8080\n# PADDLEOCR_API_KEY=NONE\n# PADDLEOCR_ENABLED=false\n\n### 9. 任务队列与 Worker 配置 (Async Tasks)\n# 向量化任务队列 (基于 Redis Streams)\nVECTORIZE_QUEUE_ENABLED=true\nVECTORIZE_QUEUE_STREAM=catwiki:vectorize\nVECTORIZE_QUEUE_GROUP=vectorize\nVECTORIZE_QUEUE_CONSUMER=\nVECTORIZE_MAX_RETRY=3\nVECTORIZE_VISIBILITY_TIMEOUT=60\n\n# Worker 运行模式 (多模式逗号分隔, 如: vectorize,cleanup,notify)\nWORKER_MODE=vectorize,cleanup,notify\n\n### 10. 配置覆盖控制\nFORCE_UPDATE_AI_CONFIG=false # 重启时是否用环境变量强制覆盖数据库 AI 配置\nFORCE_UPDATE_DOC_PROCESSOR=false # 重启时是否用环境变量强制覆盖数据库解析器配置\n"}, "bcdaa4d03ef766a22a73d8c3ea4b7dd7f03ea1d2": {"t": 1785773265.3530657, "n": 3990, "h": "caab54ab93afeba3", "c": "# ==============================================================================\n# CatWiki Backend Environment Configuration Template (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: `cp .env.example .env`\n# 2. 根据实际部署环境修改各配置项\n# 3. 生产环境建议通过环境变量注入,而非直接修改此文件\n# ==============================================================================\n\n### 1. 基础环境配置 (Basic Environment)\nENVIRONMENT=local # 运行环境: local, dev, prod\nDEBUG=true # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nTZ=Asia/Shanghai # 系统时区\n\n# 系统身份标识\nDOCKER_IMAGE_TAG=v1.0.2\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\"\nADMIN_API_V1_STR=\"/admin/v1\"\n\n### 2. 数据库配置 (PostgreSQL / PGVector)\nPOSTGRES_SERVER=postgres # Local 填 localhost, Docker 填 postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境务必修改!\nDB_ECHO=false # 是否输出 SQL 执行记录\n\n# 连接池调优\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n### 3. Redis 缓存配置 (Redis Cache)\nREDIS_ENABLED=true # 是否启用 Redis (若为 false 则回退到内存缓存)\nREDIS_URL=redis://redis:6379/0 # 容器内使用 redis:6379, 本地使用 localhost:6379\nREDIS_PREFIX=catwiki:\nCACHE_DEFAULT_TTL=300 # 默认缓存时间 (秒)\n\n### 4. 安全与访问控制 (Security & CORS)\n# 警告: 生产环境必须修改为强密钥 (建议使用: openssl rand -hex 32)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # 令牌有效期 (分钟)\n\n# CORS 允许的域名 (用逗号分隔)\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n### 5. 对象存储配置 (RustFS / S3 Compatible)\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改!\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# 对象存储初始化专有 (仅用于服务端首次启动创建 Bucket)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# 外部可读访问链接\nRUSTFS_PUBLIC_URL=http://localhost:9000\nRUSTFS_PUBLIC_BUCKET=true\n\n### 6. AI 模型服务配置 (OpenAI Compatible)\n# 首次启动会自动同步进数据库配置中。\n\n# 6.1 Chat 对话配置\n# AI_CHAT_API_KEY=sk-xxxx\n# AI_CHAT_API_BASE=https://api.openai.com/v1\n# AI_CHAT_MODEL=gpt-4o\n# AI_CHAT_EXTRA_BODY= # 额外 JSON 配置, 如 {\"enable_thinking\": true}\n\n# 6.2 Embedding 向量化配置\n# AI_EMBEDDING_API_KEY=sk-xxxx\n# AI_EMBEDDING_API_BASE=https://api.openai.com/v1\n# AI_EMBEDDING_MODEL=text-embedding-3-small\n# AI_EMBEDDING_DIMENSION=1536\n# AI_EMBEDDING_BATCH_SIZE=10 # 单次请求最大文本块数量\n\n# 6.3 Reranker 重排序配置\n# AI_RERANK_ENABLE=true\n# AI_RERANK_API_KEY=sk-xxxx\n# AI_RERANK_API_BASE=https://api.openai.com/v1\n# AI_RERANK_MODEL=bge-reranker-v2-m3\n\n# 6.4 VL 视觉对话配置 (选填)\n# AI_VL_API_KEY=sk-xxxx\n# AI_VL_API_BASE=https://api.openai.com/v1\n# AI_VL_MODEL=gpt-4o-mini\n\n### 7. RAG 检索与智能 Agent 调优\nRAG_RECALL_K=50 # 向量召回数量\nRAG_RECALL_THRESHOLD=0.3 # 相似度阈值\nRAG_ENABLE_RERANK=true # 是否启用重排\nRAG_RERANK_TOP_K=5 # 最终给 AI 的结果数\n\n# Agent 行为控制\nAGENT_MAX_ITERATIONS=5 # ReAct 最大迭代次数 (1-20)\nAGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空回复终止阈值 (1-10)\n\n### 8. 文档解析引擎配置 (DocProcessor)\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://localhost:8888\n# MINERU_API_KEY=NONE\n# MINERU_ENABLED=true\n\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://localhost:8000\n# DOCLING_API_KEY=NONE\n# DOCLING_ENABLED=true\n\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://localhost:8080\n# PADDLEOCR_API_KEY=NONE\n# PADDLEOCR_ENABLED=false\n\n### 9. 任务队列与 Worker 配置 (Async Tasks)\n# 向量化任务队列 (基于 Redis Streams)\nVECTORIZE_QUEUE_ENABLED=true\nVECTORIZE_QUEUE_STREAM=catwiki:vectorize\nVECTORIZE_QUEUE_GROUP=vectorize\nVECTORIZE_QUEUE_CONSUMER=\nVECTORIZE_MAX_RETRY=3\nVECTORIZE_VISIBILITY_TIMEOUT=60\n\n# Worker 运行模式 (多模式逗号分隔, 如: vectorize,cleanup,notify)\nWORKER_MODE=vectorize,cleanup,notify\n\n### 10. 配置覆盖控制\nFORCE_UPDATE_AI_CONFIG=false # 重启时是否用环境变量强制覆盖数据库 AI 配置\nFORCE_UPDATE_DOC_PROCESSOR=false # 重启时是否用环境变量强制覆盖数据库解析器配置\n"}, "76a4d4c2e23bc14e131c92f2dd31290f0f60ed40": {"t": 1785773266.5294933, "n": 3123, "h": "f2092a526c8e3d9b", "c": "# ==============================================================================\n# CatWiki Backend Environment Configuration Template (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: `cp .env.example .env`\n# 2. 根据实际部署环境修改各配置项\n# 3. 生产环境建议通过环境变量注入,而非直接修改此文件\n# ==============================================================================\n\n### 1. 基础环境配置 (Basic Environment)\nENVIRONMENT=local # 运行环境: local, dev, prod\nDEBUG=true # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nTZ=Asia/Shanghai # 系统时区\n\n# 系统身份标识\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\"\nADMIN_API_V1_STR=\"/admin/v1\"\n\n### 2. 数据库配置 (PostgreSQL / PGVector)\nPOSTGRES_SERVER=postgres # Local 填 localhost, Docker 填 postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境务必修改!\nDB_ECHO=false # 是否输出 SQL 执行记录\n\n# 连接池调优\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n### 3. Redis 缓存配置 (Redis Cache)\nREDIS_ENABLED=false # 是否启用 Redis (若为 false 则回退到内存缓存)\nREDIS_URL=redis://redis:6379/0 # 容器内使用 redis:6379, 本地使用 localhost:6379\nREDIS_PREFIX=catwiki:\nCACHE_DEFAULT_TTL=300 # 默认缓存时间 (秒)\n\n### 4. 安全与访问控制 (Security & CORS)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # 令牌有效期 (分钟)\n\n# CORS 允许的域名 (用逗号分隔)\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n### 4. 对象存储配置 (RustFS / S3 Compatible)\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改!\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# 对象存储初始化专有\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# 外部可读访问链接\nRUSTFS_PUBLIC_URL=http://localhost:9000\nRUSTFS_PUBLIC_BUCKET=true\n\n### 5. AI 模型服务配置 (OpenAI Compatible)\n# 首次启动会自动同步进数据库配置中。\n\n# 5.1 Chat 对话\n# AI_CHAT_API_KEY=sk-xxxx\n# AI_CHAT_API_BASE=https://api.openai.com/v1\n# AI_CHAT_MODEL=gpt-4o\n\n# 5.2 Embedding 向量化\n# AI_EMBEDDING_API_KEY=sk-xxxx\n# AI_EMBEDDING_API_BASE=https://api.openai.com/v1\n# AI_EMBEDDING_MODEL=text-embedding-3-small\n# AI_EMBEDDING_DIMENSION=1536\n\n# 5.3 Reranker 重排序\n# AI_RERANK_API_KEY=sk-xxxx\n# AI_RERANK_API_BASE=https://api.rerank.com/v1\n# AI_RERANK_MODEL=bge-reranker-v2-m3\n\n### 6. RAG 检索与智能 Agent 调优\nRAG_RECALL_K=50 # 向量召回数量\nRAG_RECALL_THRESHOLD=0.3 # 相似度阈值\nRAG_ENABLE_RERANK=true # 是否启用重排\nRAG_RERANK_TOP_K=5 # 最终给 AI 的结果数\n\n# Agent 行为控制\nAGENT_MAX_ITERATIONS=5 # ReAct 最大迭代次数\nAGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空回复终止阈值\n\n### 7. 文档解析引擎配置 (DocProcessor)\n# MINERU_ENABLED=true\n# MINERU_BASE_URL=http://localhost:8888\n# DOCLING_ENABLED=true\n# DOCLING_BASE_URL=http://localhost:8000\n# PADDLEOCR_ENABLED=false\n# PADDLEOCR_BASE_URL=http://localhost:8080\n\n### 8. 配置覆盖控制\nFORCE_UPDATE_AI_CONFIG=false # 重启时是否用环境变量强制覆盖数据库 AI 配置\nFORCE_UPDATE_DOC_PROCESSOR=false # 重启时是否用环境变量强制覆盖数据库解析器配置\n"}, "a18137e1b59b24d7a0a37fba5d96bc65d392d8a3": {"t": 1785773268.1485708, "n": 3177, "h": "b9306c50b4c6283f", "c": "# ==============================================================================\n# CatWiki Backend Environment Configuration Template (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: `cp .env.example .env`\n# 2. 根据实际部署环境修改各配置项\n# 3. 生产环境建议通过环境变量注入,而非直接修改此文件\n# ==============================================================================\n\n### 1. 基础环境配置 (Basic Environment)\nENVIRONMENT=local # 运行环境: local, dev, prod\nDEBUG=true # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nTZ=Asia/Shanghai # 系统时区\n\n# 系统身份标识\nPROJECT_NAME=\"CatWiki API\"\nDESCRIPTION=\"CatWiki 后端服务\"\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\"\nADMIN_API_V1_STR=\"/admin/v1\"\n\n### 2. 数据库配置 (PostgreSQL / PGVector)\nPOSTGRES_SERVER=postgres # Local 填 localhost, Docker 填 postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境务必修改!\nDB_ECHO=false # 是否输出 SQL 执行记录\n\n# 连接池调优\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n### 3. Redis 缓存配置 (Redis Cache)\nREDIS_ENABLED=false # 是否启用 Redis (若为 false 则回退到内存缓存)\nREDIS_URL=redis://redis:6379/0 # 容器内使用 redis:6379, 本地使用 localhost:6379\nREDIS_PREFIX=catwiki:\nCACHE_DEFAULT_TTL=300 # 默认缓存时间 (秒)\n\n### 4. 安全与访问控制 (Security & CORS)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # 令牌有效期 (分钟)\n\n# CORS 允许的域名 (用逗号分隔)\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n### 4. 对象存储配置 (RustFS / S3 Compatible)\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改!\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# 对象存储初始化专有\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# 外部可读访问链接\nRUSTFS_PUBLIC_URL=http://localhost:9000\nRUSTFS_PUBLIC_BUCKET=true\n\n### 5. AI 模型服务配置 (OpenAI Compatible)\n# 首次启动会自动同步进数据库配置中。\n\n# 5.1 Chat 对话\n# AI_CHAT_API_KEY=sk-xxxx\n# AI_CHAT_API_BASE=https://api.openai.com/v1\n# AI_CHAT_MODEL=gpt-4o\n\n# 5.2 Embedding 向量化\n# AI_EMBEDDING_API_KEY=sk-xxxx\n# AI_EMBEDDING_API_BASE=https://api.openai.com/v1\n# AI_EMBEDDING_MODEL=text-embedding-3-small\n# AI_EMBEDDING_DIMENSION=1536\n\n# 5.3 Reranker 重排序\n# AI_RERANK_API_KEY=sk-xxxx\n# AI_RERANK_API_BASE=https://api.rerank.com/v1\n# AI_RERANK_MODEL=bge-reranker-v2-m3\n\n### 6. RAG 检索与智能 Agent 调优\nRAG_RECALL_K=50 # 向量召回数量\nRAG_RECALL_THRESHOLD=0.3 # 相似度阈值\nRAG_ENABLE_RERANK=true # 是否启用重排\nRAG_RERANK_TOP_K=5 # 最终给 AI 的结果数\n\n# Agent 行为控制\nAGENT_MAX_ITERATIONS=5 # ReAct 最大迭代次数\nAGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空回复终止阈值\n\n### 7. 文档解析引擎配置 (DocProcessor)\n# MINERU_ENABLED=true\n# MINERU_BASE_URL=http://localhost:8888\n# DOCLING_ENABLED=true\n# DOCLING_BASE_URL=http://localhost:8000\n# PADDLEOCR_ENABLED=false\n# PADDLEOCR_BASE_URL=http://localhost:8080\n\n### 8. 配置覆盖控制\nFORCE_UPDATE_AI_CONFIG=false # 重启时是否用环境变量强制覆盖数据库 AI 配置\nFORCE_UPDATE_DOC_PROCESSOR=false # 重启时是否用环境变量强制覆盖数据库解析器配置\n"}, "29fd00cfdb17ca56ecb177d279823f71f94a121f": {"t": 1785773269.448315, "n": 2943, "h": "40e568a3f6648b93", "c": "# ==============================================================================\n# CatWiki Backend Environment Configuration Template (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: `cp .env.example .env`\n# 2. 根据实际部署环境修改各配置项\n# 3. 生产环境建议通过环境变量注入,而非直接修改此文件\n# ==============================================================================\n\n### 1. 基础环境配置 (Basic Environment)\nENVIRONMENT=local # 运行环境: local, dev, prod\nDEBUG=true # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nTZ=Asia/Shanghai # 系统时区\n\n# 系统身份标识\nPROJECT_NAME=\"CatWiki API\"\nDESCRIPTION=\"CatWiki 后端服务\"\nVERSION=1.0.1\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\"\nADMIN_API_V1_STR=\"/admin/v1\"\n\n### 2. 数据库配置 (PostgreSQL / PGVector)\nPOSTGRES_SERVER=postgres # Local 填 localhost, Docker 填 postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境务必修改!\nDB_ECHO=false # 是否输出 SQL 执行记录\n\n# 连接池调优\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n### 3. 安全与访问控制 (Security & CORS)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # 令牌有效期 (分钟)\n\n# CORS 允许的域名 (用逗号分隔)\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n### 4. 对象存储配置 (RustFS / S3 Compatible)\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改!\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# 对象存储初始化专有\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# 外部可读访问链接\nRUSTFS_PUBLIC_URL=http://localhost:9000\nRUSTFS_PUBLIC_BUCKET=true\n\n### 5. AI 模型服务配置 (OpenAI Compatible)\n# 首次启动会自动同步进数据库配置中。\n\n# 5.1 Chat 对话\n# AI_CHAT_API_KEY=sk-xxxx\n# AI_CHAT_API_BASE=https://api.openai.com/v1\n# AI_CHAT_MODEL=gpt-4o\n\n# 5.2 Embedding 向量化\n# AI_EMBEDDING_API_KEY=sk-xxxx\n# AI_EMBEDDING_API_BASE=https://api.openai.com/v1\n# AI_EMBEDDING_MODEL=text-embedding-3-small\n# AI_EMBEDDING_DIMENSION=1536\n\n# 5.3 Reranker 重排序\n# AI_RERANK_API_KEY=sk-xxxx\n# AI_RERANK_API_BASE=https://api.rerank.com/v1\n# AI_RERANK_MODEL=bge-reranker-v2-m3\n\n### 6. RAG 检索与智能 Agent 调优\nRAG_RECALL_K=50 # 向量召回数量\nRAG_RECALL_THRESHOLD=0.3 # 相似度阈值\nRAG_ENABLE_RERANK=true # 是否启用重排\nRAG_RERANK_TOP_K=5 # 最终给 AI 的结果数\n\n# Agent 行为控制\nAGENT_MAX_ITERATIONS=5 # ReAct 最大迭代次数\nAGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空回复终止阈值\n\n### 7. 文档解析引擎配置 (DocProcessor)\n# MINERU_ENABLED=true\n# MINERU_BASE_URL=http://localhost:8888\n# DOCLING_ENABLED=true\n# DOCLING_BASE_URL=http://localhost:8000\n# PADDLEOCR_ENABLED=false\n# PADDLEOCR_BASE_URL=http://localhost:8080\n\n### 8. 配置覆盖控制\nFORCE_UPDATE_AI_CONFIG=false # 重启时是否用环境变量强制覆盖数据库 AI 配置\nFORCE_UPDATE_DOC_PROCESSOR=false # 重启时是否用环境变量强制覆盖数据库解析器配置\n"}, "3ff12c070d9d7df0ffaedb2ccb31432a6d319d25": {"t": 1785773270.775701, "n": 2943, "h": "35937993345b5373", "c": "# ==============================================================================\n# CatWiki Backend Environment Configuration Template (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: `cp .env.example .env`\n# 2. 根据实际部署环境修改各配置项\n# 3. 生产环境建议通过环境变量注入,而非直接修改此文件\n# ==============================================================================\n\n### 1. 基础环境配置 (Basic Environment)\nENVIRONMENT=local # 运行环境: local, dev, prod\nDEBUG=true # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nTZ=Asia/Shanghai # 系统时区\n\n# 系统身份标识\nPROJECT_NAME=\"CatWiki API\"\nDESCRIPTION=\"CatWiki 后端服务\"\nVERSION=1.0.0\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\"\nADMIN_API_V1_STR=\"/admin/v1\"\n\n### 2. 数据库配置 (PostgreSQL / PGVector)\nPOSTGRES_SERVER=postgres # Local 填 localhost, Docker 填 postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境务必修改!\nDB_ECHO=false # 是否输出 SQL 执行记录\n\n# 连接池调优\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n### 3. 安全与访问控制 (Security & CORS)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # 令牌有效期 (分钟)\n\n# CORS 允许的域名 (用逗号分隔)\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n### 4. 对象存储配置 (RustFS / S3 Compatible)\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改!\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# 对象存储初始化专有\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# 外部可读访问链接\nRUSTFS_PUBLIC_URL=http://localhost:9000\nRUSTFS_PUBLIC_BUCKET=true\n\n### 5. AI 模型服务配置 (OpenAI Compatible)\n# 首次启动会自动同步进数据库配置中。\n\n# 5.1 Chat 对话\n# AI_CHAT_API_KEY=sk-xxxx\n# AI_CHAT_API_BASE=https://api.openai.com/v1\n# AI_CHAT_MODEL=gpt-4o\n\n# 5.2 Embedding 向量化\n# AI_EMBEDDING_API_KEY=sk-xxxx\n# AI_EMBEDDING_API_BASE=https://api.openai.com/v1\n# AI_EMBEDDING_MODEL=text-embedding-3-small\n# AI_EMBEDDING_DIMENSION=1536\n\n# 5.3 Reranker 重排序\n# AI_RERANK_API_KEY=sk-xxxx\n# AI_RERANK_API_BASE=https://api.rerank.com/v1\n# AI_RERANK_MODEL=bge-reranker-v2-m3\n\n### 6. RAG 检索与智能 Agent 调优\nRAG_RECALL_K=50 # 向量召回数量\nRAG_RECALL_THRESHOLD=0.3 # 相似度阈值\nRAG_ENABLE_RERANK=true # 是否启用重排\nRAG_RERANK_TOP_K=5 # 最终给 AI 的结果数\n\n# Agent 行为控制\nAGENT_MAX_ITERATIONS=5 # ReAct 最大迭代次数\nAGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空回复终止阈值\n\n### 7. 文档解析引擎配置 (DocProcessor)\n# MINERU_ENABLED=true\n# MINERU_BASE_URL=http://localhost:8888\n# DOCLING_ENABLED=true\n# DOCLING_BASE_URL=http://localhost:8000\n# PADDLEOCR_ENABLED=false\n# PADDLEOCR_BASE_URL=http://localhost:8080\n\n### 8. 配置覆盖控制\nFORCE_UPDATE_AI_CONFIG=false # 重启时是否用环境变量强制覆盖数据库 AI 配置\nFORCE_UPDATE_DOC_PROCESSOR=false # 重启时是否用环境变量强制覆盖数据库解析器配置\n"}, "380ece7ee7662c94f660c9d8680e7df9c5d6835e": {"t": 1785773272.9303136, "n": 3052, "h": "03bc26f05cb031bb", "c": "# ==============================================================================\n# CatWiki Backend Environment Configuration Template (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: `cp .env.example .env`\n# 2. 根据实际部署环境修改各配置项\n# 3. 生产环境建议通过环境变量注入,而非直接修改此文件\n# ==============================================================================\n\n### 1. 基础环境配置 (Basic Environment)\nENVIRONMENT=local # 运行环境: local, dev, prod\nDEBUG=true # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nTZ=Asia/Shanghai # 系统时区\n\n# 系统身份标识\nPROJECT_NAME=\"CatWiki API\"\nDESCRIPTION=\"CatWiki 后端服务\"\nVERSION=1.0.0\nCATWIKI_EDITION=community # community | enterprise\nCATWIKI_LICENSE_KEY= # 企业版许可证 (选填)\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\"\nADMIN_API_V1_STR=\"/admin/v1\"\n\n### 2. 数据库配置 (PostgreSQL / PGVector)\nPOSTGRES_SERVER=postgres # Local 填 localhost, Docker 填 postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境务必修改!\nDB_ECHO=false # 是否输出 SQL 执行记录\n\n# 连接池调优\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n### 3. 安全与访问控制 (Security & CORS)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # 令牌有效期 (分钟)\n\n# CORS 允许的域名 (用逗号分隔)\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n### 4. 对象存储配置 (RustFS / S3 Compatible)\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改!\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# 对象存储初始化专有\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# 外部可读访问链接\nRUSTFS_PUBLIC_URL=http://localhost:9000\nRUSTFS_PUBLIC_BUCKET=true\n\n### 5. AI 模型服务配置 (OpenAI Compatible)\n# 首次启动会自动同步进数据库配置中。\n\n# 5.1 Chat 对话\n# AI_CHAT_API_KEY=sk-xxxx\n# AI_CHAT_API_BASE=https://api.openai.com/v1\n# AI_CHAT_MODEL=gpt-4o\n\n# 5.2 Embedding 向量化\n# AI_EMBEDDING_API_KEY=sk-xxxx\n# AI_EMBEDDING_API_BASE=https://api.openai.com/v1\n# AI_EMBEDDING_MODEL=text-embedding-3-small\n# AI_EMBEDDING_DIMENSION=1536\n\n# 5.3 Reranker 重排序\n# AI_RERANK_API_KEY=sk-xxxx\n# AI_RERANK_API_BASE=https://api.rerank.com/v1\n# AI_RERANK_MODEL=bge-reranker-v2-m3\n\n### 6. RAG 检索与智能 Agent 调优\nRAG_RECALL_K=50 # 向量召回数量\nRAG_RECALL_THRESHOLD=0.3 # 相似度阈值\nRAG_ENABLE_RERANK=true # 是否启用重排\nRAG_RERANK_TOP_K=5 # 最终给 AI 的结果数\n\n# Agent 行为控制\nAGENT_MAX_ITERATIONS=5 # ReAct 最大迭代次数\nAGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空回复终止阈值\n\n### 7. 文档解析引擎配置 (DocProcessor)\n# MINERU_ENABLED=true\n# MINERU_BASE_URL=http://localhost:8888\n# DOCLING_ENABLED=true\n# DOCLING_BASE_URL=http://localhost:8000\n# PADDLEOCR_ENABLED=false\n# PADDLEOCR_BASE_URL=http://localhost:8080\n\n### 8. 配置覆盖控制\nFORCE_UPDATE_AI_CONFIG=false # 重启时是否用环境变量强制覆盖数据库 AI 配置\nFORCE_UPDATE_DOC_PROCESSOR=false # 重启时是否用环境变量强制覆盖数据库解析器配置\n"}, "a35247912ba05011e9b7a95f8356a68feadfff4c": {"t": 1785773274.406931, "n": 3054, "h": "f267b27ec9ecc417", "c": "# ==============================================================================\n# CatWiki Backend Environment Configuration Template (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: `cp .env.example .env`\n# 2. 根据实际部署环境修改各配置项\n# 3. 生产环境建议通过环境变量注入,而非直接修改此文件\n# ==============================================================================\n\n### 1. 基础环境配置 (Basic Environment)\nENVIRONMENT=local # 运行环境: local, dev, prod\nDEBUG=true # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nTZ=Asia/Shanghai # 系统时区\n\n# 系统身份标识\nPROJECT_NAME=\"CatWiki API\"\nDESCRIPTION=\"CatWiki 后端服务\"\nVERSION=\"0.0.4\"\nCATWIKI_EDITION=community # community | enterprise\nCATWIKI_LICENSE_KEY= # 企业版许可证 (选填)\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\"\nADMIN_API_V1_STR=\"/admin/v1\"\n\n### 2. 数据库配置 (PostgreSQL / PGVector)\nPOSTGRES_SERVER=postgres # Local 填 localhost, Docker 填 postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境务必修改!\nDB_ECHO=false # 是否输出 SQL 执行记录\n\n# 连接池调优\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n### 3. 安全与访问控制 (Security & CORS)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # 令牌有效期 (分钟)\n\n# CORS 允许的域名 (用逗号分隔)\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n### 4. 对象存储配置 (RustFS / S3 Compatible)\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改!\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# 对象存储初始化专有\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# 外部可读访问链接\nRUSTFS_PUBLIC_URL=http://localhost:9000\nRUSTFS_PUBLIC_BUCKET=true\n\n### 5. AI 模型服务配置 (OpenAI Compatible)\n# 首次启动会自动同步进数据库配置中。\n\n# 5.1 Chat 对话\n# AI_CHAT_API_KEY=sk-xxxx\n# AI_CHAT_API_BASE=https://api.openai.com/v1\n# AI_CHAT_MODEL=gpt-4o\n\n# 5.2 Embedding 向量化\n# AI_EMBEDDING_API_KEY=sk-xxxx\n# AI_EMBEDDING_API_BASE=https://api.openai.com/v1\n# AI_EMBEDDING_MODEL=text-embedding-3-small\n# AI_EMBEDDING_DIMENSION=1536\n\n# 5.3 Reranker 重排序\n# AI_RERANK_API_KEY=sk-xxxx\n# AI_RERANK_API_BASE=https://api.rerank.com/v1\n# AI_RERANK_MODEL=bge-reranker-v2-m3\n\n### 6. RAG 检索与智能 Agent 调优\nRAG_RECALL_K=50 # 向量召回数量\nRAG_RECALL_THRESHOLD=0.3 # 相似度阈值\nRAG_ENABLE_RERANK=true # 是否启用重排\nRAG_RERANK_TOP_K=5 # 最终给 AI 的结果数\n\n# Agent 行为控制\nAGENT_MAX_ITERATIONS=5 # ReAct 最大迭代次数\nAGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空回复终止阈值\n\n### 7. 文档解析引擎配置 (DocProcessor)\n# MINERU_ENABLED=true\n# MINERU_BASE_URL=http://localhost:8888\n# DOCLING_ENABLED=true\n# DOCLING_BASE_URL=http://localhost:8000\n# PADDLEOCR_ENABLED=false\n# PADDLEOCR_BASE_URL=http://localhost:8080\n\n### 8. 配置覆盖控制\nFORCE_UPDATE_AI_CONFIG=false # 重启时是否用环境变量强制覆盖数据库 AI 配置\nFORCE_UPDATE_DOC_PROCESSOR=false # 重启时是否用环境变量强制覆盖数据库解析器配置\n"}, "f39cb02ce98666342f7ae52a760dedd73c015032": {"t": 1785773275.9351268, "n": 2945, "h": "503207825b7a4b82", "c": "# ==============================================================================\n# CatWiki Backend Environment Configuration Template (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: `cp .env.example .env`\n# 2. 根据实际部署环境修改各配置项\n# 3. 生产环境建议通过环境变量注入,而非直接修改此文件\n# ==============================================================================\n\n### 1. 基础环境配置 (Basic Environment)\nENVIRONMENT=local # 运行环境: local, dev, prod\nDEBUG=true # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nTZ=Asia/Shanghai # 系统时区\n\n# 系统身份标识\nPROJECT_NAME=\"CatWiki API\"\nDESCRIPTION=\"CatWiki 后端服务\"\nVERSION=\"0.0.4\"\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\"\nADMIN_API_V1_STR=\"/admin/v1\"\n\n### 2. 数据库配置 (PostgreSQL / PGVector)\nPOSTGRES_SERVER=postgres # Local 填 localhost, Docker 填 postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境务必修改!\nDB_ECHO=false # 是否输出 SQL 执行记录\n\n# 连接池调优\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n### 3. 安全与访问控制 (Security & CORS)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # 令牌有效期 (分钟)\n\n# CORS 允许的域名 (用逗号分隔)\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n### 4. 对象存储配置 (RustFS / S3 Compatible)\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改!\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# 对象存储初始化专有\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# 外部可读访问链接\nRUSTFS_PUBLIC_URL=http://localhost:9000\nRUSTFS_PUBLIC_BUCKET=true\n\n### 5. AI 模型服务配置 (OpenAI Compatible)\n# 首次启动会自动同步进数据库配置中。\n\n# 5.1 Chat 对话\n# AI_CHAT_API_KEY=sk-xxxx\n# AI_CHAT_API_BASE=https://api.openai.com/v1\n# AI_CHAT_MODEL=gpt-4o\n\n# 5.2 Embedding 向量化\n# AI_EMBEDDING_API_KEY=sk-xxxx\n# AI_EMBEDDING_API_BASE=https://api.openai.com/v1\n# AI_EMBEDDING_MODEL=text-embedding-3-small\n# AI_EMBEDDING_DIMENSION=1536\n\n# 5.3 Reranker 重排序\n# AI_RERANK_API_KEY=sk-xxxx\n# AI_RERANK_API_BASE=https://api.rerank.com/v1\n# AI_RERANK_MODEL=bge-reranker-v2-m3\n\n### 6. RAG 检索与智能 Agent 调优\nRAG_RECALL_K=50 # 向量召回数量\nRAG_RECALL_THRESHOLD=0.3 # 相似度阈值\nRAG_ENABLE_RERANK=true # 是否启用重排\nRAG_RERANK_TOP_K=5 # 最终给 AI 的结果数\n\n# Agent 行为控制\nAGENT_MAX_ITERATIONS=5 # ReAct 最大迭代次数\nAGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空回复终止阈值\n\n### 7. 文档解析引擎配置 (DocProcessor)\n# MINERU_ENABLED=true\n# MINERU_BASE_URL=http://localhost:8888\n# DOCLING_ENABLED=true\n# DOCLING_BASE_URL=http://localhost:8000\n# PADDLEOCR_ENABLED=false\n# PADDLEOCR_BASE_URL=http://localhost:8080\n\n### 8. 配置覆盖控制\nFORCE_UPDATE_AI_CONFIG=false # 重启时是否用环境变量强制覆盖数据库 AI 配置\nFORCE_UPDATE_DOC_PROCESSOR=false # 重启时是否用环境变量强制覆盖数据库解析器配置\n"}, "cfee0ca349388234cef712f7bebbf7231637e1f7": {"t": 1785773277.335362, "n": 2913, "h": "82da00ee3e51c0ef", "c": "# ==============================================================================\n# CatWiki Backend Environment Configuration Template (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: `cp .env.example .env`\n# 2. 根据实际部署环境修改各配置项\n# 3. 生产环境建议通过环境变量注入,而非直接修改此文件\n# ==============================================================================\n\n### 1. 基础环境配置 (Basic Environment)\nENVIRONMENT=local # 运行环境: local, dev, prod\nDEBUG=true # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nTZ=Asia/Shanghai # 系统时区\n\n# 系统身份标识\nPROJECT_NAME=\"CatWiki API\"\nDESCRIPTION=\"CatWiki 后端服务\"\nVERSION=\"0.0.4\"\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\"\nADMIN_API_V1_STR=\"/admin/v1\"\n\n### 2. 数据库配置 (PostgreSQL / PGVector)\nPOSTGRES_SERVER=postgres # Local 填 localhost, Docker 填 postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境务必修改!\nDB_ECHO=false # 是否输出 SQL 执行记录\n\n# 连接池调优\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n### 3. 安全与访问控制 (Security & CORS)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # 令牌有效期 (分钟)\n\n# CORS 允许的域名 (用逗号分隔)\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n### 4. 对象存储配置 (RustFS / S3 Compatible)\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改!\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# 对象存储初始化专有\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# 外部可读访问链接\nRUSTFS_PUBLIC_URL=http://localhost:9000\nRUSTFS_PUBLIC_BUCKET=true\n\n### 5. AI 模型服务配置 (OpenAI Compatible)\n# 首次启动会自动同步进数据库配置中。\n\n# 5.1 Chat 对话\nAI_CHAT_API_KEY=sk-xxxx\nAI_CHAT_API_BASE=https://api.openai.com/v1\nAI_CHAT_MODEL=gpt-4o\n\n# 5.2 Embedding 向量化\nAI_EMBEDDING_API_KEY=sk-xxxx\nAI_EMBEDDING_API_BASE=https://api.openai.com/v1\nAI_EMBEDDING_MODEL=text-embedding-3-small\nAI_EMBEDDING_DIMENSION=1536\n\n# 5.3 Reranker 重排序\nAI_RERANK_API_KEY=sk-xxxx\nAI_RERANK_API_BASE=https://api.rerank.com/v1\nAI_RERANK_MODEL=bge-reranker-v2-m3\n\n### 6. RAG 检索与智能 Agent 调优\nRAG_RECALL_K=50 # 向量召回数量\nRAG_RECALL_THRESHOLD=0.3 # 相似度阈值\nRAG_ENABLE_RERANK=true # 是否启用重排\nRAG_RERANK_TOP_K=5 # 最终给 AI 的结果数\n\n# Agent 行为控制\nAGENT_MAX_ITERATIONS=5 # ReAct 最大迭代次数\nAGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空回复终止阈值\n\n### 7. 文档解析引擎配置 (DocProcessor)\nMINERU_ENABLED=true\nMINERU_BASE_URL=http://localhost:8888\nDOCLING_ENABLED=true\nDOCLING_BASE_URL=http://localhost:8000\nPADDLEOCR_ENABLED=false\nPADDLEOCR_BASE_URL=http://localhost:8080\n\n### 8. 配置覆盖控制\nFORCE_UPDATE_AI_CONFIG=false # 重启时是否用环境变量强制覆盖数据库 AI 配置\nFORCE_UPDATE_DOC_PROCESSOR=false # 重启时是否用环境变量强制覆盖数据库解析器配置\n"}, "5f1ca15b9676f4f386cd73ff6422561a7c9012e2": {"t": 1785773279.213181, "n": 2916, "h": "f3b79d18aa461150", "c": "# ==============================================================================\n# CatWiki Backend Environment Configuration Template (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: `cp .env.example .env`\n# 2. 根据实际部署环境修改各配置项\n# 3. 生产环境建议通过环境变量注入,而非直接修改此文件\n# ==============================================================================\n\n### 1. 基础环境配置 (Basic Environment)\nENVIRONMENT=local # 运行环境: local, dev, prod\nDEBUG=true # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nTZ=Asia/Shanghai # 系统时区\n\n# 系统身份标识\nPROJECT_NAME=\"CatWiki API\"\nDESCRIPTION=\"CatWiki 后端服务\"\nVERSION=\"0.0.4\"\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\"\nADMIN_API_V1_STR=\"/admin/v1\"\n\n### 2. 数据库配置 (PostgreSQL / PGVector)\nPOSTGRES_SERVER=localhost # Local 填 localhost, Docker 填 postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境务必修改!\nDB_ECHO=false # 是否输出 SQL 执行记录\n\n# 连接池调优\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n### 3. 安全与访问控制 (Security & CORS)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # 令牌有效期 (分钟)\n\n# CORS 允许的域名 (用逗号分隔)\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n### 4. 对象存储配置 (RustFS / S3 Compatible)\nRUSTFS_ENDPOINT=localhost:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改!\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# 对象存储初始化专有\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# 外部可读访问链接\nRUSTFS_PUBLIC_URL=http://localhost:9000\nRUSTFS_PUBLIC_BUCKET=true\n\n### 5. AI 模型服务配置 (OpenAI Compatible)\n# 首次启动会自动同步进数据库配置中。\n\n# 5.1 Chat 对话\nAI_CHAT_API_KEY=sk-xxxx\nAI_CHAT_API_BASE=https://api.openai.com/v1\nAI_CHAT_MODEL=gpt-4o\n\n# 5.2 Embedding 向量化\nAI_EMBEDDING_API_KEY=sk-xxxx\nAI_EMBEDDING_API_BASE=https://api.openai.com/v1\nAI_EMBEDDING_MODEL=text-embedding-3-small\nAI_EMBEDDING_DIMENSION=1536\n\n# 5.3 Reranker 重排序\nAI_RERANK_API_KEY=sk-xxxx\nAI_RERANK_API_BASE=https://api.rerank.com/v1\nAI_RERANK_MODEL=bge-reranker-v2-m3\n\n### 6. RAG 检索与智能 Agent 调优\nRAG_RECALL_K=50 # 向量召回数量\nRAG_RECALL_THRESHOLD=0.3 # 相似度阈值\nRAG_ENABLE_RERANK=true # 是否启用重排\nRAG_RERANK_TOP_K=5 # 最终给 AI 的结果数\n\n# Agent 行为控制\nAGENT_MAX_ITERATIONS=5 # ReAct 最大迭代次数\nAGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空回复终止阈值\n\n### 7. 文档解析引擎配置 (DocProcessor)\nMINERU_ENABLED=true\nMINERU_BASE_URL=http://localhost:8888\nDOCLING_ENABLED=true\nDOCLING_BASE_URL=http://localhost:8000\nPADDLEOCR_ENABLED=false\nPADDLEOCR_BASE_URL=http://localhost:8080\n\n### 8. 配置覆盖控制\nFORCE_UPDATE_AI_CONFIG=false # 重启时是否用环境变量强制覆盖数据库 AI 配置\nFORCE_UPDATE_DOC_PROCESSOR=false # 重启时是否用环境变量强制覆盖数据库解析器配置\n"}, "7565045b0cb47956a6608d914a080d841a4667da": {"t": 1785773280.4625602, "n": 6083, "h": "177e17c0e1a7593f", "c": "# ==============================================================================\n# CatWiki 后端环境配置模板 (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: `cp .env.example .env`\n# 2. 根据实际部署环境修改各配置项\n# 3. 生产环境建议通过环境变量注入,而非直接修改此文件\n# ==============================================================================\n\n# ------------------------------------------------------------------------------\n# 1. 基础环境配置 (Global Settings)\n# ------------------------------------------------------------------------------\nENVIRONMENT=prod # 运行环境: local (开发), dev (测试), prod (生产)\nDEBUG=false # 调试模式: true (启用), false (禁用)\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\n\n# 系统身份标识\nPROJECT_NAME=\"CatWiki API\" # 系统显示名称\nDESCRIPTION=\"CatWiki 后端服务\" # 系统基础描述\nVERSION=\"0.0.4\" # 当前 API 版本\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\" # 客户端 API 路由基地址\nADMIN_API_V1_STR=\"/admin/v1\" # 管理后台 API 路由基地址\n\n\n# ------------------------------------------------------------------------------\n# 2. 数据库配置 (PostgreSQL / PGVector)\n# ------------------------------------------------------------------------------\n# 数据库主机: 本地开发填 localhost, Docker 部署请填容器名 postgres\nPOSTGRES_SERVER=postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境请务必修改!\nDB_ECHO=false # 是否输出 SQL 执行记录 (用于调试)\n\n# 连接池调优 (针对高并发场景)\nDB_POOL_SIZE=20 # 基础连接池大小\nDB_MAX_OVERFLOW=50 # 允许的最大溢出连接数\nDB_POOL_TIMEOUT=30 # 获取连接的超时时间 (秒)\nDB_POOL_RECYCLE=3600 # 连接自动回收周期 (秒)\n\n\n# ------------------------------------------------------------------------------\n# 3. 安全与访问控制 (Security & CORS)\n# ------------------------------------------------------------------------------\n# 🔒 重要: 生产环境必须修改为长随机字符串 (推荐: openssl rand -hex 32)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # 登录令牌有效期 (默认 7 天)\n\n# CORS 允许的域名 (用逗号分隔,严禁在生产环境使用 *)\n# 示例: https://admin.catwiki.ai,https://demo.catwiki.ai\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n\n# ------------------------------------------------------------------------------\n# 4. 对象存储配置 (RustFS / S3 兼容服务)\n# ------------------------------------------------------------------------------\n# 基础连接\nRUSTFS_ENDPOINT=rustfs:9000 # 服务访问地址\nRUSTFS_ACCESS_KEY=rustfsadmin # 访问密钥\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改!\nRUSTFS_BUCKET_NAME=catwiki # 默认存储桶名称\nRUSTFS_USE_SSL=false # 内部通信是否加密 (生产建议开启)\nRUSTFS_REGION=us-east-1\n\n# 容器初始化专有 (若无特殊需求请保持与 ACCESS_KEY 一致)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# 外网预览与策略\nRUSTFS_PUBLIC_URL=http://localhost:9000 # 前端访问预览图片的公网地址\nRUSTFS_PUBLIC_BUCKET=true # 是否将存储桶设为公共可读\n\n\n# ------------------------------------------------------------------------------\n# 5. AI 模型服务配置 (OpenAI 兼容协议)\n# ------------------------------------------------------------------------------\n# 注意: AI 配置首次启动会同步到数据库系统配置中。若之后在 UI 修改,此变量将失效。\n# 如果需要强制用此变量覆盖数据库,请将 FORCE_UPDATE_AI_CONFIG 设为 true。\n\n# 5.1 Chat 对话\n# AI_CHAT_API_KEY=sk-your-key\n# AI_CHAT_API_BASE=https://api.openai.com/v1\n# AI_CHAT_MODEL=gpt-4o\n# AI_CHAT_EXTRA_BODY={\"chat_template_kwargs\": {\"enable_thinking\": false}}\n\n# 5.2 Embedding 向量化\n# AI_EMBEDDING_API_KEY=sk-your-key\n# AI_EMBEDDING_API_BASE=https://api.openai.com/v1\n# AI_EMBEDDING_MODEL=text-embedding-3-small\n# AI_EMBEDDING_DIMENSION=4096\n# AI_EMBEDDING_BATCH_SIZE=10 # 批量处理上限 (OpenAI 推荐 2048, 阿里云限制 10)\n\n# 5.3 Reranker 重排序\n# AI_RERANK_API_KEY=sk-your-key\n# AI_RERANK_API_BASE=https://api.openai.com/v1\n# AI_RERANK_MODEL=bge-reranker-v2-m3\n\n# 5.4 VL 视觉/多模态\n# AI_VL_API_KEY=sk-your-key\n# AI_VL_API_BASE=https://api.openai.com/v1\n# AI_VL_MODEL=gpt-4o\n\n\n# ------------------------------------------------------------------------------\n# 6. RAG 检索与智能 Agent 调优\n# ------------------------------------------------------------------------------\n# 检索控制\n# RAG_RECALL_K=50 # Vector 检索召回的 Top-K 数量\n# RAG_RECALL_MAX=100 # 全局召回文档块上限\n# RAG_RECALL_THRESHOLD=0.3 # 相似度召回阈值 (0.0-1.0)\n# RAG_ENABLE_RERANK=true # 是否启用重排序精排\n# RAG_RERANK_TOP_K=5 # 最终给到 AI 的背景段落数\n\n# Agent 行为控制 (ReAct 模式)\n# AGENT_MAX_ITERATIONS=5 # 对话 Agent 最大思考迭代次数\n# AGENT_MAX_CONSECUTIVE_EMPTY=2 # 遇到连续空回复的自动终止点\n# AGENT_SUMMARY_TRIGGER_MSG_COUNT=10 # 触发对话长列表自动摘要的消息数\n\n\n# ------------------------------------------------------------------------------\n# 7. 文档解析引擎配置 (DocProcessor)\n# ------------------------------------------------------------------------------\n# 各引擎的 BASE_URL 填写对应的解析服务地址\n\n# 7.1 MinerU (深度学术/PDF 解析)\n# MINERU_ENABLED=true\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://mineru-service:8888\n# MINERU_API_KEY=sk-mineru-key\n\n# 7.2 Docling (通用文档解析)\n# DOCLING_ENABLED=true\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://docling-service:8000\n# DOCLING_API_KEY=sk-docling-key\n\n# 7.3 PaddleOCR (图片/扫描件 OCR)\n# PADDLEOCR_ENABLED=true\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://paddleocr-service:8080\n# PADDLEOCR_API_KEY=NONE\n\n\n# ------------------------------------------------------------------------------\n# 8. 全局限制与开关 (Limits & Flags)\n# ------------------------------------------------------------------------------\n# 文件上传控制\n# UPLOAD_MAX_SIZE=104857600 # 单个文件上传上限 (字节,默认 100MB)\n# UPLOAD_ALLOWED_EXTENSIONS=pdf,docx,txt,md,jpg,png,zip # 允许的文件后缀\n\n# 配置同步控制 (仅用于调试环境同步)\nFORCE_UPDATE_AI_CONFIG=false # 重启时是否用环境变量强制覆盖数据库 AI 模型配置\nFORCE_UPDATE_DOC_PROCESSOR=false # 重启时是否用环境变量强制覆盖数据库解析器配置\n \n# ------------------------------------------------------------------------------\n# 9. Redis 缓存配置 (Redis Cache Configuration)\n# ------------------------------------------------------------------------------\n# 启用 Redis 缓存\nREDIS_ENABLED=false\n# Redis 连接地址\n# 示例: redis://:password@redis:6379/0\nREDIS_URL=redis://redis:6379/0\n# 缓存 Key 前缀\nREDIS_PREFIX=catwiki:\n# 默认缓存 TTL(秒)\nCACHE_DEFAULT_TTL=300\n"}, "3208f8507d8107181ed65e29ff78ca0d0ea98cf2": {"t": 1785773281.7770295, "n": 5987, "h": "d0125bc0bc13f082", "c": "# ==============================================================================\n# CatWiki 后端环境配置模板 (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: `cp .env.example .env`\n# 2. 根据实际部署环境修改各配置项\n# 3. 生产环境建议通过环境变量注入,而非直接修改此文件\n# ==============================================================================\n\n# ------------------------------------------------------------------------------\n# 1. 基础环境配置 (Global Settings)\n# ------------------------------------------------------------------------------\nENVIRONMENT=prod # 运行环境: local (开发), dev (测试), prod (生产)\nDEBUG=false # 调试模式: true (启用), false (禁用)\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\n\n# 系统身份标识\nPROJECT_NAME=\"CatWiki API\" # 系统显示名称\nDESCRIPTION=\"CatWiki 后端服务\" # 系统基础描述\nVERSION=\"0.0.4\" # 当前 API 版本\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\" # 客户端 API 路由基地址\nADMIN_API_V1_STR=\"/admin/v1\" # 管理后台 API 路由基地址\n\n\n# ------------------------------------------------------------------------------\n# 2. 数据库配置 (PostgreSQL / PGVector)\n# ------------------------------------------------------------------------------\n# 数据库主机: 本地开发填 localhost, Docker 部署请填容器名 postgres\nPOSTGRES_SERVER=postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境请务必修改!\nDB_ECHO=false # 是否输出 SQL 执行记录 (用于调试)\n\n# 连接池调优 (针对高并发场景)\nDB_POOL_SIZE=20 # 基础连接池大小\nDB_MAX_OVERFLOW=50 # 允许的最大溢出连接数\nDB_POOL_TIMEOUT=30 # 获取连接的超时时间 (秒)\nDB_POOL_RECYCLE=3600 # 连接自动回收周期 (秒)\n\n\n# ------------------------------------------------------------------------------\n# 3. 安全与访问控制 (Security & CORS)\n# ------------------------------------------------------------------------------\n# 🔒 重要: 生产环境必须修改为长随机字符串 (推荐: openssl rand -hex 32)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # 登录令牌有效期 (默认 7 天)\n\n# CORS 允许的域名 (用逗号分隔,严禁在生产环境使用 *)\n# 示例: https://admin.catwiki.ai,https://demo.catwiki.ai\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n\n# ------------------------------------------------------------------------------\n# 4. 对象存储配置 (RustFS / S3 兼容服务)\n# ------------------------------------------------------------------------------\n# 基础连接\nRUSTFS_ENDPOINT=rustfs:9000 # 服务访问地址\nRUSTFS_ACCESS_KEY=rustfsadmin # 访问密钥\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改!\nRUSTFS_BUCKET_NAME=catwiki # 默认存储桶名称\nRUSTFS_USE_SSL=false # 内部通信是否加密 (生产建议开启)\nRUSTFS_REGION=us-east-1\n\n# 容器初始化专有 (若无特殊需求请保持与 ACCESS_KEY 一致)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# 外网预览与策略\nRUSTFS_PUBLIC_URL=http://localhost:9000 # 前端访问预览图片的公网地址\nRUSTFS_PUBLIC_BUCKET=true # 是否将存储桶设为公共可读\n\n\n# ------------------------------------------------------------------------------\n# 5. AI 模型服务配置 (OpenAI 兼容协议)\n# ------------------------------------------------------------------------------\n# 注意: AI 配置首次启动会同步到数据库系统配置中。若之后在 UI 修改,此变量将失效。\n# 如果需要强制用此变量覆盖数据库,请将 FORCE_UPDATE_AI_CONFIG 设为 true。\n\n# 5.1 Chat 对话\n# AI_CHAT_API_KEY=sk-your-key\n# AI_CHAT_API_BASE=https://api.openai.com/v1\n# AI_CHAT_MODEL=gpt-4o\n# AI_CHAT_EXTRA_BODY={\"chat_template_kwargs\": {\"enable_thinking\": false}}\n\n# 5.2 Embedding 向量化\n# AI_EMBEDDING_API_KEY=sk-your-key\n# AI_EMBEDDING_API_BASE=https://api.openai.com/v1\n# AI_EMBEDDING_MODEL=text-embedding-3-small\n# AI_EMBEDDING_DIMENSION=4096\n# AI_EMBEDDING_BATCH_SIZE=10 # 批量处理上限 (OpenAI 推荐 2048, 阿里云限制 10)\n\n# 5.3 Reranker 重排序\n# AI_RERANK_API_KEY=sk-your-key\n# AI_RERANK_API_BASE=https://api.openai.com/v1\n# AI_RERANK_MODEL=bge-reranker-v2-m3\n\n# 5.4 VL 视觉/多模态\n# AI_VL_API_KEY=sk-your-key\n# AI_VL_API_BASE=https://api.openai.com/v1\n# AI_VL_MODEL=gpt-4o\n\n\n# ------------------------------------------------------------------------------\n# 6. RAG 检索与智能 Agent 调优\n# ------------------------------------------------------------------------------\n# 检索控制\n# RAG_RECALL_K=50 # Vector 检索召回的 Top-K 数量\n# RAG_RECALL_MAX=100 # 全局召回文档块上限\n# RAG_RECALL_THRESHOLD=0.3 # 相似度召回阈值 (0.0-1.0)\n# RAG_ENABLE_RERANK=true # 是否启用重排序精排\n# RAG_RERANK_TOP_K=5 # 最终给到 AI 的背景段落数\n\n# Agent 行为控制 (ReAct 模式)\n# AGENT_MAX_ITERATIONS=5 # 对话 Agent 最大思考迭代次数\n# AGENT_MAX_CONSECUTIVE_EMPTY=2 # 遇到连续空回复的自动终止点\n# AGENT_SUMMARY_TRIGGER_MSG_COUNT=10 # 触发对话长列表自动摘要的消息数\n\n\n# ------------------------------------------------------------------------------\n# 7. 文档解析引擎配置 (DocProcessor)\n# ------------------------------------------------------------------------------\n# 各引擎的 BASE_URL 填写对应的解析服务地址\n\n# 7.1 MinerU (深度学术/PDF 解析)\n# MINERU_ENABLED=true\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://mineru-service:8888\n# MINERU_API_KEY=sk-mineru-key\n\n# 7.2 Docling (通用文档解析)\n# DOCLING_ENABLED=true\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://docling-service:8000\n# DOCLING_API_KEY=sk-docling-key\n\n# 7.3 PaddleOCR (图片/扫描件 OCR)\n# PADDLEOCR_ENABLED=true\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://paddleocr-service:8080\n# PADDLEOCR_API_KEY=NONE\n\n\n# ------------------------------------------------------------------------------\n# 8. 全局限制与开关 (Limits & Flags)\n# ------------------------------------------------------------------------------\n# 文件上传控制\n# UPLOAD_MAX_SIZE=104857600 # 单个文件上传上限 (字节,默认 100MB)\n# UPLOAD_ALLOWED_EXTENSIONS=pdf,docx,txt,md,jpg,png,zip # 允许的文件后缀\n\n# 配置同步控制 (仅用于调试环境同步)\nFORCE_UPDATE_AI_CONFIG=false # 重启时是否用环境变量强制覆盖数据库 AI 模型配置\nFORCE_UPDATE_DOC_PROCESSOR=false # 重启时是否用环境变量强制覆盖数据库解析器配置\n \n# ------------------------------------------------------------------------------\n# 9. Redis 缓存配置 (Redis Cache Configuration)\n# ------------------------------------------------------------------------------\nREDIS_HOST=redis\nREDIS_PORT=6379\nREDIS_PASSWORD=catwiki-redis-password-dev # 🔒 生产环境务必修改!\n"}, "0e4e993bfebb674c8bdd2edbb37b9887cd4585c0": {"t": 1785773283.117428, "n": 5690, "h": "e8d7c4c2f28f8b8f", "c": "# ==============================================================================\n# CatWiki 后端环境配置模板 (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: `cp .env.example .env`\n# 2. 根据实际部署环境修改各配置项\n# 3. 生产环境建议通过环境变量注入,而非直接修改此文件\n# ==============================================================================\n\n# ------------------------------------------------------------------------------\n# 1. 基础环境配置 (Global Settings)\n# ------------------------------------------------------------------------------\nENVIRONMENT=prod # 运行环境: local (开发), dev (测试), prod (生产)\nDEBUG=false # 调试模式: true (启用), false (禁用)\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\n\n# 系统身份标识\nPROJECT_NAME=\"CatWiki API\" # 系统显示名称\nDESCRIPTION=\"CatWiki 后端服务\" # 系统基础描述\nVERSION=\"0.0.4\" # 当前 API 版本\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\" # 客户端 API 路由基地址\nADMIN_API_V1_STR=\"/admin/v1\" # 管理后台 API 路由基地址\n\n\n# ------------------------------------------------------------------------------\n# 2. 数据库配置 (PostgreSQL / PGVector)\n# ------------------------------------------------------------------------------\n# 数据库主机: 本地开发填 localhost, Docker 部署请填容器名 postgres\nPOSTGRES_SERVER=postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境请务必修改!\nDB_ECHO=false # 是否输出 SQL 执行记录 (用于调试)\n\n# 连接池调优 (针对高并发场景)\nDB_POOL_SIZE=20 # 基础连接池大小\nDB_MAX_OVERFLOW=50 # 允许的最大溢出连接数\nDB_POOL_TIMEOUT=30 # 获取连接的超时时间 (秒)\nDB_POOL_RECYCLE=3600 # 连接自动回收周期 (秒)\n\n\n# ------------------------------------------------------------------------------\n# 3. 安全与访问控制 (Security & CORS)\n# ------------------------------------------------------------------------------\n# 🔒 重要: 生产环境必须修改为长随机字符串 (推荐: openssl rand -hex 32)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # 登录令牌有效期 (默认 7 天)\n\n# CORS 允许的域名 (用逗号分隔,严禁在生产环境使用 *)\n# 示例: https://admin.catwiki.ai,https://demo.catwiki.ai\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n\n# ------------------------------------------------------------------------------\n# 4. 对象存储配置 (RustFS / S3 兼容服务)\n# ------------------------------------------------------------------------------\n# 基础连接\nRUSTFS_ENDPOINT=rustfs:9000 # 服务访问地址\nRUSTFS_ACCESS_KEY=rustfsadmin # 访问密钥\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改!\nRUSTFS_BUCKET_NAME=catwiki # 默认存储桶名称\nRUSTFS_USE_SSL=false # 内部通信是否加密 (生产建议开启)\nRUSTFS_REGION=us-east-1\n\n# 容器初始化专有 (若无特殊需求请保持与 ACCESS_KEY 一致)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# 外网预览与策略\nRUSTFS_PUBLIC_URL=http://localhost:9000 # 前端访问预览图片的公网地址\nRUSTFS_PUBLIC_BUCKET=true # 是否将存储桶设为公共可读\n\n\n# ------------------------------------------------------------------------------\n# 5. AI 模型服务配置 (OpenAI 兼容协议)\n# ------------------------------------------------------------------------------\n# 注意: AI 配置首次启动会同步到数据库系统配置中。若之后在 UI 修改,此变量将失效。\n# 如果需要强制用此变量覆盖数据库,请将 FORCE_UPDATE_AI_CONFIG 设为 true。\n\n# 5.1 Chat 对话\n# AI_CHAT_API_KEY=sk-your-key\n# AI_CHAT_API_BASE=https://api.openai.com/v1\n# AI_CHAT_MODEL=gpt-4o\n# AI_CHAT_EXTRA_BODY={\"chat_template_kwargs\": {\"enable_thinking\": false}}\n\n# 5.2 Embedding 向量化\n# AI_EMBEDDING_API_KEY=sk-your-key\n# AI_EMBEDDING_API_BASE=https://api.openai.com/v1\n# AI_EMBEDDING_MODEL=text-embedding-3-small\n# AI_EMBEDDING_DIMENSION=4096\n# AI_EMBEDDING_BATCH_SIZE=10 # 批量处理上限 (OpenAI 推荐 2048, 阿里云限制 10)\n\n# 5.3 Reranker 重排序\n# AI_RERANK_API_KEY=sk-your-key\n# AI_RERANK_API_BASE=https://api.openai.com/v1\n# AI_RERANK_MODEL=bge-reranker-v2-m3\n\n# 5.4 VL 视觉/多模态\n# AI_VL_API_KEY=sk-your-key\n# AI_VL_API_BASE=https://api.openai.com/v1\n# AI_VL_MODEL=gpt-4o\n\n\n# ------------------------------------------------------------------------------\n# 6. RAG 检索与智能 Agent 调优\n# ------------------------------------------------------------------------------\n# 检索控制\n# RAG_RECALL_K=50 # Vector 检索召回的 Top-K 数量\n# RAG_RECALL_MAX=100 # 全局召回文档块上限\n# RAG_RECALL_THRESHOLD=0.3 # 相似度召回阈值 (0.0-1.0)\n# RAG_ENABLE_RERANK=true # 是否启用重排序精排\n# RAG_RERANK_TOP_K=5 # 最终给到 AI 的背景段落数\n\n# Agent 行为控制 (ReAct 模式)\n# AGENT_MAX_ITERATIONS=5 # 对话 Agent 最大思考迭代次数\n# AGENT_MAX_CONSECUTIVE_EMPTY=2 # 遇到连续空回复的自动终止点\n# AGENT_SUMMARY_TRIGGER_MSG_COUNT=10 # 触发对话长列表自动摘要的消息数\n\n\n# ------------------------------------------------------------------------------\n# 7. 文档解析引擎配置 (DocProcessor)\n# ------------------------------------------------------------------------------\n# 各引擎的 BASE_URL 填写对应的解析服务地址\n\n# 7.1 MinerU (深度学术/PDF 解析)\n# MINERU_ENABLED=true\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://mineru-service:8888\n# MINERU_API_KEY=sk-mineru-key\n\n# 7.2 Docling (通用文档解析)\n# DOCLING_ENABLED=true\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://docling-service:8000\n# DOCLING_API_KEY=sk-docling-key\n\n# 7.3 PaddleOCR (图片/扫描件 OCR)\n# PADDLEOCR_ENABLED=true\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://paddleocr-service:8080\n# PADDLEOCR_API_KEY=NONE\n\n\n# ------------------------------------------------------------------------------\n# 8. 全局限制与开关 (Limits & Flags)\n# ------------------------------------------------------------------------------\n# 文件上传控制\n# UPLOAD_MAX_SIZE=104857600 # 单个文件上传上限 (字节,默认 100MB)\n# UPLOAD_ALLOWED_EXTENSIONS=pdf,docx,txt,md,jpg,png,zip # 允许的文件后缀\n\n# 配置同步控制 (仅用于调试环境同步)\nFORCE_UPDATE_AI_CONFIG=false # 重启时是否用环境变量强制覆盖数据库 AI 模型配置\nFORCE_UPDATE_DOC_PROCESSOR=false # 重启时是否用环境变量强制覆盖数据库解析器配置\n"}, "aeb87e1c33eab30d4fb2f165641b409aca386165": {"t": 1785773284.4994311, "n": 5615, "h": "aa6d2e298bfb7e5b", "c": "# ==============================================================================\n# CatWiki 后端环境配置模板 (.env.example)\n# ==============================================================================\n# 使用说明:\n# 1. 复制此文件为 .env: `cp .env.example .env`\n# 2. 根据实际部署环境修改各配置项\n# 3. 生产环境建议通过环境变量注入,而非直接修改此文件\n# ==============================================================================\n\n# ------------------------------------------------------------------------------\n# 1. 基础环境配置 (Global Settings)\n# ------------------------------------------------------------------------------\nENVIRONMENT=prod # 运行环境: local (开发), dev (测试), prod (生产)\nDEBUG=false # 调试模式: true (启用), false (禁用)\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\n\n# 系统身份标识\nPROJECT_NAME=\"CatWiki API\" # 系统显示名称\nDESCRIPTION=\"CatWiki 后端服务\" # 系统基础描述\nVERSION=\"0.0.4\" # 当前 API 版本\n\n# API 路由前缀\nAPI_V1_STR=\"/v1\" # 客户端 API 路由基地址\nADMIN_API_V1_STR=\"/admin/v1\" # 管理后台 API 路由基地址\n\n\n# ------------------------------------------------------------------------------\n# 2. 数据库配置 (PostgreSQL / PGVector)\n# ------------------------------------------------------------------------------\n# 数据库主机: 本地开发填 localhost, Docker 部署请填容器名 postgres\nPOSTGRES_SERVER=postgres\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres # 🔒 生产环境请务必修改!\nDB_ECHO=false # 是否输出 SQL 执行记录 (用于调试)\n\n# 连接池调优 (针对高并发场景)\nDB_POOL_SIZE=20 # 基础连接池大小\nDB_MAX_OVERFLOW=50 # 允许的最大溢出连接数\nDB_POOL_TIMEOUT=30 # 获取连接的超时时间 (秒)\nDB_POOL_RECYCLE=3600 # 连接自动回收周期 (秒)\n\n\n# ------------------------------------------------------------------------------\n# 3. 安全与访问控制 (Security & CORS)\n# ------------------------------------------------------------------------------\n# 🔒 重要: 生产环境必须修改为长随机字符串 (推荐: openssl rand -hex 32)\nSECRET_KEY=your-secret-key-at-least-32-characters-long\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # 登录令牌有效期 (默认 7 天)\n\n# CORS 允许的域名 (用逗号分隔,严禁在生产环境使用 *)\n# 示例: https://admin.catwiki.ai,https://demo.catwiki.ai\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002\n\n\n# ------------------------------------------------------------------------------\n# 4. 对象存储配置 (RustFS / S3 兼容服务)\n# ------------------------------------------------------------------------------\n# 基础连接\nRUSTFS_ENDPOINT=rustfs:9000 # 服务访问地址\nRUSTFS_ACCESS_KEY=rustfsadmin # 访问密钥\nRUSTFS_SECRET_KEY=rustfsadmin # 🔒 生产环境务必修改!\nRUSTFS_BUCKET_NAME=catwiki # 默认存储桶名称\nRUSTFS_USE_SSL=false # 内部通信是否加密 (生产建议开启)\nRUSTFS_REGION=us-east-1\n\n# 容器初始化专有 (若无特殊需求请保持与 ACCESS_KEY 一致)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# 外网预览与策略\nRUSTFS_PUBLIC_URL=http://localhost:9000 # 前端访问预览图片的公网地址\nRUSTFS_PUBLIC_BUCKET=true # 是否将存储桶设为公共可读\n\n\n# ------------------------------------------------------------------------------\n# 5. AI 模型服务配置 (OpenAI 兼容协议)\n# ------------------------------------------------------------------------------\n# 注意: AI 配置首次启动会同步到数据库系统配置中。若之后在 UI 修改,此变量将失效。\n# 如果需要强制用此变量覆盖数据库,请将 FORCE_UPDATE_AI_CONFIG 设为 true。\n\n# 5.1 Chat 对话\n# AI_CHAT_API_KEY=sk-your-key\n# AI_CHAT_API_BASE=https://api.openai.com/v1\n# AI_CHAT_MODEL=gpt-4o\n\n# 5.2 Embedding 向量化\n# AI_EMBEDDING_API_KEY=sk-your-key\n# AI_EMBEDDING_API_BASE=https://api.openai.com/v1\n# AI_EMBEDDING_MODEL=text-embedding-3-small\n# AI_EMBEDDING_DIMENSION=1536\n# AI_EMBEDDING_BATCH_SIZE=10 # 批量处理上限 (OpenAI 推荐 2048, 阿里云限制 10)\n\n# 5.3 Reranker 重排序\n# AI_RERANK_API_KEY=sk-your-key\n# AI_RERANK_API_BASE=https://api.openai.com/v1\n# AI_RERANK_MODEL=bge-reranker-v2-m3\n\n# 5.4 VL 视觉/多模态\n# AI_VL_API_KEY=sk-your-key\n# AI_VL_API_BASE=https://api.openai.com/v1\n# AI_VL_MODEL=gpt-4o\n\n\n# ------------------------------------------------------------------------------\n# 6. RAG 检索与智能 Agent 调优\n# ------------------------------------------------------------------------------\n# 检索控制\n# RAG_RECALL_K=50 # Vector 检索召回的 Top-K 数量\n# RAG_RECALL_MAX=100 # 全局召回文档块上限\n# RAG_RECALL_THRESHOLD=0.3 # 相似度召回阈值 (0.0-1.0)\n# RAG_ENABLE_RERANK=true # 是否启用重排序精排\n# RAG_RERANK_TOP_K=5 # 最终给到 AI 的背景段落数\n\n# Agent 行为控制 (ReAct 模式)\n# AGENT_MAX_ITERATIONS=5 # 对话 Agent 最大思考迭代次数\n# AGENT_MAX_CONSECUTIVE_EMPTY=2 # 遇到连续空回复的自动终止点\n# AGENT_SUMMARY_TRIGGER_MSG_COUNT=10 # 触发对话长列表自动摘要的消息数\n\n\n# ------------------------------------------------------------------------------\n# 7. 文档解析引擎配置 (DocProcessor)\n# ------------------------------------------------------------------------------\n# 各引擎的 BASE_URL 填写对应的解析服务地址\n\n# 7.1 MinerU (深度学术/PDF 解析)\n# MINERU_ENABLED=true\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://mineru-service:8888\n# MINERU_API_KEY=sk-mineru-key\n\n# 7.2 Docling (通用文档解析)\n# DOCLING_ENABLED=true\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://docling-service:8000\n# DOCLING_API_KEY=sk-docling-key\n\n# 7.3 PaddleOCR (图片/扫描件 OCR)\n# PADDLEOCR_ENABLED=false\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://paddleocr-service:8080\n# PADDLEOCR_API_KEY=NONE\n\n\n# ------------------------------------------------------------------------------\n# 8. 全局限制与开关 (Limits & Flags)\n# ------------------------------------------------------------------------------\n# 文件上传控制\n# UPLOAD_MAX_SIZE=104857600 # 单个文件上传上限 (字节,默认 100MB)\n# UPLOAD_ALLOWED_EXTENSIONS=pdf,docx,txt,md,jpg,png,zip # 允许的文件后缀\n\n# 配置同步控制 (仅用于调试环境同步)\nFORCE_UPDATE_AI_CONFIG=false # 重启时是否用环境变量强制覆盖数据库 AI 配置\nFORCE_UPDATE_DOC_PROCESSOR=false # 重启时是否用环境变量强制覆盖数据库解析器配置\n"}, "fe3b2ab4f72cad19d782468345620898b9638ab4": {"t": 1785773285.939194, "n": 3456, "h": "6f42fe24ca9b67af", "c": "# ============================================\n# 后端环境变量配置\n# 用于本地开发 (Local) 和 Docker 环境\n# 复制此文件为 .env 并根据需要修改配置\n# ============================================\n\n# ===== 1. 环境基础配置 =====\nENVIRONMENT=local # 环境: local, dev, prod\nDEBUG=false # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\n\n# ===== 2. 数据库配置 (PostgreSQL) =====\n# Local: localhost | Docker: postgres (Service Name)\nPOSTGRES_SERVER=localhost\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres\nDB_ECHO=false # 是否输出 SQL 日志\n\n# ===== 3. 数据库连接池配置 =====\nDB_POOL_SIZE=50\nDB_MAX_OVERFLOW=100\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n# ===== 4. 安全配置 =====\n# 警告: 生产环境必须修改为强密钥\nSECRET_KEY=dev-secret-key-minimum-32-characters-long-for-development-only\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # Token 过期时间(分钟), 默认 7 天\n\n# ===== 5. CORS 配置 =====\n# 允许跨域的源, 多个源用逗号分隔\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002,http://admin-frontend:8001,http://client-frontend:8002\n\n# ===== 6. 对象存储配置 (RustFS/S3) =====\n# Local: localhost:9000 | Docker: rustfs:9000\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# RustFS Root 用户 (用于服务端初始化)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# RustFS 公开访问链接\nRUSTFS_PUBLIC_BUCKET=true\nRUSTFS_PUBLIC_URL=http://localhost:9000\n\n# ===== 7. AI 服务配置 (OpenAI Compatible) =====\n# 注意:当数据库中的 AI 配置为空时,此处设置的环境变量会在启动时自动加载进数据库。\n# 如果数据库中已有配置(已在管理后台修改过),则不会从环境变量同步。\n# 警告:生产环境请保护好 API Key\n\n## 7.1 Chat 对话配置\n# AI_CHAT_API_KEY=sk-your-chat-api-key\n# AI_CHAT_API_BASE=https://api.your-chat-service.com/v1\n# AI_CHAT_MODEL=your-chat-model\n\n## 7.2 Embedding 向量配置\n# AI_EMBEDDING_API_KEY=sk-your-embedding-api-key\n# AI_EMBEDDING_API_BASE=https://api.your-embedding-service.com/v1\n# AI_EMBEDDING_MODEL=your-embedding-model\n# AI_EMBEDDING_DIMENSION=4096\n# AI_EMBEDDING_BATCH_SIZE=10 # Embedding API 单次请求批量大小(阿里云限制 10,OpenAI 限制 2048)\n\n## 7.3 Reranker 重排序及 RAG 参数配置\n# AI_RERANK_API_KEY=sk-your-reranker-api-key\n# AI_RERANK_API_BASE=https://api.your-reranker-service.com/v1\n# AI_RERANK_MODEL=your-reranker-model\n\n## 7.4 VL 视觉对话配置 (选填)\n# AI_VL_API_KEY=sk-your-vl-api-key\n# AI_VL_API_BASE=https://api.your-vl-service.com/v1\n\n## 7.5 聊天 Agent 配置\n# AGENT_MAX_ITERATIONS=5 # ReAct Agent 最大迭代次数 (1-20,默认 5)\n# AGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空结果自动终止阈值 (1-10,默认 2)\n# AGENT_SUMMARY_TRIGGER_MSG_COUNT=10 # 触发对话摘要的消息数量阈值 (4-50,默认 10)\n\n## 7.6 RAG 检索参数调优\n# RAG_RECALL_K=50 # [检索] 初始向量召回数量 (默认 50)\n# RAG_RECALL_MAX=100 # [检索] 全局召回硬上限 (默认 100)\n# RAG_RECALL_THRESHOLD=0.3 # [检索] 相似度阈值 (0.0-1.0, 默认 0.3)\n# RAG_ENABLE_RERANK=true # [重排] 是否开启 Reranker (默认 true)\n# RAG_RERANK_TOP_K=5 # [重排/最终] 提供给 AI 的结果数 (默认 5)\n\n# ===== 8. 文档解析服务配置 (DocProcessor) =====\n\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://mineru-service:8888\n# MINERU_API_KEY=sk-mineru-key\n# MINERU_ENABLED=true\n\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://docling-service:8000\n# DOCLING_API_KEY=sk-docling-key\n# DOCLING_ENABLED=true\n\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://paddleocr-service:8080\n# PADDLEOCR_API_KEY=NONE\n# PADDLEOCR_ENABLED=false\n\n# ===== 9. 配置覆盖控制 =====\n# 设置为 true 时,每次启动都会用环境变量覆盖数据库中的配置\n# FORCE_UPDATE_AI_CONFIG=false\n# FORCE_UPDATE_DOC_PROCESSOR=false\n"}, "2b5ed56a7b0a811f5a5909b0892453654c254bbb": {"t": 1785773287.1178277, "n": 3537, "h": "85789c1bd208eb38", "c": "# ============================================\n# 后端环境变量配置\n# 用于本地开发 (Local) 和 Docker 环境\n# 复制此文件为 .env 并根据需要修改配置\n# ============================================\n\n# ===== 1. 环境基础配置 =====\nENVIRONMENT=local # 环境: local, dev, prod\nDEBUG=false # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nCATWIKI_EDITION=community\n# ===== 2. 企业版 (EE) 配置 (选填) =====\nCATWIKI_LICENSE_KEY=\n\n# ===== 3. 数据库配置 (PostgreSQL) =====\n# Local: localhost | Docker: postgres (Service Name)\nPOSTGRES_SERVER=localhost\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres\nDB_ECHO=false # 是否输出 SQL 日志\n\n# ===== 3. 数据库连接池配置 =====\nDB_POOL_SIZE=50\nDB_MAX_OVERFLOW=100\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n# ===== 4. 安全配置 =====\n# 警告: 生产环境必须修改为强密钥\nSECRET_KEY=dev-secret-key-minimum-32-characters-long-for-development-only\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # Token 过期时间(分钟), 默认 7 天\n\n# ===== 5. CORS 配置 =====\n# 允许跨域的源, 多个源用逗号分隔\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002,http://admin-frontend:8001,http://client-frontend:8002\n\n# ===== 6. 对象存储配置 (RustFS/S3) =====\n# Local: localhost:9000 | Docker: rustfs:9000\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# RustFS Root 用户 (用于服务端初始化)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# RustFS 公开访问链接\nRUSTFS_PUBLIC_BUCKET=true\nRUSTFS_PUBLIC_URL=http://localhost:9000\n\n# ===== 7. AI 服务配置 (OpenAI Compatible) =====\n# 注意:当数据库中的 AI 配置为空时,此处设置的环境变量会在启动时自动加载进数据库。\n# 如果数据库中已有配置(已在管理后台修改过),则不会从环境变量同步。\n# 警告:生产环境请保护好 API Key\n\n## 7.1 Chat 对话配置\n# AI_CHAT_API_KEY=sk-your-chat-api-key\n# AI_CHAT_API_BASE=https://api.your-chat-service.com/v1\n# AI_CHAT_MODEL=your-chat-model\n\n## 7.2 Embedding 向量配置\n# AI_EMBEDDING_API_KEY=sk-your-embedding-api-key\n# AI_EMBEDDING_API_BASE=https://api.your-embedding-service.com/v1\n# AI_EMBEDDING_MODEL=your-embedding-model\n# AI_EMBEDDING_DIMENSION=4096\n# AI_EMBEDDING_BATCH_SIZE=10 # Embedding API 单次请求批量大小(阿里云限制 10,OpenAI 限制 2048)\n\n## 7.3 Reranker 重排序及 RAG 参数配置\n# AI_RERANK_API_KEY=sk-your-reranker-api-key\n# AI_RERANK_API_BASE=https://api.your-reranker-service.com/v1\n# AI_RERANK_MODEL=your-reranker-model\n\n## 7.4 VL 视觉对话配置 (选填)\n# AI_VL_API_KEY=sk-your-vl-api-key\n# AI_VL_API_BASE=https://api.your-vl-service.com/v1\n\n## 7.5 聊天 Agent 配置\n# AGENT_MAX_ITERATIONS=5 # ReAct Agent 最大迭代次数 (1-20,默认 5)\n# AGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空结果自动终止阈值 (1-10,默认 2)\n# AGENT_SUMMARY_TRIGGER_MSG_COUNT=10 # 触发对话摘要的消息数量阈值 (4-50,默认 10)\n\n## 7.6 RAG 检索参数调优\n# RAG_RECALL_K=50 # [检索] 初始向量召回数量 (默认 50)\n# RAG_RECALL_MAX=100 # [检索] 全局召回硬上限 (默认 100)\n# RAG_RECALL_THRESHOLD=0.3 # [检索] 相似度阈值 (0.0-1.0, 默认 0.3)\n# RAG_ENABLE_RERANK=true # [重排] 是否开启 Reranker (默认 true)\n# RAG_RERANK_TOP_K=5 # [重排/最终] 提供给 AI 的结果数 (默认 5)\n\n# ===== 8. 文档解析服务配置 (DocProcessor) =====\n\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://mineru-service:8888\n# MINERU_API_KEY=sk-mineru-key\n# MINERU_ENABLED=true\n\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://docling-service:8000\n# DOCLING_API_KEY=sk-docling-key\n# DOCLING_ENABLED=true\n\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://paddleocr-service:8080\n# PADDLEOCR_API_KEY=NONE\n# PADDLEOCR_ENABLED=false\n\n# ===== 9. 配置覆盖控制 =====\n# 设置为 true 时,每次启动都会用环境变量覆盖数据库中的配置\n# FORCE_UPDATE_AI_CONFIG=false\n# FORCE_UPDATE_DOC_PROCESSOR=false\n"}, "aaf99187c732a613b208aaf2ef2b58e0f85c5cea": {"t": 1785773288.9324775, "n": 3571, "h": "c29986ebac5352fa", "c": "# ============================================\n# 后端环境变量配置\n# 用于本地开发 (Local) 和 Docker 环境\n# 复制此文件为 .env 并根据需要修改配置\n# ============================================\n\n# ===== 1. 环境基础配置 =====\nENVIRONMENT=local # 环境: local, dev, prod\nDEBUG=false # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nCATWIKI_EDITION=community\n# ===== 2. 企业版 (EE) 配置 (选填) =====\nCATWIKI_LICENSE_KEY=your-rsa-license-key-here # 企业版授权码\n\n# ===== 3. 数据库配置 (PostgreSQL) =====\n# Local: localhost | Docker: postgres (Service Name)\nPOSTGRES_SERVER=localhost\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres\nDB_ECHO=false # 是否输出 SQL 日志\n\n# ===== 3. 数据库连接池配置 =====\nDB_POOL_SIZE=50\nDB_MAX_OVERFLOW=100\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n# ===== 4. 安全配置 =====\n# 警告: 生产环境必须修改为强密钥\nSECRET_KEY=dev-secret-key-minimum-32-characters-long-for-development-only\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # Token 过期时间(分钟), 默认 7 天\n\n# ===== 5. CORS 配置 =====\n# 允许跨域的源, 多个源用逗号分隔\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002,http://admin-frontend:8001,http://client-frontend:8002\n\n# ===== 6. 对象存储配置 (RustFS/S3) =====\n# Local: localhost:9000 | Docker: rustfs:9000\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# RustFS Root 用户 (用于服务端初始化)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# RustFS 公开访问链接\nRUSTFS_PUBLIC_BUCKET=true\nRUSTFS_PUBLIC_URL=http://localhost:9000\n\n# ===== 7. AI 服务配置 (OpenAI Compatible) =====\n# 注意:当数据库中的 AI 配置为空时,此处设置的环境变量会在启动时自动加载进数据库。\n# 如果数据库中已有配置(已在管理后台修改过),则不会从环境变量同步。\n# 警告:生产环境请保护好 API Key\n\n## 7.1 Chat 对话配置\n# AI_CHAT_API_KEY=sk-your-chat-api-key\n# AI_CHAT_API_BASE=https://api.your-chat-service.com/v1\n# AI_CHAT_MODEL=your-chat-model\n\n## 7.2 Embedding 向量配置\n# AI_EMBEDDING_API_KEY=sk-your-embedding-api-key\n# AI_EMBEDDING_API_BASE=https://api.your-embedding-service.com/v1\n# AI_EMBEDDING_MODEL=your-embedding-model\n# AI_EMBEDDING_DIMENSION=4096\n# AI_EMBEDDING_BATCH_SIZE=10 # Embedding API 单次请求批量大小(阿里云限制 10,OpenAI 限制 2048)\n\n## 7.3 Reranker 重排序及 RAG 参数配置\n# AI_RERANK_API_KEY=sk-your-reranker-api-key\n# AI_RERANK_API_BASE=https://api.your-reranker-service.com/v1\n# AI_RERANK_MODEL=your-reranker-model\n\n## 7.4 VL 视觉对话配置 (选填)\n# AI_VL_API_KEY=sk-your-vl-api-key\n# AI_VL_API_BASE=https://api.your-vl-service.com/v1\n\n## 7.5 聊天 Agent 配置\n# AGENT_MAX_ITERATIONS=5 # ReAct Agent 最大迭代次数 (1-20,默认 5)\n# AGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空结果自动终止阈值 (1-10,默认 2)\n# AGENT_SUMMARY_TRIGGER_MSG_COUNT=10 # 触发对话摘要的消息数量阈值 (4-50,默认 10)\n\n## 7.6 RAG 检索参数调优\n# RAG_RECALL_K=50 # [检索] 初始向量召回数量 (默认 50)\n# RAG_RECALL_MAX=100 # [检索] 全局召回硬上限 (默认 100)\n# RAG_RECALL_THRESHOLD=0.3 # [检索] 相似度阈值 (0.0-1.0, 默认 0.3)\n# RAG_ENABLE_RERANK=true # [重排] 是否开启 Reranker (默认 true)\n# RAG_RERANK_TOP_K=5 # [重排/最终] 提供给 AI 的结果数 (默认 5)\n\n# ===== 8. 文档解析服务配置 (DocProcessor) =====\n\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://mineru-service:8888\n# MINERU_API_KEY=sk-mineru-key\n# MINERU_ENABLED=true\n\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://docling-service:8000\n# DOCLING_API_KEY=sk-docling-key\n# DOCLING_ENABLED=true\n\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://paddleocr-service:8080\n# PADDLEOCR_API_KEY=NONE\n# PADDLEOCR_ENABLED=false\n\n# ===== 9. 配置覆盖控制 =====\n# 设置为 true 时,每次启动都会用环境变量覆盖数据库中的配置\n# FORCE_UPDATE_AI_CONFIG=false\n# FORCE_UPDATE_DOC_PROCESSOR=false\n"}, "38101dac31ff4ed37711381609c507d5e1df6454": {"t": 1785773290.2001767, "n": 3545, "h": "f1819cfefad08899", "c": "# ============================================\n# 后端环境变量配置\n# 用于本地开发 (Local) 和 Docker 环境\n# 复制此文件为 .env 并根据需要修改配置\n# ============================================\n\n# ===== 1. 环境基础配置 =====\nENVIRONMENT=local # 环境: local, dev, prod\nDEBUG=false # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\n# ===== 2. 企业版 (EE) 配置 (选填) =====\nCATWIKI_LICENSE_KEY=your-rsa-license-key-here # 企业版授权码\n\n# ===== 3. 数据库配置 (PostgreSQL) =====\n# Local: localhost | Docker: postgres (Service Name)\nPOSTGRES_SERVER=localhost\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres\nDB_ECHO=false # 是否输出 SQL 日志\n\n# ===== 3. 数据库连接池配置 =====\nDB_POOL_SIZE=50\nDB_MAX_OVERFLOW=100\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n# ===== 4. 安全配置 =====\n# 警告: 生产环境必须修改为强密钥\nSECRET_KEY=dev-secret-key-minimum-32-characters-long-for-development-only\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # Token 过期时间(分钟), 默认 7 天\n\n# ===== 5. CORS 配置 =====\n# 允许跨域的源, 多个源用逗号分隔\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002,http://admin-frontend:8001,http://client-frontend:8002\n\n# ===== 6. 对象存储配置 (RustFS/S3) =====\n# Local: localhost:9000 | Docker: rustfs:9000\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# RustFS Root 用户 (用于服务端初始化)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# RustFS 公开访问链接\nRUSTFS_PUBLIC_BUCKET=true\nRUSTFS_PUBLIC_URL=http://localhost:9000\n\n# ===== 7. AI 服务配置 (OpenAI Compatible) =====\n# 注意:当数据库中的 AI 配置为空时,此处设置的环境变量会在启动时自动加载进数据库。\n# 如果数据库中已有配置(已在管理后台修改过),则不会从环境变量同步。\n# 警告:生产环境请保护好 API Key\n\n## 7.1 Chat 对话配置\n# AI_CHAT_API_KEY=sk-your-chat-api-key\n# AI_CHAT_API_BASE=https://api.your-chat-service.com/v1\n# AI_CHAT_MODEL=your-chat-model\n\n## 7.2 Embedding 向量配置\n# AI_EMBEDDING_API_KEY=sk-your-embedding-api-key\n# AI_EMBEDDING_API_BASE=https://api.your-embedding-service.com/v1\n# AI_EMBEDDING_MODEL=your-embedding-model\n# AI_EMBEDDING_DIMENSION=4096\n# AI_EMBEDDING_BATCH_SIZE=10 # Embedding API 单次请求批量大小(阿里云限制 10,OpenAI 限制 2048)\n\n## 7.3 Reranker 重排序及 RAG 参数配置\n# AI_RERANK_API_KEY=sk-your-reranker-api-key\n# AI_RERANK_API_BASE=https://api.your-reranker-service.com/v1\n# AI_RERANK_MODEL=your-reranker-model\n\n## 7.4 VL 视觉对话配置 (选填)\n# AI_VL_API_KEY=sk-your-vl-api-key\n# AI_VL_API_BASE=https://api.your-vl-service.com/v1\n\n## 7.5 聊天 Agent 配置\n# AGENT_MAX_ITERATIONS=5 # ReAct Agent 最大迭代次数 (1-20,默认 5)\n# AGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空结果自动终止阈值 (1-10,默认 2)\n# AGENT_SUMMARY_TRIGGER_MSG_COUNT=10 # 触发对话摘要的消息数量阈值 (4-50,默认 10)\n\n## 7.6 RAG 检索参数调优\n# RAG_RECALL_K=50 # [检索] 初始向量召回数量 (默认 50)\n# RAG_RECALL_MAX=100 # [检索] 全局召回硬上限 (默认 100)\n# RAG_RECALL_THRESHOLD=0.3 # [检索] 相似度阈值 (0.0-1.0, 默认 0.3)\n# RAG_ENABLE_RERANK=true # [重排] 是否开启 Reranker (默认 true)\n# RAG_RERANK_TOP_K=5 # [重排/最终] 提供给 AI 的结果数 (默认 5)\n\n# ===== 8. 文档解析服务配置 (DocProcessor) =====\n\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://mineru-service:8888\n# MINERU_API_KEY=sk-mineru-key\n# MINERU_ENABLED=true\n\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://docling-service:8000\n# DOCLING_API_KEY=sk-docling-key\n# DOCLING_ENABLED=true\n\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://paddleocr-service:8080\n# PADDLEOCR_API_KEY=NONE\n# PADDLEOCR_ENABLED=false\n\n# ===== 9. 配置覆盖控制 =====\n# 设置为 true 时,每次启动都会用环境变量覆盖数据库中的配置\n# FORCE_UPDATE_AI_CONFIG=false\n# FORCE_UPDATE_DOC_PROCESSOR=false\n"}, "31f60fa0ecd15263785bfccafd6b6f41e5e07d7b": {"t": 1785773292.018869, "n": 3544, "h": "b01deb575055537c", "c": "# ============================================\n# 后端环境变量配置\n# 用于本地开发 (Local) 和 Docker 环境\n# 复制此文件为 .env 并根据需要修改配置\n# ============================================\n\n# ===== 1. 环境基础配置 =====\nENVIRONMENT=local # 环境: local, dev, prod\nDEBUG=true # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\n# ===== 2. 企业版 (EE) 配置 (选填) =====\nCATWIKI_LICENSE_KEY=your-rsa-license-key-here # 企业版授权码\n\n# ===== 3. 数据库配置 (PostgreSQL) =====\n# Local: localhost | Docker: postgres (Service Name)\nPOSTGRES_SERVER=localhost\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres\nDB_ECHO=false # 是否输出 SQL 日志\n\n# ===== 3. 数据库连接池配置 =====\nDB_POOL_SIZE=50\nDB_MAX_OVERFLOW=100\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n# ===== 4. 安全配置 =====\n# 警告: 生产环境必须修改为强密钥\nSECRET_KEY=dev-secret-key-minimum-32-characters-long-for-development-only\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # Token 过期时间(分钟), 默认 7 天\n\n# ===== 5. CORS 配置 =====\n# 允许跨域的源, 多个源用逗号分隔\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002,http://admin-frontend:8001,http://client-frontend:8002\n\n# ===== 6. 对象存储配置 (RustFS/S3) =====\n# Local: localhost:9000 | Docker: rustfs:9000\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# RustFS Root 用户 (用于服务端初始化)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# RustFS 公开访问链接\nRUSTFS_PUBLIC_BUCKET=true\nRUSTFS_PUBLIC_URL=http://localhost:9000\n\n# ===== 7. AI 服务配置 (OpenAI Compatible) =====\n# 注意:当数据库中的 AI 配置为空时,此处设置的环境变量会在启动时自动加载进数据库。\n# 如果数据库中已有配置(已在管理后台修改过),则不会从环境变量同步。\n# 警告:生产环境请保护好 API Key\n\n## 7.1 Chat 对话配置\n# AI_CHAT_API_KEY=sk-your-chat-api-key\n# AI_CHAT_API_BASE=https://api.your-chat-service.com/v1\n# AI_CHAT_MODEL=your-chat-model\n\n## 7.2 Embedding 向量配置\n# AI_EMBEDDING_API_KEY=sk-your-embedding-api-key\n# AI_EMBEDDING_API_BASE=https://api.your-embedding-service.com/v1\n# AI_EMBEDDING_MODEL=your-embedding-model\n# AI_EMBEDDING_DIMENSION=4096\n# AI_EMBEDDING_BATCH_SIZE=10 # Embedding API 单次请求批量大小(阿里云限制 10,OpenAI 限制 2048)\n\n## 7.3 Reranker 重排序及 RAG 参数配置\n# AI_RERANK_API_KEY=sk-your-reranker-api-key\n# AI_RERANK_API_BASE=https://api.your-reranker-service.com/v1\n# AI_RERANK_MODEL=your-reranker-model\n\n## 7.4 VL 视觉对话配置 (选填)\n# AI_VL_API_KEY=sk-your-vl-api-key\n# AI_VL_API_BASE=https://api.your-vl-service.com/v1\n\n## 7.5 聊天 Agent 配置\n# AGENT_MAX_ITERATIONS=5 # ReAct Agent 最大迭代次数 (1-20,默认 5)\n# AGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空结果自动终止阈值 (1-10,默认 2)\n# AGENT_SUMMARY_TRIGGER_MSG_COUNT=10 # 触发对话摘要的消息数量阈值 (4-50,默认 10)\n\n## 7.6 RAG 检索参数调优\n# RAG_RECALL_K=50 # [检索] 初始向量召回数量 (默认 50)\n# RAG_RECALL_MAX=100 # [检索] 全局召回硬上限 (默认 100)\n# RAG_RECALL_THRESHOLD=0.3 # [检索] 相似度阈值 (0.0-1.0, 默认 0.3)\n# RAG_ENABLE_RERANK=true # [重排] 是否开启 Reranker (默认 true)\n# RAG_RERANK_TOP_K=5 # [重排/最终] 提供给 AI 的结果数 (默认 5)\n\n# ===== 8. 文档解析服务配置 (DocProcessor) =====\n\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://mineru-service:8888\n# MINERU_API_KEY=sk-mineru-key\n# MINERU_ENABLED=true\n\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://docling-service:8000\n# DOCLING_API_KEY=sk-docling-key\n# DOCLING_ENABLED=true\n\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://paddleocr-service:8080\n# PADDLEOCR_API_KEY=NONE\n# PADDLEOCR_ENABLED=false\n\n# ===== 9. 配置覆盖控制 =====\n# 设置为 true 时,每次启动都会用环境变量覆盖数据库中的配置\n# FORCE_UPDATE_AI_CONFIG=false\n# FORCE_UPDATE_DOC_PROCESSOR=false\n"}, "19633d7d3eaa748b38dbdf801b031bd91ac9a529": {"t": 1785773293.308619, "n": 3531, "h": "4caa393758b523e4", "c": "# ============================================\n# 后端环境变量配置\n# 用于本地开发 (Local) 和 Docker 环境\n# 复制此文件为 .env 并根据需要修改配置\n# ============================================\n\n# ===== 1. 环境基础配置 =====\nENVIRONMENT=local # 环境: local, dev, prod\nDEBUG=true # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nCATWIKI_EDITION=enterprise # 版本: community (开源), enterprise (企业/多租户)\n\n# ===== 2. 数据库配置 (PostgreSQL) =====\n# Local: localhost | Docker: postgres (Service Name)\nPOSTGRES_SERVER=localhost\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres\nDB_ECHO=false # 是否输出 SQL 日志\n\n# ===== 3. 数据库连接池配置 =====\nDB_POOL_SIZE=50\nDB_MAX_OVERFLOW=100\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n# ===== 4. 安全配置 =====\n# 警告: 生产环境必须修改为强密钥\nSECRET_KEY=dev-secret-key-minimum-32-characters-long-for-development-only\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # Token 过期时间(分钟), 默认 7 天\n\n# ===== 5. CORS 配置 =====\n# 允许跨域的源, 多个源用逗号分隔\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002,http://admin-frontend:8001,http://client-frontend:8002\n\n# ===== 6. 对象存储配置 (RustFS/S3) =====\n# Local: localhost:9000 | Docker: rustfs:9000\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# RustFS Root 用户 (用于服务端初始化)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# RustFS 公开访问链接\nRUSTFS_PUBLIC_BUCKET=true\nRUSTFS_PUBLIC_URL=http://localhost:9000\n\n# ===== 7. AI 服务配置 (OpenAI Compatible) =====\n# 注意:当数据库中的 AI 配置为空时,此处设置的环境变量会在启动时自动加载进数据库。\n# 如果数据库中已有配置(已在管理后台修改过),则不会从环境变量同步。\n# 警告:生产环境请保护好 API Key\n\n## 7.1 Chat 对话配置\n# AI_CHAT_API_KEY=sk-your-chat-api-key\n# AI_CHAT_API_BASE=https://api.your-chat-service.com/v1\n# AI_CHAT_MODEL=your-chat-model\n\n## 7.2 Embedding 向量配置\n# AI_EMBEDDING_API_KEY=sk-your-embedding-api-key\n# AI_EMBEDDING_API_BASE=https://api.your-embedding-service.com/v1\n# AI_EMBEDDING_MODEL=your-embedding-model\n# AI_EMBEDDING_DIMENSION=4096\n# AI_EMBEDDING_BATCH_SIZE=10 # Embedding API 单次请求批量大小(阿里云限制 10,OpenAI 限制 2048)\n\n## 7.3 Reranker 重排序及 RAG 参数配置\n# AI_RERANK_API_KEY=sk-your-reranker-api-key\n# AI_RERANK_API_BASE=https://api.your-reranker-service.com/v1\n# AI_RERANK_MODEL=your-reranker-model\n\n## 7.4 VL 视觉对话配置 (选填)\n# AI_VL_API_KEY=sk-your-vl-api-key\n# AI_VL_API_BASE=https://api.your-vl-service.com/v1\n\n## 7.5 聊天 Agent 配置\n# AGENT_MAX_ITERATIONS=5 # ReAct Agent 最大迭代次数 (1-20,默认 5)\n# AGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空结果自动终止阈值 (1-10,默认 2)\n# AGENT_SUMMARY_TRIGGER_MSG_COUNT=10 # 触发对话摘要的消息数量阈值 (4-50,默认 10)\n\n## 7.6 RAG 检索参数调优\n# RAG_RECALL_K=50 # [检索] 初始向量召回数量 (默认 50)\n# RAG_RECALL_MAX=100 # [检索] 全局召回硬上限 (默认 100)\n# RAG_RECALL_THRESHOLD=0.3 # [检索] 相似度阈值 (0.0-1.0, 默认 0.3)\n# RAG_ENABLE_RERANK=true # [重排] 是否开启 Reranker (默认 true)\n# RAG_RERANK_TOP_K=5 # [重排/最终] 提供给 AI 的结果数 (默认 5)\n\n# ===== 8. 文档解析服务配置 (DocProcessor) =====\n\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://mineru-service:8888\n# MINERU_API_KEY=sk-mineru-key\n# MINERU_ENABLED=true\n\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://docling-service:8000\n# DOCLING_API_KEY=sk-docling-key\n# DOCLING_ENABLED=true\n\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://paddleocr-service:8080\n# PADDLEOCR_API_KEY=NONE\n# PADDLEOCR_ENABLED=false\n\n# ===== 9. 配置覆盖控制 =====\n# 设置为 true 时,每次启动都会用环境变量覆盖数据库中的配置\n# FORCE_UPDATE_AI_CONFIG=false\n# FORCE_UPDATE_DOC_PROCESSOR=false\n"}, "932387f33abdf2ec312e166e5342f26f54a2c442": {"t": 1785773294.533962, "n": 3455, "h": "503caba1f92d72c8", "c": "# ============================================\n# 后端环境变量配置\n# 用于本地开发 (Local) 和 Docker 环境\n# 复制此文件为 .env 并根据需要修改配置\n# ============================================\n\n# ===== 1. 环境基础配置 =====\nENVIRONMENT=local # 环境: local, dev, prod\nDEBUG=true # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\n\n# ===== 2. 数据库配置 (PostgreSQL) =====\n# Local: localhost | Docker: postgres (Service Name)\nPOSTGRES_SERVER=localhost\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres\nDB_ECHO=false # 是否输出 SQL 日志\n\n# ===== 3. 数据库连接池配置 =====\nDB_POOL_SIZE=50\nDB_MAX_OVERFLOW=100\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n# ===== 4. 安全配置 =====\n# 警告: 生产环境必须修改为强密钥\nSECRET_KEY=dev-secret-key-minimum-32-characters-long-for-development-only\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # Token 过期时间(分钟), 默认 7 天\n\n# ===== 5. CORS 配置 =====\n# 允许跨域的源, 多个源用逗号分隔\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002,http://admin-frontend:8001,http://client-frontend:8002\n\n# ===== 6. 对象存储配置 (RustFS/S3) =====\n# Local: localhost:9000 | Docker: rustfs:9000\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# RustFS Root 用户 (用于服务端初始化)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# RustFS 公开访问链接\nRUSTFS_PUBLIC_BUCKET=true\nRUSTFS_PUBLIC_URL=http://localhost:9000\n\n# ===== 7. AI 服务配置 (OpenAI Compatible) =====\n# 注意:当数据库中的 AI 配置为空时,此处设置的环境变量会在启动时自动加载进数据库。\n# 如果数据库中已有配置(已在管理后台修改过),则不会从环境变量同步。\n# 警告:生产环境请保护好 API Key\n\n## 7.1 Chat 对话配置\n# AI_CHAT_API_KEY=sk-your-chat-api-key\n# AI_CHAT_API_BASE=https://api.your-chat-service.com/v1\n# AI_CHAT_MODEL=your-chat-model\n\n## 7.2 Embedding 向量配置\n# AI_EMBEDDING_API_KEY=sk-your-embedding-api-key\n# AI_EMBEDDING_API_BASE=https://api.your-embedding-service.com/v1\n# AI_EMBEDDING_MODEL=your-embedding-model\n# AI_EMBEDDING_DIMENSION=4096\n# AI_EMBEDDING_BATCH_SIZE=10 # Embedding API 单次请求批量大小(阿里云限制 10,OpenAI 限制 2048)\n\n## 7.3 Reranker 重排序及 RAG 参数配置\n# AI_RERANK_API_KEY=sk-your-reranker-api-key\n# AI_RERANK_API_BASE=https://api.your-reranker-service.com/v1\n# AI_RERANK_MODEL=your-reranker-model\n\n## 7.4 VL 视觉对话配置 (选填)\n# AI_VL_API_KEY=sk-your-vl-api-key\n# AI_VL_API_BASE=https://api.your-vl-service.com/v1\n\n## 7.5 聊天 Agent 配置\n# AGENT_MAX_ITERATIONS=5 # ReAct Agent 最大迭代次数 (1-20,默认 5)\n# AGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空结果自动终止阈值 (1-10,默认 2)\n# AGENT_SUMMARY_TRIGGER_MSG_COUNT=10 # 触发对话摘要的消息数量阈值 (4-50,默认 10)\n\n## 7.6 RAG 检索参数调优\n# RAG_RECALL_K=50 # [检索] 初始向量召回数量 (默认 50)\n# RAG_RECALL_MAX=100 # [检索] 全局召回硬上限 (默认 100)\n# RAG_RECALL_THRESHOLD=0.3 # [检索] 相似度阈值 (0.0-1.0, 默认 0.3)\n# RAG_ENABLE_RERANK=true # [重排] 是否开启 Reranker (默认 true)\n# RAG_RERANK_TOP_K=5 # [重排/最终] 提供给 AI 的结果数 (默认 5)\n\n# ===== 8. 文档解析服务配置 (DocProcessor) =====\n\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://mineru-service:8888\n# MINERU_API_KEY=sk-mineru-key\n# MINERU_ENABLED=true\n\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://docling-service:8000\n# DOCLING_API_KEY=sk-docling-key\n# DOCLING_ENABLED=true\n\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://paddleocr-service:8080\n# PADDLEOCR_API_KEY=NONE\n# PADDLEOCR_ENABLED=false\n\n# ===== 9. 配置覆盖控制 =====\n# 设置为 true 时,每次启动都会用环境变量覆盖数据库中的配置\n# FORCE_UPDATE_AI_CONFIG=false\n# FORCE_UPDATE_DOC_PROCESSOR=false\n"}, "83400d119f6c3e23334d3f3f90ffaf5604d2e026": {"t": 1785773295.7879837, "n": 3523, "h": "77ddf14d04c9b990", "c": "# ============================================\n# 后端环境变量配置\n# 用于本地开发 (Local) 和 Docker 环境\n# 复制此文件为 .env 并根据需要修改配置\n# ============================================\n\n# ===== 1. 环境基础配置 =====\nENVIRONMENT=local # 环境: local, dev, prod\nDEBUG=true # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nDEMO_MODE=false # 演示模式: true, false (开启后禁用管理端高危操作)\n\n# ===== 2. 数据库配置 (PostgreSQL) =====\n# Local: localhost | Docker: postgres (Service Name)\nPOSTGRES_SERVER=localhost\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres\nDB_ECHO=false # 是否输出 SQL 日志\n\n# ===== 3. 数据库连接池配置 =====\nDB_POOL_SIZE=50\nDB_MAX_OVERFLOW=100\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n# ===== 4. 安全配置 =====\n# 警告: 生产环境必须修改为强密钥\nSECRET_KEY=dev-secret-key-minimum-32-characters-long-for-development-only\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # Token 过期时间(分钟), 默认 7 天\n\n# ===== 5. CORS 配置 =====\n# 允许跨域的源, 多个源用逗号分隔\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002,http://admin-frontend:8001,http://client-frontend:8002\n\n# ===== 6. 对象存储配置 (RustFS/S3) =====\n# Local: localhost:9000 | Docker: rustfs:9000\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# RustFS Root 用户 (用于服务端初始化)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# RustFS 公开访问链接\nRUSTFS_PUBLIC_BUCKET=true\nRUSTFS_PUBLIC_URL=http://localhost:9000\n\n# ===== 7. AI 服务配置 (OpenAI Compatible) =====\n# 注意:当数据库中的 AI 配置为空时,此处设置的环境变量会在启动时自动加载进数据库。\n# 如果数据库中已有配置(已在管理后台修改过),则不会从环境变量同步。\n# 警告:生产环境请保护好 API Key\n\n## 7.1 Chat 对话配置\n# AI_CHAT_API_KEY=sk-your-chat-api-key\n# AI_CHAT_API_BASE=https://api.your-chat-service.com/v1\n# AI_CHAT_MODEL=your-chat-model\n\n## 7.2 Embedding 向量配置\n# AI_EMBEDDING_API_KEY=sk-your-embedding-api-key\n# AI_EMBEDDING_API_BASE=https://api.your-embedding-service.com/v1\n# AI_EMBEDDING_MODEL=your-embedding-model\n# AI_EMBEDDING_DIMENSION=4096\n# AI_EMBEDDING_BATCH_SIZE=10 # Embedding API 单次请求批量大小(阿里云限制 10,OpenAI 限制 2048)\n\n## 7.3 Reranker 重排序及 RAG 参数配置\n# AI_RERANK_API_KEY=sk-your-reranker-api-key\n# AI_RERANK_API_BASE=https://api.your-reranker-service.com/v1\n# AI_RERANK_MODEL=your-reranker-model\n\n## 7.4 VL 视觉对话配置 (选填)\n# AI_VL_API_KEY=sk-your-vl-api-key\n# AI_VL_API_BASE=https://api.your-vl-service.com/v1\n\n## 7.5 聊天 Agent 配置\n# AGENT_MAX_ITERATIONS=5 # ReAct Agent 最大迭代次数 (1-20,默认 5)\n# AGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空结果自动终止阈值 (1-10,默认 2)\n# AGENT_SUMMARY_TRIGGER_MSG_COUNT=10 # 触发对话摘要的消息数量阈值 (4-50,默认 10)\n\n## 7.6 RAG 检索参数调优\n# RAG_RECALL_K=50 # [检索] 初始向量召回数量 (默认 50)\n# RAG_RECALL_MAX=100 # [检索] 全局召回硬上限 (默认 100)\n# RAG_RECALL_THRESHOLD=0.3 # [检索] 相似度阈值 (0.0-1.0, 默认 0.3)\n# RAG_ENABLE_RERANK=true # [重排] 是否开启 Reranker (默认 true)\n# RAG_RERANK_TOP_K=5 # [重排/最终] 提供给 AI 的结果数 (默认 5)\n\n# ===== 8. 文档解析服务配置 (DocProcessor) =====\n\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://mineru-service:8888\n# MINERU_API_KEY=sk-mineru-key\n# MINERU_ENABLED=true\n\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://docling-service:8000\n# DOCLING_API_KEY=sk-docling-key\n# DOCLING_ENABLED=true\n\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://paddleocr-service:8080\n# PADDLEOCR_API_KEY=NONE\n# PADDLEOCR_ENABLED=false\n\n# ===== 9. 配置覆盖控制 =====\n# 设置为 true 时,每次启动都会用环境变量覆盖数据库中的配置\n# FORCE_UPDATE_AI_CONFIG=false\n# FORCE_UPDATE_DOC_PROCESSOR=false\n"}, "df4d63f17a37fb8fdafa223d814fbdaba08c5394": {"t": 1785773297.0270236, "n": 3522, "h": "ff2eec562e7ebb14", "c": "# ============================================\n# 后端环境变量配置\n# 用于本地开发 (Local) 和 Docker 环境\n# 复制此文件为 .env 并根据需要修改配置\n# ============================================\n\n# ===== 1. 环境基础配置 =====\nENVIRONMENT=local # 环境: local, dev, prod\nDEBUG=true # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nDEMO_MODE=false # 演示模式: true, false (开启后禁用管理端高危操作)\n\n# ===== 2. 数据库配置 (PostgreSQL) =====\n# Local: localhost | Docker: postgres (Service Name)\nPOSTGRES_SERVER=localhost\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres\nDB_ECHO=false # 是否输出 SQL 日志\n\n# ===== 3. 数据库连接池配置 =====\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n# ===== 4. 安全配置 =====\n# 警告: 生产环境必须修改为强密钥\nSECRET_KEY=dev-secret-key-minimum-32-characters-long-for-development-only\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # Token 过期时间(分钟), 默认 7 天\n\n# ===== 5. CORS 配置 =====\n# 允许跨域的源, 多个源用逗号分隔\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002,http://admin-frontend:8001,http://client-frontend:8002\n\n# ===== 6. 对象存储配置 (RustFS/S3) =====\n# Local: localhost:9000 | Docker: rustfs:9000\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# RustFS Root 用户 (用于服务端初始化)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# RustFS 公开访问链接\nRUSTFS_PUBLIC_BUCKET=true\nRUSTFS_PUBLIC_URL=http://localhost:9000\n\n# ===== 7. AI 服务配置 (OpenAI Compatible) =====\n# 注意:当数据库中的 AI 配置为空时,此处设置的环境变量会在启动时自动加载进数据库。\n# 如果数据库中已有配置(已在管理后台修改过),则不会从环境变量同步。\n# 警告:生产环境请保护好 API Key\n\n## 7.1 Chat 对话配置\n# AI_CHAT_API_KEY=sk-your-chat-api-key\n# AI_CHAT_API_BASE=https://api.your-chat-service.com/v1\n# AI_CHAT_MODEL=your-chat-model\n\n## 7.2 Embedding 向量配置\n# AI_EMBEDDING_API_KEY=sk-your-embedding-api-key\n# AI_EMBEDDING_API_BASE=https://api.your-embedding-service.com/v1\n# AI_EMBEDDING_MODEL=your-embedding-model\n# AI_EMBEDDING_DIMENSION=4096\n# AI_EMBEDDING_BATCH_SIZE=10 # Embedding API 单次请求批量大小(阿里云限制 10,OpenAI 限制 2048)\n\n## 7.3 Reranker 重排序及 RAG 参数配置\n# AI_RERANK_API_KEY=sk-your-reranker-api-key\n# AI_RERANK_API_BASE=https://api.your-reranker-service.com/v1\n# AI_RERANK_MODEL=your-reranker-model\n\n## 7.4 VL 视觉对话配置 (选填)\n# AI_VL_API_KEY=sk-your-vl-api-key\n# AI_VL_API_BASE=https://api.your-vl-service.com/v1\n\n## 7.5 聊天 Agent 配置\n# AGENT_MAX_ITERATIONS=5 # ReAct Agent 最大迭代次数 (1-20,默认 5)\n# AGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空结果自动终止阈值 (1-10,默认 2)\n# AGENT_SUMMARY_TRIGGER_MSG_COUNT=10 # 触发对话摘要的消息数量阈值 (4-50,默认 10)\n\n## 7.6 RAG 检索参数调优\n# RAG_RECALL_K=50 # [检索] 初始向量召回数量 (默认 50)\n# RAG_RECALL_MAX=100 # [检索] 全局召回硬上限 (默认 100)\n# RAG_RECALL_THRESHOLD=0.3 # [检索] 相似度阈值 (0.0-1.0, 默认 0.3)\n# RAG_ENABLE_RERANK=true # [重排] 是否开启 Reranker (默认 true)\n# RAG_RERANK_TOP_K=5 # [重排/最终] 提供给 AI 的结果数 (默认 5)\n\n# ===== 8. 文档解析服务配置 (DocProcessor) =====\n\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://mineru-service:8888\n# MINERU_API_KEY=sk-mineru-key\n# MINERU_ENABLED=true\n\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://docling-service:8000\n# DOCLING_API_KEY=sk-docling-key\n# DOCLING_ENABLED=true\n\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://paddleocr-service:8080\n# PADDLEOCR_API_KEY=NONE\n# PADDLEOCR_ENABLED=false\n\n# ===== 9. 配置覆盖控制 =====\n# 设置为 true 时,每次启动都会用环境变量覆盖数据库中的配置\n# FORCE_UPDATE_AI_CONFIG=false\n# FORCE_UPDATE_DOC_PROCESSOR=false\n"}, "74b5f2d54533a9a5774b979b95e1b4748c5954cd": {"t": 1785773299.59559, "n": 3165, "h": "8e0ca7137fed686a", "c": "# ============================================\n# 后端环境变量配置\n# 用于本地开发 (Local) 和 Docker 环境\n# 复制此文件为 .env 并根据需要修改配置\n# ============================================\n\n# ===== 1. 环境基础配置 =====\nENVIRONMENT=local # 环境: local, dev, prod\nDEBUG=true # 调试模式: true, false\nLOG_LEVEL=INFO # 日志级别: DEBUG, INFO, WARNING, ERROR, CRITICAL\nDEMO_MODE=false # 演示模式: true, false (开启后禁用管理端高危操作)\n\n# ===== 2. 数据库配置 (PostgreSQL) =====\n# Local: localhost | Docker: postgres (Service Name)\nPOSTGRES_SERVER=localhost\nPOSTGRES_PORT=5432\nPOSTGRES_DB=catwiki\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres\nDB_ECHO=false # 是否输出 SQL 日志\n\n# ===== 3. 数据库连接池配置 =====\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_TIMEOUT=30\nDB_POOL_RECYCLE=3600\n\n# ===== 4. 安全配置 =====\n# 警告: 生产环境必须修改为强密钥\nSECRET_KEY=dev-secret-key-minimum-32-characters-long-for-development-only\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=10080 # Token 过期时间(分钟), 默认 7 天\n\n# ===== 5. CORS 配置 =====\n# 允许跨域的源, 多个源用逗号分隔\nBACKEND_CORS_ORIGINS=http://localhost:8001,http://localhost:8002,http://admin-frontend:8001,http://client-frontend:8002\n\n# ===== 6. 对象存储配置 (RustFS/S3) =====\n# Local: localhost:9000 | Docker: rustfs:9000\nRUSTFS_ENDPOINT=rustfs:9000\nRUSTFS_ACCESS_KEY=rustfsadmin\nRUSTFS_SECRET_KEY=rustfsadmin\nRUSTFS_BUCKET_NAME=catwiki\nRUSTFS_USE_SSL=false\nRUSTFS_REGION=us-east-1\n\n# RustFS Root 用户 (用于服务端初始化)\nRUSTFS_ROOT_USER=rustfsadmin\nRUSTFS_ROOT_PASSWORD=rustfsadmin\n\n# RustFS 公开访问链接\nRUSTFS_PUBLIC_BUCKET=true\nRUSTFS_PUBLIC_URL=http://localhost:9000\n\n# ===== 7. AI 服务配置 (OpenAI Compatible) =====\n# 注意:当数据库中的 AI 配置为空时,此处设置的环境变量会在启动时自动加载进数据库。\n# 如果数据库中已有配置(已在管理后台修改过),则不会从环境变量同步。\n# 警告:生产环境请保护好 API Key\n\n## 7.1 Chat 对话配置\n# AI_CHAT_API_KEY=sk-your-chat-api-key\n# AI_CHAT_API_BASE=https://api.your-chat-service.com/v1\n# AI_CHAT_MODEL=your-chat-model\n\n## 7.2 Embedding 向量配置\n# AI_EMBEDDING_API_KEY=sk-your-embedding-api-key\n# AI_EMBEDDING_API_BASE=https://api.your-embedding-service.com/v1\n# AI_EMBEDDING_MODEL=your-embedding-model\n# AI_EMBEDDING_DIMENSION=4096\n# AI_EMBEDDING_BATCH_SIZE=10 # Embedding API 单次请求批量大小(阿里云限制 10,OpenAI 限制 2048)\n\n## 7.3 Reranker 重排序配置\n# AI_RERANK_ENABLE=false\n# AI_RERANK_API_KEY=sk-your-reranker-api-key\n# AI_RERANK_API_BASE=https://api.your-reranker-service.com/v1\n# AI_RERANK_MODEL=your-reranker-model\n\n## 7.4 VL 视觉对话配置 (选填)\n# AI_VL_API_KEY=sk-your-vl-api-key\n# AI_VL_API_BASE=https://api.your-vl-service.com/v1\n\n## 7.5 聊天 Agent 配置\n# AGENT_MAX_ITERATIONS=5 # ReAct Agent 最大迭代次数 (1-20,默认 5)\n# AGENT_MAX_CONSECUTIVE_EMPTY=2 # 连续空结果自动终止阈值 (1-10,默认 2)\n\n# ===== 8. 文档解析服务配置 (DocProcessor) =====\n\n# MINERU_NAME=MinerU\n# MINERU_BASE_URL=http://mineru-service:8888\n# MINERU_API_KEY=sk-mineru-key\n# MINERU_ENABLED=true\n\n# DOCLING_NAME=Docling\n# DOCLING_BASE_URL=http://docling-service:8000\n# DOCLING_API_KEY=sk-docling-key\n# DOCLING_ENABLED=true\n\n# PADDLEOCR_NAME=PaddleOCR\n# PADDLEOCR_BASE_URL=http://paddleocr-service:8080\n# PADDLEOCR_API_KEY=NONE\n# PADDLEOCR_ENABLED=false\n\n# ===== 9. 配置覆盖控制 =====\n# 设置为 true 时,每次启动都会用环境变量覆盖数据库中的配置\n# FORCE_UPDATE_AI_CONFIG=false\n# FORCE_UPDATE_DOC_PROCESSOR=false\n"}}}}