- IntentShortcut 泛化成规则表(Rule{短语集 → Intent}):加新意图只需 ① 一条 Intent ② 一个短语集 ③ RULES.add(...),不用动 AgentOrchestrator。 新增 NOTICE_PUBLISH —— 仅教职工(notice.publish),学生无落点则落回模型如实说明。 短语表只收带「发/发布」动词的说法(发布公告/发个公告/发布校园公告/发通知…), 光说「公告」「通知」更像查询,不收,避免误判。 - ★ 修 prepareOptionCall 漏拼字典工具的 fixed 参数:公文部门字典是 /api/dict/List?type=1,丢了 type 前端取回的是「没指定类型」的结果 → 空下拉。 - deptId 补 optionsKeys("k","v"):平台通用字典返回 {k,v} 而非 id/name; 服务端兜底 fetchDictOptions 的候选键也补上 k/v。 - ★ 移除 notice.publish 的 publishType 与 deptName:后端 /api/notice/Create 就是 直接发布(无 publishType 字段,是否转审批由学校「应用设置」绑定的流程决定), 声明它会让用户以为选了「存草稿」却仍然直接发出;deptName 由后端按 deptId 反查字典。 - system prompt 加第 10 条说明。 - 测试:新增 NoticeIntentFormTest(7),IntentDirectFormTest 加教师/学生两条公告用例 (仍用「一调就炸」的假 LLM 证明不过大模型);全量 71/71。
- 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 随工程入库