这是本节的多页打印视图。 .
概念
1 - 概述
什么是 Piglet Run?
Piglet Run(小猪运行时)是 Pigsty 的轻量运行时环境,专为 AI Web Coding 打造的云端编码沙箱。它将 PostgreSQL 数据库、JuiceFS 分布式存储、VS Code、JupyterLab 等工具整合为一体。
为什么选择 Piglet Run?
在 AI 辅助开发的时代,开发者需要:
- 即用型开发环境,开箱即用
- 强大的数据库,所有扩展都可用
- 安全的实验环境,轻松回滚
- 无缝协作,人与 AI Agent 协同工作
Piglet Run 将这一切整合在一个软件包中。
核心特性
| 特性 | 说明 |
|---|---|
| 🤖 AI 编码 | 预装 Claude Code、OpenCode、VS Code、Jupyter |
| 🐘 数据全能 | PostgreSQL 18 + 400+ 扩展 |
| 💾 共享存储 | JuiceFS 将工作目录存入数据库 |
| ⏱️ 时光机器 | 数据库 PITR + 文件系统快照 |
| 🔀 瞬间克隆 | Copy-on-Write 零拷贝克隆 |
| 🌐 一键上线 | 内置 Nginx,自动 SSL |
| 📊 全栈监控 | VictoriaMetrics + Grafana |
| 🇨🇳 国内畅通 | 全球 CDN + 国内镜像 |
适用人群
- 独立开发者:需要强大开发环境
- 开发团队:需要共享开发基础设施
- AI 开发者:使用 Claude Code 等工具
- 数据科学家:使用 PostgreSQL 和 Jupyter
- 学习者:探索 PostgreSQL 和 Web 开发
工作原理
下一步
- 安装 Piglet Run 开始使用
- 了解 架构
- 探索 存储 系统
2 - 架构概述
Piglet 是什么
Piglet 是专为 AI 辅助编程设计的 Agentic Postgres 运行时。
它不只是一个数据库,而是一个完整的云端开发环境:从一台 0.64 元的裸 VM,到完整的生产级网站,开箱即用。
产品本质
Piglet 是一个"缝合怪"——它集成了:
| 能力 | 对标产品 | Piglet 提供 |
|---|---|---|
| 数据库即服务 | Neon, Supabase | PostgreSQL + PITR 时间旅行 |
| 云端 IDE | GitHub Codespaces | VS Code Server + Jupyter |
| AI 编程 | Cursor, Windsurf | Claude Code 原生支持 |
| 应用托管 | Vercel, Railway | Nginx + Node.js + Python |
| 监控可观测 | Datadog | Grafana + VictoriaMetrics |
核心价值:由生产级方案(Pigsty)改造成的个人级方案——降维打击。
核心组件
组件清单
| 组件 | 角色 | 访问方式 |
|---|---|---|
| Nginx | 反向代理,SSL 终止,静态文件托管 | :80, :443 |
| VS Code Server | 网页版 IDE,支持远程 SSH | /code |
| JupyterLab | 数据科学笔记本 | /jupyter |
| PostgreSQL 17 | 主数据库,带 340+ 扩展 | :5432 |
| JuiceFS | 分布式文件系统(PITRFS) | ~/data |
| VictoriaMetrics | 时序指标存储 | :8428 |
| Grafana | 监控仪表盘 | /grafana |
| Loki | 日志聚合 | - |
Agentic 设计
Piglet 的核心设计理念是 Human-Agent Parity(人机对等):
人看到的 = Agent 看到的,同一套工具、同一个视角。
人机分工
| 角色 | 职责 |
|---|---|
| 你(人类) | 提出需求、派活、验收 |
| Agent(AI) | 利用环境里的工具实现需求 |
Agent 可能比很多用户更懂环境里有什么能用,但最终还是人类说了算。
用户画像
| 用户类型 | 他们想要什么 | Agent 扮演的角色 |
|---|---|---|
| DBA/专家 | 利用 Agent 自动化专业任务 | 执行助手 |
| 普通开发者 | 快速上线 Web 应用 | 懂行的队友 |
| 小白 | 只说"我要一个 XX" | 全能代理 |
Claude.md
Piglet 提供 CLAUDE.md 文件,告诉 AI Agent 环境里有什么、能做什么:
- 可用的数据库和连接方式
- 可用的命令行工具
- 文件系统结构
- 部署和发布方式
存储架构
Piglet 的杀手锏是 PITRFS——文件系统也能像数据库一样任意时间点回滚。
这意味着:
- 数据库可以回滚:标准 PostgreSQL PITR
- 文件系统也可以回滚:基于 JuiceFS + PostgreSQL 的 PITRFS
- 搞砸了也不怕:误删代码?回到 10 分钟前。Agent 把数据库搞崩了?一条命令恢复。
网络架构
所有服务通过 Nginx 统一暴露,支持 HTTPS:
与 Pigsty 的关系
| 维度 | Pigsty | Piglet |
|---|---|---|
| 定位 | 企业级 PostgreSQL 发行版 | 个人级 Agentic 运行时 |
| 目标用户 | DBA、运维、企业 | 个人开发者、AI 编程者 |
| 规模 | 多节点集群 | 单节点 |
| 复杂度 | 功能完整、配置丰富 | 开箱即用、极简配置 |
| 调性 | 专业、严谨、可靠 | 方便、灵活、好玩 |
Piglet 是 Pigsty 的精简版,继承了生产级的可靠性,但去掉了企业级的复杂性。
下一步
- 快速开始 - 10 分钟上手
- PITRFS 原理 - 理解时间旅行
- Agentic 设计 - 深入人机协作
3 - 存储
JuiceFS 共享存储
Piglet Run 使用 JuiceFS 提供基于 PostgreSQL 的分布式文件系统。
为什么选择 JuiceFS?
- POSIX 兼容:像普通文件系统一样工作
- 数据库后端:数据存储在 PostgreSQL
- 快照支持:时间点恢复
- 多用户:跨会话共享工作空间
工作原理
特性
| 特性 | 描述 |
|---|---|
| 透明 | 像本地文件系统一样使用 |
| 持久 | 数据存储在数据库中 |
| 并发 | 多用户/Agent 同时访问 |
| 快照 | 时间点恢复 |
下一步
4 - 快照
时光机器
Piglet Run 为数据库和文件系统都提供时间点恢复功能。
数据库 PITR
PostgreSQL 内置的 PITR(时间点恢复)允许您将数据库恢复到任意时间点。由 pgBackRest 管理。
文件系统快照
JuiceFS 快照保存工作区状态:
使用场景
| 场景 | 解决方案 |
|---|---|
| AI 写坏代码 | 恢复文件系统快照 |
| 数据库迁移失败 | 使用 pig pb restore -t <time> |
| 实验失败 | 回滚整个环境 |
| 需要干净状态 | 恢复到基线快照 |
备份管理
下一步
5 - 克隆
瞬间克隆
Piglet Run 支持 Copy-on-Write(写时复制)克隆,实现快速数据库分支。
工作原理
Copy-on-Write 意味着:
- 克隆时零拷贝
- 只有修改的块才消耗存储
- TB 级数据库毫秒级克隆
使用场景
| 场景 | 优势 |
|---|---|
| 开发 | 克隆生产环境用于测试 |
| AI 实验 | 每个实验一个分支 |
| 功能分支 | 每个分支一个数据库 |
| 培训 | 每个学员一份副本 |
数据库克隆
使用 PostgreSQL 工具:
使用 pgBackRest 克隆
使用 JuiceFS 克隆文件系统
下一步
6 - 监控
全栈可观测性
Piglet Run 包含基于 VictoriaMetrics 和 Grafana 的完整监控栈。
组件
| 组件 | 角色 |
|---|---|
| VictoriaMetrics | 时序数据库 |
| Grafana | 可视化仪表盘 |
| node_exporter | 系统指标 |
| pg_exporter | PostgreSQL 指标 |
仪表盘
访问 Grafana:http://<ip>/ui
可用仪表盘:
- Claude Code:AI Agent 监控
- PostgreSQL:数据库性能
- System:主机指标
- JuiceFS:文件系统统计
指标
收集超过 3000+ 指标:
- 数据库查询、连接、锁
- 系统 CPU、内存、磁盘、网络
- 应用特定指标
告警
配置告警用于:
- 高 CPU/内存使用
- 数据库连接限制
- 磁盘空间警告
- 查询性能问题
下一步
- 查看 监控任务
- 了解 Grafana 参考