Releases: liulangjietou/customer_work
Release list
v2.4.0
v2.3.0 — 通用能力下沉 starter · streamEvents 重构 · OTel 可观测 · 智能体能力批次
v2.2.0 以来共合入 38 个 PR(#45–#84),涵盖智能体能力批次、通用能力下沉 starter、流式链路重构与可观测建设。
智能体能力
- RAG 知识库检索接入对话/VibeCoding,AI 配置可管理知识库 (#62),智能体列表展示知识库列 (#78)
- 智能体跨会话长期记忆(memory 能力 + Store SPI 默认落库)(#51)
- 智能体加固批次:间接注入防护 + 后台委派任务 + A2A 协议导出 (#65)
- 内容风控:敏感词词库与限流规则后台可管理 (#63)
- 钉钉机器人接入后台工作区智能体(渠道接入层 + 开放 API + 管理页面)(#59)
- Skill zip 上传支持完整技能包(附属文件解析/存储/运行时加载)(#54)
- 对话/VibeCoding 五档执行模式选择器(Auto/Manual/Accept Edits/Plan/Bypass)(#53)
- 证书解析能力下沉 starter 并暴露给智能体(cert_parse/cert_match)(#69)
架构与重构
- 十项通用能力从 admin-server 下沉 customer-work-starter (#80)
- 流式链路整体迁移 streamEvents:starter chatStream (#74)、admin ChatService (#75)、客服端收官 (#76),删除多级增量去重逻辑
- admin 登录态持久化到 Redis,服务重启不再强制重新登录 (#77)
- 编码规范新增「通用功能优先下沉 starter」约定 (#56)
可观测与统计
- 可观测最后一公里:OTel 链路追踪 + Docker 一键监控栈 + 告警规则 (#81)
- 智能体调用分段耗时统计(MODEL/TOOL/MCP/SKILL)(#60),补落缓存 token 与模型自报耗时,看板展示缓存命中率 (#64)
后台管理与工作台
- 我的工作台:内网工作台(账号本/自动登录/脚本导入)+ SQL 客户端 (#49)
- 通用站内消息中心 + AI 代码审查异步化 (#47)
- 数据字典管理(starter Store SPI + admin 跨库 CRUD + useDict 接入)(#66)
- 对话/VibeCoding 附件预览(图片大图/文本内联/下载 + 消息级关联)(#61),输入框支持粘贴上传附件 (#50)
- 登录页轮播图后台管理 + 登录页实时获取 (#58)
- SQL 定义参数支持配置日期格式 (#55)
- 历史对话侧边栏 SQL 级分页 + 滚动加载 (#48)
开发者工具箱
- 工具箱扩展:AES 等两端能力对齐 + cron/JWT/diff/格式互转四项新工具 (#82)
- 证书解析(X.509/CSR/私钥匹配/PFX·JKS)(#67),证书/密钥库 PEM 导出 (#71)
- HTTP 请求工具(后端代理发送,支持常用请求方式)(#52)
修复
- 多构造器缺 @Autowired 导致的上下文启动失败与静默降级 (#68)
- CI 建库连红:补齐 admin 库 schema 镜像目录漏同步的 7 个迁移 (#72)
- MCP 发布链路兼容 mcpServers 包装格式配置 (#79)
- 刷新带 query 参数的页面后参数丢失 (#57)
- LLM 同步接口超时从全局 30s 放开至前端 180s/后端 170s (#45)
- 启动日志不再重复打印 mybatis-plus 横幅 (#83)
文档
- README 补架构图与核心流程图,更新模块表与测试基线 (#84)
测试基线:starter 1136 + admin-server 722 + app 78 + customer-channel 65 + gateway 1
完整变更:v2.2.0...v2.3.0
v2.2.0 — 开发者工具箱 + Redisson 分布式锁 + 工作区会话跨页保留 + CI 稳定性修复
概览
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 V27(
ai_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) - 修复会话串行化并发测试的计数竞态(
doFinally→doOnTerminate,零时序假设);已核实会话锁串行化保证本身无缺陷,产品代码不动
v2.1.0 — 用户工单系统全链路 + 业务数据真库化 + 附件多格式解析 + Nacos 网关
概览
v2.0.0 之后累计合入 18 个 PR(#18 ~ #35),围绕四条主线:用户工单系统全链路、业务数据真库化(去 Mock)、后台管理系统能力密集增强、附件多格式解析与微服务化(Nacos + 网关)。全仓测试 951 个,全部通过(starter 549 + app-server 77 + customer-channel 8 + admin-server 317)。
⚠️ 升级须知
- 三个 Maven 模块改名(groupId/依赖坐标同步变化):
customer-work-spring-boot-starter→customer-work-starter、customer-work-app→customer-work-app-server、customer-web→customer-channel;customer-work-downstream-app模块已移除 - 新增模块:
customer-work-gateway(Spring Cloud Gateway 统一路由入口)、customer-work-app(用户端 H5,Vue3+Vant4,非 Maven 模块) - 数据库迁移:customer_admin 库新增 Flyway V14 ~ V26;agent_scope_customer_work 库建表种子同步更新(工单/用户/聊天记录/附件等域),见
mysql/目录 - 新增可选外部依赖(不可达自动降级/跳过):MinIO(附件原文件存储)、PaddleOCR serving(自建 OCR 引擎)、Nacos(服务注册与运行时配置)、XXL-JOB(分布式调度)
新增:用户工单系统全链路(PR #24 ~ #26)
- 工单 7 态状态机 + 用户认证 + REST/WebSocket 双向实时通道,机器人-人工分发闭环
- 新用户端 H5
customer-work-app(Vue3+Vite+Vant4):聊天、订单、工单、消息反馈、头像上传 - 坐席侧:坐席工作台页面、坐席接入凭证、坐席订单管理全链路、用户工单后台模块
- 会话生命周期:空闲超时/强制结束、"重新开始对话"重开回 AI 自助而非直达人工排队
业务数据真库化(PR #24)
- 业务持久层全面 MyBatis-Plus 化,废除裸 JDBC 手写 SQL
- 售后/会员/投诉/知识库四域业务后端全部 Jdbc 化,业务数据不再走 Mock
- 工单/用户/聊天记录三域 Store SPI(接口 + InMemory 默认 + MyBatis-Plus 实现)
后台管理系统增强(PR #18 ~ #23、#31)
- 智能体高级能力:子 Agent 协作(含动态子 Agent、执行过程透传前端嵌套展示)、计划模式、任务列表、技能学习;模型主备容错
- Plan Mode 人工确认闭环(HITL) + 会话一键回滚 + AI Code Review + 沙箱验证修复闭环 + Docker 沙箱产物同步
- 多角色协作编程 + 代码知识库问答(P3 降级版)
- 模型厂商扩展至 DashScope / Anthropic / Gemini 原生接入
- SQL 配置管理与报表菜单动态挂载、系统工具(HTTP 请求工具)与智能体多选挂载
- Skill 多存储目标上传(本地/Nacos/SFTP)、定时任务内置 cron 动态调度器 + XXL-JOB 接入
- admin → 8080 运行时配置 Nacos 打通
admin-web 前端改版(PR #27、#29)
- Element Plus 按需引入、
useCrudPagecomposable 统一 8 个管理页 - 全站视觉 token 收敛 + 暗色模式;修复点击菜单闪白重载、登录卡片暗色态
新增:附件多格式解析(PR #30)
- 对话与 VibeCoding/用户端附件解析:视觉 OCR / PDF / Office / Markdown
- OCR 支持自建 PaddleOCR 开源引擎(配置切换,免 Key 私有化),默认引擎切至 paddleocr
- 附件原文件存储支持 MinIO;文本类型白名单扩展约 50 种(sql/yaml/log/主流源码)+ 可配置追加
新增:微服务化与智能路由中控中心(PR #32、#33)
- Nacos 服务注册 + Spring Cloud Gateway 统一路由(新模块 customer-work-gateway,BOM 隔离)
- 敏感词一次拦截中间件、会话总结建议、工单智能分配
安全加固
- sessionId 路径穿越防御、系统工具 SSRF 收口、入站附件类型白名单
- MCP HTTP/SSE 连接透传 config headers(修复鉴权服务 401)
文档
- README 精简为项目概览 + 全景架构图 + Roadmap,全量细节平移至 docs/ 目录(PR #36)
修复
- HandoffService 单参构造补
@Autowired,修复 store-mode=jdbc 空转(PR #34) - chatStream 过滤整段回放事件,消除流式回复重复 2-3 遍
- 修复 2.0 GA 下新会话业务工具组整体丢失(模型侧无订单查询工具)
- DefaultActiveGroupsToolkit 覆盖
copy()返回自身,修复守卫被防御性拷贝丢弃 - 系统提示词注入当前日期与单号不猜测约束
- 导出 xlsx POI classpath 版本分裂修复(easyexcel 4.0.3 + POI 5.5.1)
- AgentAccessCredentialTest 篡改签名偶发失败修复(PR #35)
Full Changelog: v2.0.0...v2.1.0
v2.0.0 — AgentScope 2.0 GA 全面迁移 + 客服后台管理系统上线
概览
main 分支完成从 AgentScope Java 1.0.12 → 2.0.0 GA 的全量迁移,同时首次上线独立的客服后台运营管理系统(customer-admin-server + customer-admin-web),并对生产可观测性、安全与数据一致性做了系统性加固。全仓测试 576 个,全部通过(starter 367 + app 13 + downstream 1 + customer-web 8 + customer-admin-server 187)。
⚠️ Breaking Changes / 升级须知
- 内置模型实现拆分为独立扩展模块:包名
io.agentscope.core.model.*→io.agentscope.extensions.model.{provider}.*(Builder API 本身不变) - 需要 JDK 17(原 1.0.12 为 JDK 8/11)
- 历史版本存档:
legacy-main-1.0.12标签为 1.0.12 最后状态;rc2.0/ga2.0分支为迁移历史存档,均不再更新 - TTS(
TTSHook/DashScopeRealtimeTTSModel)、PlanNotebook、Pipelines、SessionManager/StateModule已随框架移除,详见 docs/MIGRATION-2.0.md
框架升级:AgentScope Java 2.0.0 GA
- 会话持久化模型重构:
Session→AgentStateStore,Agent 改为无状态、按(userId, sessionId)自动加载/持久化 - 新增框架能力:Permission System、Plan Mode、Compaction、Workspace/Sandbox(local/docker)、Subagent、五段式 Middleware
- 顺带修复两处历史 bug:JDBC 字符集参数错误导致连接失败、审计查询 SQL
ESCAPE转义错误吞掉分页参数 - 对 29 个既往引用的框架 issue 全量重新核对,确认 3 个已在 GA 修复;新发现 3 条后续风险持续跟踪
新增:客服后台运营管理系统(customer-admin-server / customer-admin-web)
- RBAC 权限体系(用户/角色/权限树/操作日志)+ Sa-Token 鉴权,LDAP/AD 单点登录
- AI 配置域三个 CRUD:模型(连通性测试 + AES 加密存储)/ MCP(stdio/sse/http)/ Skill(支持 SKILL.md、zip 上传)
- 智能体管理:动态运行时装配 + 动态菜单聚合 + 实例缓存
- Chat / VibeCoding 工作区:流式对话、思考过程折叠展示、历史记录持久化(MySQL + Redis 读缓存)
- VibeCoding Git 助手 + AgentScope 2.0 代码沙箱(local/docker 两种隔离模式)
- AI 编码操作审计日志:VibeCoding 流式对话、文件保存、Git 助手三件套等全部 AI 编码操作纳入审计(操作人/agentCode/sessionId/变更文件/token 用量/耗时/结果),落库
ai_coding_audit_log表,配套查询接口与前端审计列表页
新增:客服业务能力增强
- 多 Agent 编排:智能路由 + 规则快车道 + 真并行 fanout + reduce 归纳合成
- 多轮槽位收集(退款表单)+ 人工审批闭环(HITL),对话阶段状态机 + 动态 Prompt
- 业务旅程补全:售前导购 / 售中 / 会员账户 / 投诉工单 / 主动服务 / 坐席辅助 / 会话质检
- 自动化意图评测框架 + LLM-as-Judge 回复质量评测
- 入站防注入围栏 + 用户消息级反馈闭环(点赞/点踩)
新增:五套官方前端接入(customer-web)
Admin 管理控制台、Chat Completions(OpenAI 兼容)、AG-UI 富事件协议、Studio 观测台、Channel(钉钉 / 飞书 / 企业微信)
生产可观测性与加固
- 全链路日志关联(MDC 贯穿 + W3C traceId)、慢请求/异常请求留证、会话故障诊断聚合 API
- 合成监控主动探活、SLA 升级引擎、业务数据分析报表
- 限流滑动窗口算法、模型成本熔断
- 审批工单 / 槽位收集 / 对话阶段状态支持多实例部署持久化(JDBC Store SPI,共 5 处套用)
安全
- 审批放行端点新增操作员身份鉴权 + 决策审计留痕(此前任意持有 API Key 的调用方可冒充坐席放行退款)
- 硬编码密钥全部改为环境变量注入
修复
- 审批放行后下游执行失败不再静默丢失(新增补偿重试)
- MCP 连通性测试两处 bug:不识别
mcpServers包装格式、缺少initialize()握手 - Vue Router 深链接直接刷新必现 404
- 模型连通性测试结果在非 Servlet 线程回调中因 Sa-Token 审计填充崩溃导致落库失败
测试
全仓 576 个测试全部通过(starter 367 + app 13 + downstream 1 + customer-web 8 + customer-admin-server 187)
文档
新增《生产部署手册》《生产接口使用手册》《生产就绪评估》《AI编码助手需求文档》;README / 详细技术文档 / MIGRATION-2.0 全面同步至 2.0 版本
Full Changelog: legacy-main-1.0.12...main