Documentation Index
Fetch the complete documentation index at: https://ppio.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
在 AI Agent 开发场景中,大语言模型(LLM)生成的代码执行已成为提升 Agent 自主性的关键技术。通过允许 Agent 在操作系统环境中执行代码并调用工具,可以显著增强其功能完整性和应用落地能力。然而,这种能力也带来了严峻的安全挑战。
当 Agent 在本地环境(即 Agent 程序运行的环境)中直接执行 LLM 生成的代码时,存在以下安全风险:
- 恶意代码注入:LLM 可能生成包含恶意逻辑的代码,导致系统资源被滥用或数据泄露;
- 环境破坏:执行的代码可能修改或删除重要文件,破坏运行环境稳定性;
- 跨用户影响:在多租户环境中,一个用户的恶意代码可能影响其他用户的正常使用;
为了解决这些安全挑战,业界普遍采用云端安全隔离环境作为解决方案。该方案通过在隔离的容器或虚拟机中运行代码,确保即使出现恶意行为,也不会对其他用户或底层基础设施造成影响。
PPIO Agent 沙箱服务基于这一理念,为开发者提供了一个安全、可控的代码执行环境,有效平衡了功能性和安全性需求。
通过使用 PPIO Agent 沙箱服务提供官方模板 code-interpreter-v1,您可以运行以下编程语言的代码:
如果您需要运行其他编程语言的代码,您可以通过 创建自定义模板 来支持。
执行 Python 代码
import { Sandbox } from 'ppio-sandbox/code-interpreter';
const sandbox = await Sandbox.create();
const result = await sandbox.runCode(
`
import requests
response = requests.get("https://sandbox.ppio.cn/health")
print(response.text)
`,
{ language: "python" }
);
console.log(result);
await sandbox.kill();
执行 JavaScript & TypeScript 代码
import { Sandbox } from 'ppio-sandbox/code-interpreter';
// Create a new sandbox
const sandbox = await Sandbox.create();
await sandbox.commands.run('npm install axios');
// Run the code
const execution = await sandbox.runCode(`
import axios from "axios";
const url: string = "https://sandbox.ppio.cn/health";
const response = await axios.get(url);
console.log(response.data);
`,
{ language: "ts" }
);
console.log(execution);
await sandbox.kill();
执行 R 代码
import { Sandbox } from 'ppio-sandbox/code-interpreter';
const sandbox = await Sandbox.create();
const result = await sandbox.runCode(
`
url <- "https://sandbox.ppio.cn/health"
content <- readLines(url, warn = FALSE)
print(paste(content, collapse = "\\n"))
`,
{ language: "r" }
);
console.log(result);
await sandbox.kill();
执行 Java 代码
import { Sandbox } from 'ppio-sandbox/code-interpreter';
const sandbox = await Sandbox.create();
const execution = await sandbox.runCode(`
import java.net.*;
import java.io.*;
URL url = new URL("https://sandbox.ppio.cn/health");HttpURLConnection con = (HttpURLConnection) url.openConnection();con.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer content = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
content.append(inputLine);
}
in.close();
con.disconnect();
System.out.println(content.toString());
`, { language: 'java' });
console.log(execution);
await sandbox.kill();
执行 Bash 代码
import { Sandbox } from 'ppio-sandbox/code-interpreter';
const sandbox = await Sandbox.create();
const execution = await sandbox.runCode(
'curl -s https://sandbox.ppio.cn/health',
{ language: 'bash' },
);
console.log(execution);
await sandbox.kill();