用途:该技能用于在远程云沙箱中运行、执行或评估用户代码,支持 python、javascript、r、java(大小写不敏感),不在本地终端执行。
主要能力:入口脚本 scripts/run_code.py 自动处理沙箱创建、代码执行与结果解析。基本用法:python scripts/run_code.py --code "<user_code>" --language python;也可用 --code-file /path/to/file.py 从文件执行;加 --json 输出结构化结果 { success, result, logs: { stdout, stderr }, error_message }。超时最长 60 秒(--timeout-s)。
依赖与配置:需 Python >= 3.8 与 wuying-agentbay-sdk >= 1.0.0,安装命令 pip install wuying-agentbay-sdk。若报 ModuleNotFoundError: No module named 'agentbay',安装后重试。API Key 在 AgentBay Console 申请,保存到 ~/.config/agentbay/api_key(macOS/Linux)或 %USERPROFILE%.config\agentbay\api_key(Windows)。使用域名:agentbay.aliyuncs.com、agentbay.console.aliyun.com、mirrors.aliyun.com。
执行规则:所有用户代码必须经 run_code.py 运行,禁止本地执行(如 python -c、node -e)作为回退;瞬时错误可重试一次;缺 API Key 或模块缺失时引导修复后重试。不要安装除 wuying-agentbay-sdk 外的包,也不要创建虚拟环境。
输出与文件:退出码 0 为成功,结果在 stdout;非 0 为失败,错误在 stderr。写文件时用 --json 模式仅提取 result 字段,避免混入 SDK 元数据。下载沙箱生成文件(如图表)时用 Python json 模块提取 base64,勿用 grep/sed/awk;解码示例:python -c "import base64,json,sys; d=json.load(sys.stdin); open('out.png','wb').write(base64.b64decode(d['result']))" < output.json。校验文件大小大于 0,图片检查魔数(89 50 4E 47 / FF D8 FF),图表应大于 5 KB,否则重试。
中文渲染:脚本会自动检测 CJK 字符并注入字体配置;当代码含中文且使用 matplotlib/plt 时,建议首次执行即前置安装 fonts-wqy-microhei 并设置 font.family 为 WenQuanYi Micro Hei、axes.unicode_minus 为 False,以避免中文显示为方块。
信息安全:不要在回复中输出环境变量名、API Key 值或 SDK 调试细节;执行时用 --json 模式,仅向用户展示 result 与 error_message。
限制:仅支持上述四种语言,超时上限 60 秒;沙箱包环境由沙箱自身管理,不应从外部修改。