LiteFlow LiteFlow
首页
  • v2.16.2 (当前版本)
  • What's New

    • What' s New In LiteFlow v2.16.2?
    • What' s New In LiteFlow v2.16.1?
    • What' s New In LiteFlow v2.16.0?
  • 历史版本

    • v2.15.X
    • v2.13.X
    • v2.12.X
    • v2.11.X
    • v2.10.X
    • v2.9.X
    • v2.8.X
  • 升级指南

    • 2.16.2 Agent 升级说明
    • 2.13.0升级指南
    • 2.12.4升级指南
    • 2.12.0升级指南
    • 升级到2.9.3说明
    • 升级到2.9.X说明
    • 升级到2.8.X说明
    • 升级到2.7.X说明
AI Agent
AI Skill
IDEA 插件
  • 答疑解惑

    • 常见问题
    • 如何理解上下文这个概念?
    • Slot是一个什么样的概念?
  • 项目与社区

    • 项目介绍
    • 项目成员
    • 更新记录
    • 参与开发
    • 加入群聊
    • 谁在使用
赞助
GitHub (opens new window)

广告采用随机轮播方式显示 ❤️成为赞助商
首页
  • v2.16.2 (当前版本)
  • What's New

    • What' s New In LiteFlow v2.16.2?
    • What' s New In LiteFlow v2.16.1?
    • What' s New In LiteFlow v2.16.0?
  • 历史版本

    • v2.15.X
    • v2.13.X
    • v2.12.X
    • v2.11.X
    • v2.10.X
    • v2.9.X
    • v2.8.X
  • 升级指南

    • 2.16.2 Agent 升级说明
    • 2.13.0升级指南
    • 2.12.4升级指南
    • 2.12.0升级指南
    • 升级到2.9.3说明
    • 升级到2.9.X说明
    • 升级到2.8.X说明
    • 升级到2.7.X说明
AI Agent
AI Skill
IDEA 插件
  • 答疑解惑

    • 常见问题
    • 如何理解上下文这个概念?
    • Slot是一个什么样的概念?
  • 项目与社区

    • 项目介绍
    • 项目成员
    • 更新记录
    • 参与开发
    • 加入群聊
    • 谁在使用
赞助
GitHub (opens new window)
  • 🤖 LiteFlow Agent 简介
  • 快速开始

    • 📦 引入依赖
    • ⚙️ 基本配置
    • 🧩 编写 Agent 组件
    • 📤 获取 Agent 结果
    • 🌊 流式输出
  • 🎬 演示项目
  • 🏪 模型配置
  • 📐 结构化输出
  • Jev 智能选择组件

    • Jev 模型与模块介绍
    • 依赖与配置
    • 编写选择组件
    • 置信度与异常处理
    • 客服演示与测试
  • 会话与记忆

    • 💬 会话标识
    • 🧠 会话存储
    • 🔄 多轮对话
    • 🗂️ 聊天历史
    • 📝 长对话与长期记忆
  • 工作空间与工具

    • 📂 工作区与执行环境
    • 📄 文件工具与产物
    • 🐚 Shell 工具
    • 🐳 Docker 沙箱
      • Docker 模式
      • Docker 常用调整
      • 快照和部署边界
    • 🔧 Java 业务工具
    • 🔌 MCP 工具
  • 🎯 Skills 技能系统
  • 高级编排

    • 🔀 条件路由与并行调用
    • 🤝 多 Agent 协作
    • 🙋 工具调用前人工确认
    • 🧭 子代理与计划
    • 🌐 远程 A2A 调用
  • 运行机制与可观测

    • 🔁 迭代次数与超时
    • 📋 执行日志与事件
    • 🪝 中间件扩展
  • 📖 扩展点速查
  • ⚡ 配置速查
  • 🛡️ 执行与访问边界
  • 🔍 故障排查
  • ⬆️ 升级到 2.16.2
  • AI Agent编排
  • 工作空间与工具
铂赛东
2026-09-19
目录

🐳 Docker 沙箱

