线上容器漏注入 DEEPSEEK_API_KEY 时,api-key 会落到 application.yml 里的中文 占位符,直到某个用户发起一次对话才以 HTTP 401 暴露: ResourceAccessException: I/O error on POST ... java.net.HttpRetryException: cannot retry due to server authentication, in streaming mode 排查成本很高。 DeepSeekClient 增加 @PostConstruct 自检(可 grep [大模型]): - 为空 / 仍含"请替换"占位符 -> ERROR,并写明修法 - 不以 sk- 开头 -> WARN 提示格式可疑 - 正常 -> INFO 打长度 + host + model(不打印 key 本体) 修法提示:在 projman 的 /app/config/application-prod.yml 填真实 key, 或给容器注入环境变量 DEEPSEEK_API_KEY(勿写入 public 仓库中的 application.yml)。
- com.yunhai.agent,端口 8093,context-path /agent,制品 target/agent.jar;与 NoticeService 同构 - CAS 单点登录 + 三层角色权限(学生/教师/管理员/访客)+ 会话与工具调用审计落库 - DeepSeek 大模型编排 + 7 个业务模块工具(请假/公告/宿舍/活动/作业/资源库/教师发展) - 浏览器代执行协议(服务端挂起 → 前端用登录态代调 → toolResult 续跑)+ 调用失败深链兜底 - 登出修复:服务端真正 session.invalidate() + 前端两步登出 + logout-guard - 保留 projman 注入的 .gitea/workflows/build.yml 与 docker/Dockerfile;docker/application-prod.yml、run-app.sh 随工程入库