Overview
VeADK provides a set of tools that run tasks remotely in an AgentKit sandbox:
Import paths:
from veadk.tools.builtin_tools.run_code import run_codefrom veadk.tools.builtin_tools.execute_skills import execute_skillsfrom veadk.tools.builtin_tools.coding import codingfrom veadk.tools.builtin_tools.run_sandbox_agent import run_sandbox_agent
Environment & prerequisites
Environment variables:MODEL_AGENT_API_KEY: API key for the agent’s reasoning modelVOLCENGINE_ACCESS_KEY/VOLCENGINE_SECRET_KEY: Volcengine AK / SKAGENTKIT_TOOL_ID: default AgentKit sandbox ID, used as the fallback for all sandbox toolsAGENTKIT_TOOL_ID_SCRIPT: sandbox ID dedicated torun_code; falls back toAGENTKIT_TOOL_IDAGENTKIT_TOOL_ID_SKILLS: sandbox ID dedicated toexecute_skills; falls back toAGENTKIT_TOOL_IDAGENTKIT_TOOL_ID_OPENCODE: sandbox ID dedicated tocoding; falls back toAGENTKIT_TOOL_IDAGENTKIT_TOOL_HOST: endpoint for calling AgentKit ToolsAGENTKIT_TOOL_SERVICE_CODE: service code for calling AgentKit Tools
config.yaml keys:
config.yaml
1
Create a sandbox tool
Create a sandbox tool in the console: give it a name (e.g.
AIO_Sandbox_xxxx) and choose the “all-in-one tool set” type, which includes Browser, Terminal, and Code runtimes.2
Obtain the sandbox ID
After creation, obtain the sandbox ID from the console (looks like
t-ye8dj82xxxxx) and fill it into the environment variables or config.yaml above.Usage
examples/tools/run_code/agent.py
Run shell commands
In addition to Python and other languages,run_code can execute shell commands in the sandbox. Set language to bash or shell; code is then submitted as the command to run in the remote sandbox.
Parameters
exec_dir, env, hard_timeout, and max_output_length apply only when language is bash or shell.
Example
run_code_bash.py
Injecting environment variables into sandbox executions
execute_skills and run_sandbox_agent accept custom environment variables that are injected into a single sandbox execution. Use them to pass runtime parameters (configuration values, credential references, feature flags, and so on) to a skill or an in-sandbox workflow. Injected variables are scoped to the current execution only and are not persisted to the sandbox base environment.
execute_skills injects variables through the env_vars parameter; run_sandbox_agent injects them through extra_env_vars. Both share the same validation and merge rules.
Parameters
Validation rules
Injected variables are merged with the framework-managed variables that VeADK sets itself, then passed to the sandbox process under these rules:- Names must match
^[A-Za-z_][A-Za-z0-9_]*$; otherwise initialization raises an error. TOOL_USER_SESSION_IDandUSER_SESSION_IDare managed by VeADK and cannot be overridden; initialization raises an error if they are set.- Values must be strings; non-string values raise an error.
- Values must not contain null bytes (
\x00); otherwise initialization raises an error. - Custom variables override any same-named variable in the sandbox process environment (including VeADK defaults such as
TOS_SKILLS_DIRandSKILL_SPACE_ID), so resource paths for a single execution can be adjusted on demand.
Examples
The following example wraps both calls as function tools.Runner injects tool_context when it invokes a function tool, while the application sets the environment variables for each execution in the wrapper:
sandbox_env.py