本页配置的是 Agent 执行命令的沙箱容器。先为组件开启 enableShellTool(),并按会话存储选择 JSON、Redis 或 MySQL。

# Docker 模式

先确认 Java 应用所在环境能执行 docker 并访问 daemon:

docker version
docker info

准备包含业务所需工具的镜像。仓库提供了包含 Python、Node.js 和常用命令的镜像,从 LiteFlow 仓库根目录构建:

./liteflow-agent/docker/sandbox/build.sh

构建后得到 liteflow-agent-sandbox:node22。也可使用自己的镜像,并在镜像中安装所需依赖。

使用 JSON 存储时,保留会话存储中的存储配置,添加以下执行配置即可:

liteflow.agent.harness.filesystem-backend=DOCKER
liteflow.agent.harness.docker.image=liteflow-agent-sandbox:node22
liteflow.agent.harness.docker.snapshot-root=./data/agent-snapshots

容器中的默认工作目录是 /workspace。默认每次 Agent 调用后回收容器,下一次从快照恢复业务文件。请持久保留 JSON 状态目录和快照目录。

使用 Redis/MySQL 存储时,只需配置后端和镜像:

liteflow.agent.harness.filesystem-backend=DOCKER
liteflow.agent.harness.docker.image=liteflow-agent-sandbox:node22

Redis/MySQL 会自动保存 Docker 快照,此时必须移除 docker.snapshot-root。Docker 模式不需要配置 harness.local.workspace-root。

三种存储的搭配关系如下:

会话存储 本地执行 Docker 执行
JSON JSON 保存状态和文件,本地目录运行命令 JSON 保存状态,snapshot-root 保存容器业务文件
Redis Redis 保存状态和文件,本地目录运行命令 Redis 保存状态与容器快照
MySQL MySQL 保存状态和文件,本地目录运行命令 MySQL 保存状态与容器快照

# Docker 常用调整

默认容器断网,内存上限 512 MiB,CPU 配额为 1。需要访问外部服务或运行较重的任务时,按需调整:

liteflow.agent.harness.docker.network=BRIDGE
liteflow.agent.harness.docker.memory-size-bytes=1073741824
liteflow.agent.harness.docker.cpu-count=2

模型 API、Java 工具和 MCP 客户端由 Java 应用调用;Docker 的网络设置控制容器内命令的网络。

多轮调用频繁、希望复用容器时设置:

liteflow.agent.harness.docker.lifecycle=SESSION_IDLE
liteflow.agent.harness.docker.idle-timeout=10m
liteflow.agent.harness.docker.max-cached-sandboxes=8
生命周期 行为
PER_CALL,默认 每次调用后保存快照并回收容器,适合及时释放资源
SESSION_IDLE 复用同一会话的容器,空闲后回收,适合频繁续聊

JSON 使用 SESSION_IDLE 时必须配置快照目录;快照主要在正常回收时保存,进程被强杀可能丢失最近的文件变更。Redis/MySQL 模式会在每次调用结束时保存快照。两种模式的快照都只保存工作区文件,不保存进程、内存或工作区外临时安装的依赖。

Java 应用本身也运行在容器中时,仍需为它提供 Docker CLI 和 daemon 访问方式。LiteFlow 不会自动挂载 Docker socket。各部署实例应能取得同一业务镜像。

# 快照和部署边界

快照保存工作区文件,不保存运行中的进程、内存状态或工作区外安装的软件。Python、Node.js 和业务依赖应预先安装到镜像中。

当前属性配置不提供任意 volumes、端口发布或环境变量映射。静态资料投影是复制,并非宿主机挂载。Java 工具、模型请求和 MCP 客户端仍在 Java 应用中运行,容器网络配置只控制容器内命令。

完整参数见配置速查,可运行案例见演示项目。

帮助我们改善此文档 (opens new window)
上次更新: 2026/09/20, 11:49:27
🐚 Shell 工具
🔧 Java 业务工具

← 🐚 Shell 工具 🔧 Java 业务工具→

Theme by Vdoing | Copyright © 2020-2026 铂赛东 | MIT License
沪ICP备18012955号-2