mcpField
P
Purgatory (p7y)

Purgatory (p7y)

远程服务
p7y-dev.github.io云与基础设施6今天更新

关于 Purgatory (p7y)

Purgatory (p7y) 是面向团队及 AI Agent 的可自托管平台,可在隔离的 Docker 沙盒中部署应用。每个沙盒拥有独立的 Docker daemon 和应用 URL,并支持空闲休眠及按请求唤醒。

主要功能

  1. 01创建隔离的 Docker 沙盒
  2. 02通过 Docker Compose 部署应用
  3. 03为应用分配公开 URL
  4. 04空闲时休眠并按请求唤醒
  5. 05删除沙盒时归档数据

适用场景

  1. 01为 Agent 的应用部署提供独立环境
  2. 02通过专属 URL 公开团队应用
  3. 03在团队自有服务器运行应用沙盒

MCP 相关

其 MCP 服务可供 Agent 创建和管理沙盒、部署应用,并访问沙盒文件及 URL。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://p7y.{domain}/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://p7y.{domain}/mcp需要授权

工具

详细介绍

README 配图 Purgatory(p7y)

Docs CI License

说明

早期版本,尚未达到 1.0。 功能可用且经过测试(每次变更都会运行 CI,发布时附带更新日志),但仍可能有不完善之处,小版本之间也可能存在破坏性变更。

为你的团队及其 AI Agent 提供可自托管的沙箱:每个人都有自己的 Docker,每个应用都有一个 URL,闲置的沙箱会休眠。

可以把它看作一个可自托管的 Vercel,供你的团队及其 Agent 启动应用。目前通过 docker compose 部署;基于 Git 的构建已列入路线图。

从新建沙箱到拥有自己的 Docker 和应用的公开 URL,约需 10 秒;休眠中的沙箱也能在不到 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 使用,效果相同

所有演示都是真实操作、实时录制;点击任意一个即可观看。

通过 curl 创建沙箱并调用其中的应用,实时操作:约需 7 秒Claude Code 通过 MCP 服务创建沙箱并检查其中的应用,实时操作通过 curl 调用 MCP 服务:实时执行 tools/list,然后执行 create_sandbox

可以通过 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

可免费使用,也可用于商业用途,既可部署在自己的服务器上,也可为客户提供服务。如果你修改了它,并让他人通过网络使用,那么也必须向他们提供你修改后的源代码,并遵循相同的许可证(AGPL-3.0)。所有基于 Purgatory 构建的产品都必须在其“关于”页面和文档中注明 Based on Purgatory (p7y),标明已修改,且不得使用“Purgatory”或“p7y”名称(NOTICE)。0.10.3 及之前的版本以 Apache-2.0 许可证发布。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。