From e955b3d6e8735c749312830b9cfeb530e684798e Mon Sep 17 00:00:00 2001 From: Junyan Qin Date: Sun, 19 Apr 2026 14:45:38 +0800 Subject: [PATCH] feat(box): add global sandbox scope option Add a 'Global (shared by all)' option to the sandbox scope selector. Uses a constant '{global}' template variable that always resolves to 'global', so all users and chats share one sandbox container. --- src/langbot/pkg/box/service.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/langbot/pkg/box/service.py b/src/langbot/pkg/box/service.py index a5383225..54cbb82e 100644 --- a/src/langbot/pkg/box/service.py +++ b/src/langbot/pkg/box/service.py @@ -176,7 +176,8 @@ class BoxService: .get('local-agent', {}) .get('box-session-id-template', '{launcher_type}_{launcher_id}') ) - variables = query.variables or {} + variables = dict(query.variables or {}) + variables.setdefault('global', 'global') return template.format_map(collections.defaultdict(lambda: 'unknown', variables)) def build_skill_extra_mounts(self, query: pipeline_query.Query) -> list[dict]: