Agent Session 运行在隔离的沙箱容器中。本文列出容器的操作系统、预装工具、资源限制等参考信息。
操作系统
项目 | 值 |
发行版 | Ubuntu 22.04 LTS (Jammy) |
架构 | x86_64 (amd64) |
内核 | Linux 5.10.134(LIFSEA 容器引擎,基于 Linux 5.10 LTS) |
预装工具
系统工具
工具 | 版本 | 说明 |
git | 2.34+ | 版本控制 |
curl | 7.81+ | HTTP 客户端 |
wget | 1.21+ | 文件下载 |
jq | 1.6+ | JSON 处理 |
vim | 8.2+ | 文本编辑器 |
unzip / tar | 系统版 | 压缩/解压 |
ssh | OpenSSH 8.9+ | SSH 客户端 |
make | 4.3+ | 构建工具 |
语言运行时
语言 | 版本 | 包管理器 |
Python | 3.12.x | pip 24+ |
Node.js | 20.x LTS | npm 10+ |
Go | 1.22.x | go mod |
包管理
工具 | 说明 |
apt | 系统包管理 |
pip | Python 包 |
npm | Node.js 包 |
工作目录
/app
Agent 命令默认 cwd 为 /app。注意 $HOME 指向 /data(不同目录),~/ 展开后不在 cwd 下。上传的文件挂载路径见 Files 文档。
额外软件安装
通过 Environment 配置的 packages 字段安装额外依赖:
{
"config": {
"packages": {
"apt": ["postgresql-client", "redis-tools", "ffmpeg"]
}
}
}
容器启动时会根据 apt/pip/npm 键分别安装对应的系统包、Python 包和 Node.js 包。
也可在 Agent system prompt 中指示 Agent 按需安装其他依赖。
网络配置
网络访问能力由 Environment 的 config.networking 字段控制(必须为对象格式):
类型 | 说明 |
| 容器可访问公网(默认) |
| 仅允许访问已知安全的公共服务和包管理器 |
| 仅允许访问指定主机名(白名单) |
配置示例:
{
"config": {
"networking": {
"type": "allowed_hosts",
"allowed_hosts": [
"api.github.com",
"registry.npmjs.org"
]
}
}
}
详细字段说明请参见 云端环境 - 网络策略。
资源限制
资源 | 默认限制 | 说明 |
CPU | 4 vCPU | 分配的处理器核心数 |
内存 | 8 GB | 可用 RAM |
磁盘 | 25 GB | 工作区存储空间(overlay 文件系统,约 18 GB 可用) |
执行时长 | 30 分钟 | 单次 Turn 最大执行时间 |
超出内存或磁盘限制时,进程会被 OOM Kill 或写入失败。请在 system prompt 中提醒 Agent 注意资源用量。
文件持久化
同一 Session 内,文件在 Turn 之间保持不变
Session 结束(archived/deleted)后,容器及其文件销毁
需要长期保存的文件,应通过 Files API 上传到平台存储
执行用户
容器内所有命令以 root 用户身份执行。whoami 返回 root,但 USER 环境变量未注入(为空字符串)。
因此 Agent 可以直接安装系统包、写入任意系统目录,无需 sudo。如对此有限制需求,请在 Agent 的系统提示词中明确说明。
环境变量
容器中预设的环境变量:
变量 | 值 | 说明 |
HOME | /data | 用户主目录( |
USER | (未设置,为空字符串) | 注: |
SHELL | /bin/bash | 默认 Shell |
LANG | en_US.UTF-8 | 区域设置 |
Vault 中的凭证会以环境变量形式注入(需在 Session 创建时关联 Vault)。