Skip to content

v2.2.0 — 开发者工具箱 + Redisson 分布式锁 + 工作区会话跨页保留 + CI 稳定性修复

Choose a tag to compare

@liulangjietou liulangjietou released this 21 Jul 06:03
· 255 commits to main since this release
v2.2.0
f329e7a

概览

v2.1.0 之后合入 3 个 PR(#40#41#43,主线三条:开发者工具箱(Agent 系统工具 + admin 前端本地工具页双出口)、分布式锁组件化(starter 新增 lock 包,菜单排序加锁落地)、admin 工作区体验(进行中会话跨页面保留等)。另修复 main 分支 CI 连续失败的两个根因。全仓测试 1227 个,CI 全部通过(starter 700 + app-server 78 + customer-channel 8 + admin-server 440 + gateway 1)。

⚠️ 升级须知

  • 数据库迁移:customer_admin 库新增 Flyway V27ai_system_tool 种子 devtoolbox、「系统管理」下新增菜单 id=150 /system/devtools、权限点 devtools:view
  • 新增依赖:admin-web 前端新增 crypto-js(本地 AES/哈希计算);starter 与 admin-server 两处 pom 显式声明 redisson 3.52.0(agentscope-bom 不托管,升级需两处同步)
  • 新增配置customer-work.distributed-lock.*(Redisson 分布式锁自动装配,惰性连接,Redis 不可达不影响应用启动)
  • 新增错误码:MENU_REORDER_CONFLICT(40032)(菜单拖拽锁冲突 fast fail)

新增:开发者工具箱(PR #43

JSON 格式化/校验、时间戳转换、Base64/URL/Hex 编解码、哈希(HMAC)/UUID、AES 加解密、正则测试,同一套能力两个出口:

  • Agent 出口(复用系统工具机制,零侵入):starter 新增 tool/devtool/ 包——四组纯函数 Ops + DevToolboxTools 壳(13 个 @Tool 方法);admin-server 以 @Bean("devtoolbox") 显式装配,bean 名对齐 ai_system_tool.tool_code,智能体配置页勾选即挂载,不改 ToolRegistrar、不进 8080 主链路
  • admin 前端出口(纯本地计算,零后端接口):/system/devtools 工具箱页,300ms debounce 实时计算、一键复制、localStorage 历史(AES 密钥/IV 不落存储)、?tool= 直达路由;JSON 校验带行列定位、时间戳双向联动 + 多时区对照、AES 支持 CBC/ECB/CTR
  • LLM 出口防护:异常统一收敛为可自我纠正的 {"error":...};结果超 8000 字符截断标注,防大 JSON 撑爆上下文

新增:Redisson 分布式锁组件 + 菜单排序加锁(PR #41

  • starter 新增 lock 包:DistributedLockExecutor 接口 + Redisson 实现 + 自动装配(均 @ConditionalOnMissingBean),惰性连接
  • MenuAdminController#reorder 加锁修复多管理员并发拖拽乱序:PermissionService.reorder 拆为加锁外层 + @Lazy 自注入代理调用的 @Transactional 内层,保证锁释放严格晚于事务提交

admin 工作区体验(PR #41

  • 进行中会话跨页面/跨智能体保留:会话与 SSE 流从组件本地 ref 提升到 Pinia store,面板变纯视图;切菜单、切智能体、新建会话不再中断进行中的流;历史侧边栏合并内存活跃会话并标「进行中」;MainLayout keep-alive 精确缓存 WorkspaceView
  • 模型列表「厂商」列更名「接入协议」(provider 语义为接入协议,openai=所有 OpenAI 兼容端点),单元格显示友好文案;工作区三按钮统一胶囊规格
  • 知识库问答 ask 链路注入 SYSTEM 系统提示词(检索专家定位 + 无依据即答不知道),抑制幻觉

CI / 测试稳定性(PR #40

  • ci.yml 补映射 Nacos gRPC 端口 9848,修复三个 Nacos 集成测试在 CI 必挂(探活 8848 可达但客户端连不上 gRPC)
  • 修复会话串行化并发测试的计数竞态(doFinallydoOnTerminate,零时序假设);已核实会话锁串行化保证本身无缺陷,产品代码不动