mirror of
https://github.com/labring/FastGPT.git
synced 2026-02-27 01:02:22 +08:00
2.0 KiB
2.0 KiB
FastGPT Sandbox Server
借助 Sealos 的部署能力,进行快速的沙盒管理以及使用。
功能
- 容器生命周期管理: 创建、暂停、启动、删除容器
- 沙盒操作: 在沙盒中执行命令、健康检查
- OpenAPI 文档: 自动生成 API 文档
- SDK: 提供类型安全的 SDK 调用
快速开始
安装依赖
bun install
配置环境变量
复制 .env.template 为 .env.local 并填写配置:
cp .env.template .env.local
启动开发服务器
bun run dev
运行测试
bun run test
API 文档
启动服务后访问:
- OpenAPI JSON:
http://localhost:3000/openapi - Scalar UI:
http://localhost:3000/openapi/ui
API 端点
容器生命周期 (/v1/containers)
| 方法 | 路径 | 描述 |
|---|---|---|
| POST | /v1/containers |
创建容器 |
| GET | /v1/containers/:name |
获取容器信息 |
| POST | /v1/containers/:name/pause |
暂停容器 |
| POST | /v1/containers/:name/start |
启动容器 |
| DELETE | /v1/containers/:name |
删除容器 |
沙盒操作 (/v1/sandbox)
| 方法 | 路径 | 描述 |
|---|---|---|
| POST | /v1/sandbox/:name/exec |
执行命令 |
| GET | /v1/sandbox/:name/health |
健康检查 |
SDK 使用
import { createSDK } from 'sandbox-server/sdk';
const sdk = createSDK('http://localhost:3000', 'your-token');
// 容器操作
await sdk.container.create({
name: 'my-sandbox',
image: 'node:18-alpine',
resource: { cpu: 1, memory: 1024 }
});
const info = await sdk.container.get('my-sandbox');
await sdk.container.pause('my-sandbox');
await sdk.container.start('my-sandbox');
await sdk.container.delete('my-sandbox');
// 沙盒操作
const healthy = await sdk.sandbox.health('my-sandbox');
const result = await sdk.sandbox.exec('my-sandbox', { command: 'ls -la' });
Docker 构建
docker build -t sandbox-server .
docker run -p 3000:3000 --env-file .env.local sandbox-server