Переменные окружения
Переменные из Sandbox.create доступны командам во всей песочнице. Переменные из commands.run действуют только для этой команды и переопределяют общее значение с тем же именем.
mjs
import { Sandbox } from "@abox-dev/sdk";
const sandbox = await Sandbox.create({
envs: { APP_ENV: "development" },
});
try {
const result = await sandbox.commands.run(
'printf \'%s %s %s\' "$AGENTBOX_SANDBOX_ID" "$APP_ENV" "$REQUEST_ID"',
{ envs: { REQUEST_ID: "request-42" } },
);
console.log(result.stdout);
} finally {
await sandbox.kill();
}AgentBox также передаёт процессам, запущенным через SDK, системные переменные:
AGENTBOX_SANDBOX=trueобозначает микровиртуальную машину AgentBox;AGENTBOX_SANDBOX_IDсодержит идентификатор песочницы;AGENTBOX_TEMPLATE_IDсодержит идентификатор шаблона.
Для инструментов, которые не наследуют окружение команды SDK, те же значения доступны в файлах каталога /run/agentbox.
Процессы с достаточными правами внутри песочницы могут читать переменные друг друга. Используйте их для настройки среды выполнения, но не как границу изоляции между процессами.