import json
import os
from acontext import AcontextClient
from acontext.agent.sandbox import SANDBOX_TOOLS
from openai import OpenAI
client = AcontextClient(api_key=os.getenv("ACONTEXT_API_KEY"))
openai_client = OpenAI()
skill_id = "your-skill-id"
# Create sandbox and disk
sandbox = client.sandboxes.create()
disk = client.disks.create()
# Mount skill in sandbox
ctx = SANDBOX_TOOLS.format_context(
client,
sandbox_id=sandbox.sandbox_id,
disk_id=disk.id,
mount_skills=[skill_id]
)
tools = SANDBOX_TOOLS.to_openai_tool_schema()
context_prompt = ctx.get_context_prompt()
messages = [
{"role": "system", "content": f"You have sandbox tools.\n\n{context_prompt}"},
{"role": "user", "content": "What communication guidelines should I follow?"}
]
# Agent loop
while True:
response = openai_client.chat.completions.create(
model="gpt-4.1", messages=messages, tools=tools
)
message = response.choices[0].message
messages.append(message)
if not message.tool_calls:
print(f"Assistant: {message.content}")
break
for tc in message.tool_calls:
result = SANDBOX_TOOLS.execute_tool(ctx, tc.function.name, json.loads(tc.function.arguments))
messages.append({"role": "tool", "tool_call_id": tc.id, "content": result})
# Cleanup
client.sandboxes.kill(sandbox.sandbox_id)
client.disks.delete(disk.id)