File tree Expand file tree Collapse file tree
java/com/involutionhell/backend/openai/service Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -8,7 +8,8 @@ PGSSLMODE=require
88
99# Spring Boot JDBC 连接(由上面的 PG 变量转换而来)
1010SPRING_DATASOURCE_URL = jdbc:postgresql://ep-xxxx.ap-southeast-2.aws.neon.tech/neondb?sslmode=require
11- SPRING_SQL_INIT_MODE = always
11+ # 首次部署时设为 always 以初始化 schema.sql,之后改为 never
12+ SPRING_SQL_INIT_MODE = never
1213
1314# --- 本地开发用 Docker PostgreSQL(无 Neon 账号的开发者使用)---
1415POSTGRES_DB = involution_hell
@@ -35,7 +36,8 @@ AUTH_URL=https://involutionhell.com
3536# --- Actuator ---
3637MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE = health,info,metrics
3738MANAGEMENT_ENDPOINT_HEALTH_PROBES_ENABLED = true
38- MANAGEMENT_ENDPOINT_HEALTH_SHOW_DETAILS = always
39+ # when-authorized 生产推荐;开发时可改为 always
40+ MANAGEMENT_ENDPOINT_HEALTH_SHOW_DETAILS = when-authorized
3941
4042# --- 网关(Caddy)---
4143CADDY_HTTP_PORT = 80
Original file line number Diff line number Diff line change 1313import java .util .LinkedHashMap ;
1414import java .util .List ;
1515import java .util .Map ;
16+ import jakarta .annotation .PostConstruct ;
17+ import org .slf4j .Logger ;
18+ import org .slf4j .LoggerFactory ;
1619import org .springframework .stereotype .Service ;
1720import org .springframework .util .StringUtils ;
1821import tools .jackson .databind .ObjectMapper ;
1922
2023@ Service
2124public class HttpOpenAiStreamGateway implements OpenAiStreamGateway {
2225
26+ private static final Logger log = LoggerFactory .getLogger (HttpOpenAiStreamGateway .class );
27+
2328 private final HttpClient httpClient ;
2429 private final ObjectMapper objectMapper ;
2530 private final OpenAiProperties properties ;
@@ -36,6 +41,13 @@ public HttpOpenAiStreamGateway(
3641 this .properties = properties ;
3742 }
3843
44+ @ PostConstruct
45+ void warnIfNotConfigured () {
46+ if (!StringUtils .hasText (properties .apiKey ())) {
47+ log .warn ("[OpenAI] OPENAI_API_KEY 未配置,/openai/responses/stream 调用时将返回 400 错误" );
48+ }
49+ }
50+
3951 /**
4052 * 校验 OpenAI 地址、密钥和模型配置是否满足调用要求。
4153 */
Original file line number Diff line number Diff line change @@ -9,7 +9,9 @@ spring.datasource.password=${PGPASSWORD:}
99spring.datasource.driver-class-name =org.postgresql.Driver
1010
1111# 初始化配置
12- spring.sql.init.mode =${SPRING_SQL_INIT_MODE:always}
12+ # 默认 never:生产环境不在每次启动时执行 schema.sql
13+ # 首次部署或本地初始化时设置 SPRING_SQL_INIT_MODE=always
14+ spring.sql.init.mode =${SPRING_SQL_INIT_MODE:never}
1315spring.sql.init.schema-locations =classpath:schema.sql
1416
1517# Spring Security OAuth2 Client 配置 (仅保留占位符)
@@ -28,9 +30,10 @@ justauth.type.github.redirect-uri=${AUTH_URL:http://localhost:3000}/api/auth/cal
2830# JWT ?? (Temporarily Commented Out for JustAuth Migration)
2931# jwt.secret-key=${AUTH_SECRET:involutionhell-default-secret-key-32-chars-long}
3032
31- # Actuator ??
33+ # Actuator
3234management.endpoints.web.exposure.include =${MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE:health,info,metrics}
33- management.endpoint.health.show-details =always
35+ # when-authorized:未认证请求只看到 UP/DOWN,不暴露数据库、磁盘等细节
36+ management.endpoint.health.show-details =${MANAGEMENT_ENDPOINT_HEALTH_SHOW_DETAILS:when-authorized}
3437
3538# AI 配置 (还原为您之前的结构,取消我擅自建议的默认值)
3639openai.api-key =${OPENAI_API_KEY:}
You can’t perform that action at this time.
0 commit comments