⬆️ 升级到 2.16.2
2.16.2 调整了 Agent 模块、组件 API、存储和执行配置。已有 Agent 项目需要同时修改依赖、组件和配置,不能只替换 Maven 版本号。
# 依赖与组件
| 旧版用法 | 2.16.2 用法 |
|---|---|
liteflow-react-agent-* | 对应的 liteflow-agent-* 模块,版本统一为 2.16.2 |
迭代版本中的 liteflow-agent-harness | liteflow-agent-core |
ReActAgentComponent | com.yomahub.liteflow.agent.harness.component.HarnessAgentComponent |
userPrompt() | userPrompt(LiteFlowAgentContext context) |
handleReply(reply) | handleReply(reply, context) |
ctx()/ReActAgentContext | 使用方法参数中的 LiteFlowAgentContext |
hooks() | 通过 middlewares() 注册 MiddlewareBase |
skills() 技能名称列表 | skillFilter() 返回技能过滤条件 |
usedSkills() | context.getUsedSkills() |
HarnessAgentComponent 的包名仍包含 harness,不要因 Maven 模块合并而改成其他包。完整组件示例见快速开始。
# 配置重新对照
下表省略共同前缀 liteflow.agent.。这些是接入方式的变化,不表示旧属性仍会自动映射。
| 旧配置或机制 | 新配置或处理方式 |
|---|---|
session.memory.mode 的 JVM/LOCAL_FILE 模式 | session-store.type=JSON,默认保存到 ./data/agent-state |
session.memory.redis.*/session.memory.mysql.* | session-store.redis.*/session-store.mysql.*,并引入独立存储模块 |
workspace.root | 按用途选择 JSON 工作区存储或 harness.local.workspace-root,不再是一项通用必填配置 |
shell.* | harness.shell.*;关闭命令工具用 enableShellTool() 返回 false |
defaults.max-iterations | max-iterations,默认值为 100 |
logging.react-enabled | execution-log-enabled |
迭代版本中的 runtime.namespace | application-name,Spring Boot 默认沿用应用名 |
迭代版本中的 harness.local-shell-enabled | 统一使用组件的 enableShellTool() |
旧的 Session 缓存、workspace 清理、文件工具开关等配置或覆写方法,不应直接照搬。以配置速查和扩展点速查为准。
Shell 默认开启。本地执行需配置命令目录;只做对话的组件应显式关闭 Shell。JSON+Docker 需要持久保存快照,Redis/MySQL+Docker 则不要设置本地 snapshot-root。
# 会话数据与并发行为
新存储不会自动迁移旧会话、文件和快照,修改 session-store.type 也只会切换后端。升级前备份旧数据,先用新会话验证接入;需要继续使用旧数据时,单独完成数据迁移与续聊验证。
应用名、会话 ID 和 Agent 标识必须合法并保持稳定。不要再依靠非法路径字符自动安全化,也不要在组件运行期间按请求改变 agentKey()。
同一会话的 Agent 共享工作区,调用受会话锁协调。旧代码即使使用 WHEN,也不应假设同一会话中的 Agent 必然并行;独立任务应使用独立会话。
# 流式页面和扩展点
旧版 agent.reasoning、agent.tool_result 等事件处理,应按流式输出调整为本版事件协议。正文增量使用 agent.text.delta,工具状态使用 agent.tool.call.*、agent.tool.result.end 等事件。
最后验证一次完整业务调用、多轮对话、重启恢复和错误处理。使用 Skills、命令工具、人工确认或附件交付时,也分别验证这些入口。



