diff --git a/backend/.env.example b/backend/.env.example index 7721947..d8c6ec2 100644 --- a/backend/.env.example +++ b/backend/.env.example @@ -114,8 +114,8 @@ COMPOSITOR_PORT=7002 PUSH_ENABLED=true PUSH_URL= PUSH_TIMEOUT_MS=4000 -OPENAI_API_KEY=sk-b1f01c1ebc177e8fbd8e19ca3edeb542b521c39039977ef2974ce06c5d4cc18d -# 中转站 BaseURL(必须含 /v1 后缀,代码会拼成 /v1/images/edits) -OPENAI_BASE_URL=https://xbcl.link/v1 +OPENAI_API_KEY=sk-eIOujD5rUugIRIPecFi3I2rFr6Bhxx1jsRzRm6phyNeeKrCI +# 微达API BaseURL(必须含 /v1 后缀,代码会拼成 /v1/images/edits) +OPENAI_BASE_URL=https://api.weda.cc/v1 # 中转站实际暴露的 image 模型 OPENAI_MODEL=gpt-image-2 \ No newline at end of file diff --git a/docker/.env b/docker/.env index 6483ec0..9058a16 100644 --- a/docker/.env +++ b/docker/.env @@ -2,8 +2,8 @@ DB_PASSWORD=admin DB_NAME=top-fans JWT_SECRET=topfans-secret-key-please-change-in-production LASER_GEN_PROVIDER=openai -OPENAI_API_KEY=sk-b1f01c1ebc177e8fbd8e19ca3edeb542b521c39039977ef2974ce06c5d4cc18d -OPENAI_BASE_URL=https://xbcl.link/v1 +OPENAI_API_KEY=sk-eIOujD5rUugIRIPecFi3I2rFr6Bhxx1jsRzRm6phyNeeKrCI +OPENAI_BASE_URL=https://api.weda.cc/v1 OPENAI_MODEL=gpt-image-2 DIFY_API_BASE=http://172.23.0.1/v1 DIFY_API_KEY=app-Ibs7reARanyuYGZ7zrLyiM6e diff --git a/docker/.env.local.dev b/docker/.env.local.dev index efc7e33..bd70a47 100644 --- a/docker/.env.local.dev +++ b/docker/.env.local.dev @@ -21,19 +21,15 @@ REDIS_PASSWORD=123456 # LASER_GEN_PROVIDER: ${LASER_GEN_PROVIDER:-minimax} # 会把这里注入到容器,覆盖 .env.local 的 minimax 默认值 LASER_GEN_PROVIDER=openai -# 中转站 BaseURL —— XBCL 必须含 /v1 后缀(代码会拼成 https://xbcl.link/v1/images/edits) -# 直连 OpenAI 官方会被墙,这里走 XBCL 中转 -# XBCL 的 chat / image / 其他端点都挂在 /v1/... 下,这是 OpenAI 兼容中转的标准路径 -OPENAI_BASE_URL=https://xbcl.link/v1 -# 中转站 model:XBCL /v1/models 实际暴露的 image 类模型是 gpt-image-1 / 1.5 / 2 +# 微达API BaseURL(必须含 /v1 后缀,代码会拼成 /v1/images/edits) +# 直连 OpenAI 官方会被墙,这里走微达API中转 +OPENAI_BASE_URL=https://api.weda.cc/v1 # openai_client.go 的 buildEditFields() 根据 model 名前缀自动选参数集 # - gpt-image-* → 完整参数(transparent + 1024x1536 竖版) # - 其他 → 基础参数(1024x1024 square,无 transparent,保守路径) OPENAI_MODEL=gpt-image-2 -# ⚠️ 中转站 API key —— ⚠️ 务必先在 https://xbcl.link 撤销旧 key 再填新的 -# 因为之前 OpenAI 官方 key 已在对话历史里泄漏过,直接换中转站独立 key -# 撤销旧 key → 生成新 key → 把值贴到下面这一行 -OPENAI_API_KEY=sk-b1f01c1ebc177e8fbd8e19ca3edeb542b521c39039977ef2974ce06c5d4cc18d +# ⚠️ 微达API key —— 务必先在 https://api.weda.cc 撤销旧 key 再填新的 +OPENAI_API_KEY=sk-eIOujD5rUugIRIPecFi3I2rFr6Bhxx1jsRzRm6phyNeeKrCI # ==================== Dify 配置保留(暂未切回 dify,留着方便回滚)==================== # gateway 容器的 DIFY_API_BASE 默认是 https://api.dify.ai/v1(生产 SaaS) diff --git a/docker/.env.prod b/docker/.env.prod index 25aa95d..f63d165 100644 --- a/docker/.env.prod +++ b/docker/.env.prod @@ -39,9 +39,8 @@ REDIS_DB=0 LASER_GEN_PROVIDER=openai # ==================== 中转站 OpenAI 兼容 API(微达API / XBCL)==================== -# ⚠️ 生产环境务必先在 https://xbcl.link 申请独立 API key,不要用开发环境的 key -OPENAI_API_KEY=sk-b1f01c1ebc177e8fbd8e19ca3edeb542b521c39039977ef2974ce06c5d4cc18d -OPENAI_BASE_URL=https://xbcl.link/v1 +OPENAI_API_KEY=sk-eIOujD5rUugIRIPecFi3I2rFr6Bhxx1jsRzRm6phyNeeKrCI +OPENAI_BASE_URL=https://api.weda.cc/v1 OPENAI_MODEL=gpt-image-2 # ==================== SMS Configuration ==================== diff --git a/docker/docker-compose.local.yml b/docker/docker-compose.local.yml index 2598914..03c4c6c 100644 --- a/docker/docker-compose.local.yml +++ b/docker/docker-compose.local.yml @@ -446,7 +446,7 @@ services: DUBBO_MODERATION_SERVICE_URL: tri://moderationservice:20011 # 镭射卡 AI 生成(OpenAI 中转站 — 微达API,直连 OpenAI 会被墙) LASER_GEN_PROVIDER: ${LASER_GEN_PROVIDER:-openai} - OPENAI_BASE_URL: ${OPENAI_BASE_URL:-https://xbcl.link/v1} + OPENAI_BASE_URL: ${OPENAI_BASE_URL:-https://api.weda.cc/v1} OPENAI_API_KEY: ${OPENAI_API_KEY:-} OPENAI_MODEL: ${OPENAI_MODEL:-gpt-image-2} # 镭射卡 AI 生成(MiniMax 兜底) @@ -487,8 +487,6 @@ services: condition: service_healthy moderationservice: condition: service_healthy - lasercompositor: - condition: service_healthy networks: topfans-net: aliases: diff --git a/docker/docker-compose.override.yml b/docker/docker-compose.override.yml index 88b8bba..fa8c473 100644 --- a/docker/docker-compose.override.yml +++ b/docker/docker-compose.override.yml @@ -83,7 +83,7 @@ services: # (LASER_GEN_PROVIDER 的值由 .env.local.dev 控制,默认 openai) LASER_GEN_PROVIDER: ${LASER_GEN_PROVIDER:-openai} OPENAI_API_KEY: ${OPENAI_API_KEY:-} - OPENAI_BASE_URL: ${OPENAI_BASE_URL:-https://xbcl.link/v1} + OPENAI_BASE_URL: ${OPENAI_BASE_URL:-https://api.weda.cc/v1} OPENAI_MODEL: ${OPENAI_MODEL:-gpt-image-2} # 本机用生产同款 JWT_SECRET(生产 token 能直接用本机 gateway 验签) # ⚠️ 仅本地开发用,生产不要用这个 secret diff --git a/docker/docker-compose.prod.yml b/docker/docker-compose.prod.yml index 33e6eb9..e3bbbef 100644 --- a/docker/docker-compose.prod.yml +++ b/docker/docker-compose.prod.yml @@ -592,7 +592,7 @@ services: LASER_COMPOSITOR_URL: http://lasercompositor:7002 # 镭射卡 AI 生成(OpenAI 中转站 — 微达API,通过 .env.prod 注入 API Key) LASER_GEN_PROVIDER: ${LASER_GEN_PROVIDER:-openai} - OPENAI_BASE_URL: ${OPENAI_BASE_URL:-https://xbcl.link/v1} + OPENAI_BASE_URL: ${OPENAI_BASE_URL:-https://api.weda.cc/v1} OPENAI_API_KEY: ${OPENAI_API_KEY:-} OPENAI_MODEL: ${OPENAI_MODEL:-gpt-image-2} # 抠图(人像扣底)、OSS、Dify、JWT、Redis 全部走 env_file: .env.prod