关于 Purgatory (p7y)
Purgatory (p7y) 是面向团队及 AI Agent 的可自托管平台,可在隔离的 Docker 沙盒中部署应用。每个沙盒拥有独立的 Docker daemon 和应用 URL,并支持空闲休眠及按请求唤醒。
主要功能
- 01创建隔离的 Docker 沙盒
- 02通过 Docker Compose 部署应用
- 03为应用分配公开 URL
- 04空闲时休眠并按请求唤醒
- 05删除沙盒时归档数据
适用场景
- 01为 Agent 的应用部署提供独立环境
- 02通过专属 URL 公开团队应用
- 03在团队自有服务器运行应用沙盒
MCP 相关
其 MCP 服务可供 Agent 创建和管理沙盒、部署应用,并访问沙盒文件及 URL。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://p7y.{domain}/mcpclaude mcp add --transport http p7y-dev-p7y https://p7y.{domain}/mcp{"mcpServers":{"p7y-dev-p7y":{"type":"http","url":"https://p7y.{domain}/mcp"}}}在 Cursor 中打开{"servers":{"p7y-dev-p7y":{"type":"http","url":"https://p7y.{domain}/mcp"}}}在 VS Code 中打开{"mcpServers":{"p7y-dev-p7y":{"type":"http","url":"https://p7y.{domain}/mcp"}}}{"mcpServers":{"p7y-dev-p7y":{"serverUrl":"https://p7y.{domain}/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://p7y.{domain}/mcp需要授权工具
详细介绍
Purgatory(p7y)
说明
早期版本,尚未达到 1.0。 功能可用且经过测试(每次变更都会运行 CI,发布时附带更新日志),但仍可能有不完善之处,小版本之间也可能存在破坏性变更。
为你的团队及其 AI Agent 提供可自托管的沙箱:每个人都有自己的 Docker,每个应用都有一个 URL,闲置的沙箱会休眠。
可以把它看作一个可自托管的 Vercel,供你的团队及其 Agent 启动应用。目前通过 docker compose 部署;基于 Git 的构建已列入路线图。
从新建沙箱到拥有自己的 Docker 和应用的公开 URL,约需 10 秒;休眠中的沙箱也能在不到 10 秒内恢复。(测量时所需镜像已拉取:在新服务上启动第一个沙箱时也会下载这些镜像。)
- 每个沙箱都有自己的 Docker 守护进程(可按需配备 Portainer UI)
- 每个应用都有一个公开 URL,Postgres、Redis 和 SSH 也有 TLS 地址
- 闲置时休眠,下次收到请求时唤醒;删除操作会归档,数据不会丢失
- **专为 Agent 打造:**令牌仅限一个沙箱使用,提供Agent 指南、MCP 服务和 Claude Code 插件(运行
/plugin marketplace add p7y-dev/p7y,然后运行/p7y:init,即可为每个项目完成连接:Purgatory 会显示在 让你的 Agent 部署…… 下方的那行命令)
为何选择 Purgatory,以及它与其他方案的比较:与笔记本电脑、云 PaaS、共享 Docker 主机、Coolify,以及每人一台虚拟机的对比 · 工作原理:各组件(Docker-in-Docker、frp、Traefik、Sablier)、沙箱的生命周期及请求的处理路径
通过脚本或 Agent 使用,效果相同
所有演示都是真实操作、实时录制;点击任意一个即可观看。
可以通过 API 使用 curl,由 Agent 通过 MCP 服务调用,也可以手动调用 MCP 服务(通过 HTTP 传输 JSON-RPC,因此连 curl 也能调用其中的工具)。
在笔记本电脑上试用
使用 Docker Desktop,或在 Linux 上使用 Docker Engine 和 compose 插件,并确保 80 和 443 端口空闲(在 Windows 上,请使用 Git Bash 或 WSL):
mkdir p7y && cd p7y
curl -fsSLO https://github.com/p7y-dev/p7y/releases/latest/download/docker-compose.yml
curl -fsSL https://github.com/p7y-dev/p7y/releases/latest/download/setup.sh | bash # prints the admin password
docker compose up -d
打开 **http://p7y.lvh.me**(`lvh.me` 及其所有子域名都指向 127.0.0.1,因此无需设置 DNS),使用 setup.sh 输出的密码以管理员身份登录,然后点击 新建沙箱。第一个沙箱需要一两分钟来拉取镜像;之后每个大约需要 10 秒。其应用会在专属的 http://<name>-….lvh.me 地址打开。
应用第一次打开需要好几秒? 在 Chrome 中,依次前往 设置 → 隐私和安全 → 安全性 → 使用安全 DNS:选择“使用当前服务提供商”时,每个新的
*.lvh.me名称都可能因解析器速度慢或过滤而等待。请关闭此选项,或选择 Cloudflare(1.1.1.1)等提供商。
要移除沙箱:先在界面中删除沙箱(每个沙箱都有独立的 compose 项目,否则下一步会让它们继续运行),然后在 p7y 目录中运行 docker compose down -v,并删除该目录。
安装
在安装了 Docker Engine 和 compose 插件的 Linux 主机上,无需克隆仓库(先检查主机):
mkdir p7y && cd p7y
curl -fsSLO https://github.com/p7y-dev/p7y/releases/latest/download/docker-compose.yml
curl -fsSL https://github.com/p7y-dev/p7y/releases/latest/download/setup.sh | bash -s -- dev.example.com # .env with your domain and random secrets
docker compose up -d
然后在 http://p7y.<HOST_DOMAIN> 登录(默认地址为 http://p7y.lvh.me)。
何时选择其他工具
Purgatory 适用于团队的应用和 Agent 部署:它们应托管在自己的服务器上,并通过 URL 访问,同时成本低廉。对于其他用途,更适合使用其他工具:
- 必须扩展规模并保持在线的生产环境 → 云 PaaS,或在自己的服务器上使用 Coolify / Dokploy
- 来自陌生人的不可信代码 → 使用 E2B 或 Docker Sandboxes 等 microVM 沙箱(Purgatory 支持 Kata 运行时之前)
- 在云 IDE 中编写代码 → Coder 或 GitHub Codespaces
- 通过 SDK 运行短脚本的 Agent → E2B 或 Daytona
更多信息请参阅对比指南。
文档
p7y-dev.github.io/p7y:教程、安装、配置、让你的 Agent 部署应用、MCP、API,以及供 Agent 使用的 llms-full.txt。
安全性: 安装了 sysbox 时,沙箱无需特权容器即可运行;未安装时则会回退到特权
dind,适合彼此信任的团队,不适合运行恶意代码。在共享服务器上,请安装 sysbox 并设置ALLOWED_RUNTIMES=sysbox(详情)。
可免费使用,也可用于商业用途,既可部署在自己的服务器上,也可为客户提供服务。如果你修改了它,并让他人通过网络使用,那么也必须向他们提供你修改后的源代码,并遵循相同的许可证(AGPL-3.0)。所有基于 Purgatory 构建的产品都必须在其“关于”页面和文档中注明 Based on Purgatory (p7y),标明已修改,且不得使用“Purgatory”或“p7y”名称(NOTICE)。0.10.3 及之前的版本以 Apache-2.0 许可证发布。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。