sandbox-service

- 在隔离的 Docker 容器中执行代码

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "sandbox-service" with this command: npx skills add lin-a1/skills-agent/lin-a1-skills-agent-sandbox-service

功能

安全的代码执行沙盒服务,能够:

  • 在隔离的 Docker 容器中执行代码

  • 支持 Python、Shell、Bash 多种语言

  • 自动超时控制和资源限制

  • 执行后自动销毁容器,无状态残留

适用场景

  • Agent 需要执行代码验证结果

  • 运行用户提供的代码片段

  • 数据处理和计算任务

  • 脚本执行和自动化

安全限制

  • 网络隔离:--network none

  • 内存限制:256MB

  • CPU 限制:1 核

  • 执行时间:最长 60 秒

  • 用户权限:非 root (nobody)

  • 文件系统:只读

调用方式

from services.sandbox_service.client import SandboxClient

client = SandboxClient()

健康检查

status = client.health_check()

执行 Python 代码

result = client.execute("print(1+1)", language="python")

执行 Shell 命令

result = client.execute("echo Hello && date", language="shell")

自定义超时(秒)

result = client.execute( code="import time; time.sleep(5)", language="python", timeout=10 )

传递环境变量

result = client.execute( code="import os; print(os.environ.get('MY_VAR'))", language="python", env_vars={"MY_VAR": "hello"} )

检查执行结果

if result["success"]: print(f"输出: {result['stdout']}") else: print(f"错误: {result['stderr']}")

信任模式(代码融合)

使用 trusted_mode=True 可以在代码中调用其他服务:

信任模式:允许访问 services 和网络

result = client.execute( code=''' from services.embedding_service.client import EmbeddingServiceClient from services.rerank_service.client import RerankServiceClient

获取 embedding

embed_client = EmbeddingServiceClient() vec1 = embed_client.embed_query("人工智能") vec2 = embed_client.embed_query("机器学习")

计算相似度

import math dot = sum(ab for a,b in zip(vec1, vec2)) norm1 = math.sqrt(sum(aa for a in vec1)) norm2 = math.sqrt(sum(b*b for b in vec2)) similarity = dot / (norm1 * norm2)

print(f"相似度: {similarity:.4f}") ''', language="python", trusted_mode=True # 开启信任模式 )

信任模式注意事项:

  • 允许访问 myagent_network 网络

  • 可以调用其他服务的 Python 客户端

  • 适合 Agent 代码融合场景

  • 仍有内存和 CPU 限制

返回格式

{ "success": true, "stdout": "2\n", "stderr": "", "exit_code": 0, "execution_time": 1.058, "error": null }

错误处理

{ "success": false, "stdout": "", "stderr": "执行超时(3秒)", "exit_code": -1, "execution_time": 3.05, "error": "Execution timeout" }

支持的语言

语言 标识 基础镜像

Python python , python3 , py

python:3.10-slim

Shell shell , sh

alpine:latest

Bash bash

bash:latest

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

ocr-service

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

websearch-service

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

deepsearch-service

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

embedding-service

No summary provided by upstream source.

Repository SourceNeeds Review