pydantic-ai-backend
为 Pydantic AI 代理提供文件系统访问和沙箱执行能力,支持本地/Docker/远程三种隔离级别,内置权限控制系统和会话持久化。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
为 Pydantic AI 代理提供文件系统访问和沙箱执行能力,支持本地/Docker/远程三种隔离级别,内置权限控制系统和会话持久化。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

大模型能力越来越强,但当你真正想让 AI 替你工作时,很快就会遇到一个根本矛盾:模型很聪明,却什么也干不了。它读不了文件、改不了代码、执行不了命令。在真实的业务场景里,AI 代理需要文件系统操作、代码执行能力和安全隔离,而这些问题,每个团队都在重复造轮子。
Pydantic AI Backend 就是为了解决这个痛点。它是 VStorm 团队开源的、为 Pydantic AI 框架量身打造的控制台工具箱。核心使命很清晰:让 AI 代理安全地访问文件系统、运行代码,同时对用户代码保持完全隔离。
项目在 GitHub 上已获得 117 颗星,采用 MIT 许可证,Python 3.10+ 即可运行,是 Pydantic Deep Agents 开源生态的核心组件之一。
Pydantic AI Backend 提供了五种后端实现,拥有统一的接口,但适合完全不同的场景:
| 后端 | 存储 | 执行代码 | 适用场景 |
|---|---|---|---|
| StateBackend | 内存 | 否 | 单元测试、临时会话 |
| LocalBackend | 本地文件系统 | 是 | 本地开发、CLI 工具 |
| DockerSandbox | Docker 容器 | 是 | 多用户、不可信代码 |
| RemoteSandbox | 远程容器(通过 HTTP) | 是 | 容器化 SaaS 应用 |
| CompositeBackend | 路由分发 | 视情况 | 复杂多源架构 |
当你把 AI 应用跑在 Docker 容器里,要给它一个 Docker 沙箱,按常规思路得挂载 /var/run/docker.sock,但这相当于把宿主机的 root 权限直接暴露给容器内部。Docker-in-Docker 需要 --privileged,同样危险。
Pydantic AI Backend 的解法是引入一个极简的 sandboxd 服务,它只做一件事:持有 Docker socket,按需启动沙箱容器,所有通信走 HTTP。AI 应用本身永远接触不到 Docker socket,只需要一个随机 token 即可。

传统的沙箱方案中,容器一关,所有文件都丢了。Pydantic AI Backend 支持三种维度的持久化:
用户可以在对话结束后查看 AI 写了哪些文件,WorkspaceArchive 甚至不需要启动容器就能读取历史文件。
sandboxd 服务内置了一个完全自包含的 HTML Dashboard(零 CDN、零依赖),提供三个视图:



项目内置了四套预设规则集,开发者无需从零设计权限:
READONLY_RULESET:只允许读,拒绝所有写入和执行DEFAULT_RULESET:允许读(敏感目录除外),写入和执行需审批PERMISSIVE_RULESET:允许大多数操作,拦截危险命令STRICT_RULESET:所有操作均需审批权限基于 glob 模式匹配(底层用 wcmatch 库),支持对文件路径、操作类型做细粒度控制,避免 AI 代理误操作关键系统文件。
源码目录结构非常清晰:
src/pydantic_ai_backends/
├── backends/ # 各种后端实现
│ ├── base.py # 统一抽象基类
│ ├── local.py # 本地文件系统后端
│ ├── state.py # 内存状态后端
│ ├── docker/ # Docker 相关(sandbox、session、runtimes、image)
│ ├── kubernetes.py # K8s 支持
│ ├── daytona.py # Daytona 集成
│ └── remote/ # 远程沙箱客户端
├── toolsets/ # Pydantic AI 工具集
│ ├── console.py # 核心控制台工具(ls/read/write/edit/execute/glob/grep)
│ └── _content.py # 内容处理(图片支持 BinaryContent)
├── permissions/ # 权限系统(checker/presets/types)
├── capability.py # Capability API
├── protocol.py # 协议定义
└── remote/
├── server.py # FastAPI sandboxd 服务端
└── ui/ # 自包含 HTML Dashboard
技术栈以 Pydantic v2 为核心依赖,配合 FastAPI + Uvicorn(server 模式),测试框架为 pytest + pytest-asyncio + pytest-cov,代码规范用 Ruff + Pyright + MyPy,CI 完整。
from pydantic_ai import Agent
from pydantic_ai_backends import ConsoleCapability
agent = Agent("openai:gpt-4.1", capabilities=[ConsoleCapability()])
三行代码,AI 立刻拥有文件读写和代码执行能力。
Docker Compose 一键启动:
docker run -d \
-e SANDBOXD_TOKEN=your-secret \
-v /var/run/docker.sock:/var/run/docker.sock \
ghcr.io/vstorm-co/sandboxd:latest
Dockerfile 为多阶段构建,体积控制在合理范围内(基于 python:3.14-slim)。
pip install pydantic-ai-backend[console] # + AI 控制台工具
pip install pydantic-ai-backend[docker] # + Docker 沙箱
pip install pydantic-ai-backend[server] # + sandboxd 服务
pip install pydantic-ai-backend[all] # 全量安装
项目整体质量较高,但也存在一些需要注意的地方:
Pydantic AI Backend 的出现,填补了 Pydantic AI 生态中代理执行环境这一关键环节。它不是又一个 AI 写代码工具,而是让 AI 代理能够真正落地执行的基础设施层。
其 RemoteSandbox 设计理念值得所有构建 AI SaaS 的团队借鉴:将危险操作(Docker socket)隔离在最小服务中,应用层只持有 token,这比直接挂载 socket 要安全一个量级。随着 AI Agent 赛道持续火热,这类基础设施库的价值会越来越凸显。
本报告由 PIFS 自动分析生成,基于 GitHub 开源项目 vstorm-co/pydantic-ai-backend,分析时间 2026-08-04。