主要改动: fix(docker/dify-deploy): 修复脚本核心功能 - heredoc 单引号 bug: 'ENVEOF' 改为 ENVEOF,变量正确展开 - 端口默认值 8083/8084/8085 对齐 .env.prod 生产配置 - 加 dc_cmd() 兼容 docker-compose v1/v2 plugin - openssl rand 生成强随机密码与 SECRET_KEY(42 字符) - install 跳过已存在 .env,保护用户配置(管理员密码/SECRET_KEY) - read -p < /dev/tty 兼容非 tty 环境(CI/CD) - show-config 改用 DIFY_NGINX_PORT(nginx 入口)而非 APP_WEB_PORT docs(mvp-design): 修正 §3.2 workflow inputs 描述 - 实际只有 query,删除错误的 user_id input 声明 - 节点序列图同步更新 feat(aiChatService): 新增 Dify 客户端与适配器 - service/dify_client.go: Dify Workflow 调用 + SSE 解析 - service/dify_adapter.go: 与现有 chat_service 桥接 - provider/ai_chat_provider.go: Dubbo 入口简化 - main.go: 装配 ConversationRepository + DifyClient feat(migrations): 新增 AI 搭子会话表 ai_chat.sql - ai_conversations / ai_messages 表 + 索引 docs: 新增 Dify 集成设计文档 - 2026-06-29-ai-chat-dify-mvp-design.md (MVP 实施级) - 2026-06-29-ai-chat-dify-integration-v2-design.md (V2 演进路线图) - docs/dify/角角.yml (Workflow DSL 导出) config: 更新 env 模板与 docker 配置 - backend/.env.example: DIFY_* 环境变量声明 - docker/.env.prod: DIFY_API_BASE 对齐 8083 - docker/build.sh: 微调 - CLAUDE.md: 项目规范补充 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
61 lines
2.4 KiB
Plaintext
61 lines
2.4 KiB
Plaintext
# ===================================================================
|
||
# TopFans Docker - Production Environment Variables
|
||
# ===================================================================
|
||
# IMPORTANT: Change all secrets before deploying to production
|
||
# Usage: docker-compose -f docker-compose.prod.yml --profile prod up -d
|
||
# ===================================================================
|
||
|
||
# Database
|
||
DB_PASSWORD=postgres123
|
||
|
||
# JWT Secret
|
||
JWT_SECRET=topfans-secret-key-please-change-in-production
|
||
|
||
# OSS Configuration
|
||
OSS_REGION=cn-shanghai
|
||
OSS_BUCKET_NAME=top-fans-test
|
||
OSS_STS_ROLE_ARN=acs:ram::1387642798143585:role/top-fans-oss-user
|
||
OSS_ACCESS_KEY_ID=LTAI5t99tafzfyrzbbEbjryH
|
||
OSS_ACCESS_KEY_SECRET=sBmrqG9owzi53hiV4dpE3EL2A5dn9b
|
||
OSS_AVATAR_DIR=avatar/
|
||
OSS_ASSET_DIR=asset/
|
||
OSS_TOKEN_EXPIRE_TIME=3600
|
||
|
||
# ==================== MiniMax API Configuration ====================
|
||
MINIMAX_API_KEY=sk-api-oezuuNMr5iwPdlJ1JgTJTSzhMhGtaUR5Odjjg0ZqVQ7MoMIqLuE_ginMWRkNiAiDgMY6MvTVkYCWSQ8SK1-LuldrFmohCHxCgZIbxsFYr9zxA8z08Eb8nbo
|
||
MINIMAX_API_URL=https://api.minimaxi.com/v1/image_generation
|
||
|
||
# Redis Configuration
|
||
REDIS_HOST=topfans-redis
|
||
REDIS_PORT=6379
|
||
REDIS_PASSWORD=123456
|
||
REDIS_DB=0
|
||
|
||
# ==================== 镭射卡生成器 ====================
|
||
# LASER_GEN_PROVIDER:
|
||
# openai (默认) - 后端走微达API中转站 /v1/images/edits (5 路并发 + 直接落 OSS)
|
||
# minimax - 后端直连 MiniMax
|
||
# dify - 调 Dify laser_card_variants_v1 工作流 (阻塞)
|
||
LASER_GEN_PROVIDER=openai
|
||
|
||
# ==================== 中转站 OpenAI 兼容 API(微达API / XBCL)====================
|
||
OPENAI_API_KEY=sk-eIOujD5rUugIRIPecFi3I2rFr6Bhxx1jsRzRm6phyNeeKrCI
|
||
OPENAI_BASE_URL=https://api.weda.cc/v1
|
||
OPENAI_MODEL=gpt-image-2
|
||
|
||
# ==================== SMS Configuration ====================
|
||
SMS_ACCESS_KEY_ID=LTAI5t6QcdJHpYbCPxM8SXYE
|
||
SMS_ACCESS_KEY_SECRET=ybvjSEb7wilMt3qT5nOppYPoNVayCD
|
||
SMS_SIGN_NAME=上海顶粉数字科技
|
||
SMS_TEMPLATE_CODE=SMS_314621237
|
||
SMS_REGION=cn-hangzhou
|
||
|
||
# ==================== Dify Configuration ====================
|
||
# 服务器上部署的 Dify 服务(101.132.250.62,nginx 转发到 Dify API 容器 5001)
|
||
# DIFY_API_BASE: Dify 服务的 API 地址(v1 是 API 前缀)
|
||
# DIFY_API_KEY: 在 Dify 控制台「工作室」→「角角」→「后端服务 API」→「API 密钥」获取,格式: app-xxxxxxxxxxxx
|
||
DIFY_API_BASE=http://101.132.250.62:8083/v1
|
||
DIFY_API_KEY=app-iCsnp0R2jJppKdmrpoeOxEfL
|
||
|
||
|