DevEx 是一个开源的云开发环境平台,能让你在浏览器中随时随地运行全功能的、基于容器的开发环境,就像在本地一样。它还提供 AI 辅助和安全的沙箱功能,借助 Kubernetes、WebSocket 和 GoLang 实现可扩展的 REPL 会话。
DevEx 是一个开源平台,可创建基于云的开发环境(REPLs),其使用体验与本地环境无异,但你可以在任何时间、任何地点通过浏览器访问。它具有高度的灵活性,你可以使用自己喜欢的技术栈进行编码,通过 SSH 连接,或者通过我们的 MCP 服务器与 AI 代理运行会话。此外,它还支持安全地沙箱化 AI 生成的代码,让你在隔离的环境中测试实际更改。与 Gitpod 或 E2B 不同,DevEx 轻量级、可自托管,并且从一开始就是为生产环境设计的,拥有以开发者为中心的 CLI、无缝的 AI 集成以及基于 Kubernetes 的原生设计,可实现无限扩展。
📣 想添加自己的 REPL 模板?很简单! 👉 阅读贡献指南 即可开始。
graph TB
User[👤 用户] --> Web[🌐 前端网页
React/Next.js 应用程序]
Web --> Core[🔧 核心后端
• 用户认证
• REPL 管理
• S3 集成
• K8s 编排]
Core --> S3[(🗄️ S3 存储
用户名/REPL ID/
├── 模板/
└── 用户文件/)]
subgraph K8sCluster["☸️ Kubernetes 集群"]
direction TB
IngressController[🚪 Ingress NGINX 控制器
流量路由]
CertManager[🔒 Cert 管理器
TLS 证书管理]
subgraph ReplResources["📦 每个 REPL 的资源"]
Deployment[🚀 部署
REPL 容器实例]
Service[🔗 服务
内部网络访问]
Ingress[🌍 入口
外部访问路由]
end
subgraph Pod["🏠 REPL Pod"]
MainContainer[🐳 运行容器
• WebSocket 服务器
• 文件操作
• PTY/终端访问
• 代码执行]
EphemeralContainer[⚡ 临时容器
文件同步回 S3
🔄 清理过程]
end
Deployment --> Pod
Service --> Pod
Ingress --> Service
IngressController --> Ingress
end
Core --> K8sCluster
Core -.->|创建资源
部署 → 服务 → 入口| ReplResources
Web -.->|🔌 WebSocket 连接
• 文件管理
• 终端访问
• 实时协作| MainContainer
Core -.->|📁 复制模板
到用户目录| S3
EphemeralContainer -.->|💾 同步文件回
清理前| S3
MainContainer -.->|📂 加载文件
会话开始时| S3
sequenceDiagram
participant U as 用户
participant W as 前端网页
participant C as 核心服务
participant K as Kubernetes
participant S as S3 存储
participant R as 运行容器
U->>W: 创建新 REPL
W->>C: POST /repl/create
C->>S: 创建用户目录
复制模板文件
U->>W: 启动会话
W->>C: POST /repl/start
C->>K: 创建部署
服务和入口
K->>R: 初始化容器
R->>S: 下载文件
R->>W: WebSocket 连接
Note over U,R: 开发会话激活
U->>R: 通过 WebSocket 进行文件操作
R->>R: 实时文件编辑
U->>W: 关闭会话
W->>C: POST /repl/stop
C->>K: 注入临时容器
K->>S: 上传修改后的文件
C->>K: 删除资源
cert-manager + Let’s Encrypt 实现自动 TLScore/ 将模板复制到 S3 上的 用户名/REPL ID/ 目录core/ 在 Kubernetes 中部署 Pod、服务和入口runner/ 通过 WebSocket 连接并提供文件系统和终端服务| 层次 | 技术栈 |
|---|---|
| 前端 | Next.js、Tailwind、WebSockets |
| 后端 | GoLang(Echo/Fiber)、Redis、S3 SDK |
| 运行器 | GoLang + PTY + WebSocket |
| 编排 | Kubernetes、Docker、Docker Swarm |
| 网络 | Ingress NGINX + cert-manager |
| 认证 | GitHub OAuth |
📚 如需更深入的实现细节:
“这个项目是我深入研究云基础设施、DevOps 和全栈工程的成果,它是一个实际应用的体现。” — Parth Kapoor
本项目正在积极开发中。如果你想贡献模板、修复问题或添加功能,请从这里开始 👉 CONTRIBUTING.md。欢迎提交拉取请求、提出建议和反馈!
本项目采用 MIT 许可证。