做了一个 DeepSeek DSec sandbox platform 的开源实现: OpenDsec

SIFT2009 2026-10-28 19:23 1

这段时间按照 DeepSeek 的 DSec 论文,做了一个 sandbox platform 的开源、自托管实现:OpenDsec。


项目地址: https://github.com/Kernflux/opendsec


先说明一下:这是独立项目,不包含 DeepSeek 代码,也不是 DeepSeek 官方发布或维护的项目。架构和主要设计来自论文;论文没有明确说明、或者我们采用不同方案的地方,都在 SPEC 里单独标注了。


整体架构分为控制面和节点运行时。


控制面里,stateless apiserver 负责认证、配额、调度和请求转发;IAM 用 Raft 保存身份、项目和配额状态;watcher 汇总各节点的健康与负载;每台计算节点运行一个 edge,负责最终准入和 sandbox 生命周期。组件之间走 gRPC + mTLS,sandbox id 里编码所在 edge,因此 apiserver 不需要维护 per-sandbox 路由表。


节点侧目前支持三种后端:



  • Firecracker microVM

  • Linux container

  • 完整 QEMU VM


sandbox 内运行 Aether,负责和 edge 通信;Chronus 维护持久 shell session。exec、文件、HTTP、process、PTY 使用同一套 runtime API。


目前实现的一些能力:



  • microVM 冷启动约 0.1 秒,内存快照恢复约 55 ms

  • 可以 pause 成内存快照,也可以 fork 正在运行的 VM,并保留内存状态

  • 同节点 fork 共享内存页;跨节点时从源节点拉取快照

  • 从 OCI registry 导入镜像,不复制数据即可组合 image layers,并支持把 sandbox 修改 pack 成新镜像

  • 网络默认拒绝,可按 domain、CIDR、port 放行

  • 多级 project、quota、审计日志和短期可撤销 token

  • 批量 pause/resume、节点重启后重新接管运行中的 sandbox

  • 提供 E2B-compatible gateway,已有 E2B SDK 客户端可以直接接入

  • 支持离线安装,适合内网或 air-gapped 环境


在我们的硬件上,一台 384 线程节点做过单批 5,120 个 microVM;两节点集群做过单批 8,192 个 container,未出现创建失败。这些都是 OpenDsec 在自有硬件上的实测,不是论文中的数字。


项目目前在一个小型生产集群上运行。代码、quickstart、架构文档和各项测量都放在仓库里。欢迎对 sandbox、Firecracker、agentic RL 基础设施感兴趣的朋友试用,也很想听听大家对架构和实现取舍的意见。

最新回复 (0)
    没有回复
* 帖子来源V2EX
返回