Dormice

自托管持久沙箱,闲置零成本,兼容 E2B 即插即用

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 智能体 🍴 复刻 126 🐛 待处理 58 👀 关注 49
GitHub ↗
GitHub 星标 ★ 1853
维护状态 维护中
是否开源 开源
定价模式 🏷️完全免费 开源项目,Apache-2.0 许可证,可自行部署,完全免费。

项目预览

Dormice 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类智能体
开发团队BitMiracle-AI
定价模式🏷️完全免费
价格说明开源项目,Apache-2.0 许可证,可自行部署,完全免费。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言TypeScript
技术栈/模型agents,ai-agents,code-execution,docker,e2b,gvisor,sandbox,self-hosted
GitHub 星标★ 1853
上线时间2026-07-08 00:00:00
代码更新2026-10-11
仓库体积3.0 MB
本站数据更新2026-11-10
维护状态维护中
收录时间2026-08-09
浏览次数6

项目介绍

Dormice 是一个自托管的智能体沙箱运行时,定位为“智能体沙箱界的 SQLite”。它兼容 E2B 的 API,让开发者能在一台机器上运行持久化的代码执行沙箱,沙箱闲置时几乎零成本,唤醒迅速。项目基于 TypeScript 构建,利用 Docker 和 gVisor 实现安全隔离,支持多租户场景。核心解决的是云端沙箱服务成本高、数据不落地、启动慢的问题,提供轻量级、可长期运行的隔离环境,适合 AI 智能体执行代码、运行工具或进行交互式任务。其设计强调简单部署和资源高效,让个人开发者或小团队也能拥有生产级的沙箱基础设施。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1853

使用教程

难度:进阶 约 15 分钟 部署方式:命令行工具 6 步

环境要求

  • Ubuntu/Debian x86_64 主机,需要 root 权限(loop mount、cgroup 写入)
  • 已安装 Docker 与 gVisor(runsc)运行时
  • 配置好 Swap 且 vm.swappiness=100
  • daemon 自身可运行在任意 Node 22+ 环境(开发时可用内存假执行器)
  • 主机需能访问 GitHub raw 内容以下载安装脚本

安装与启动步骤

  1. 1确认主机条件

    在一台自己的 Ubuntu/Debian x86_64 机器上操作,准备 root 权限,并确认已装 Docker 与 gVisor(runsc)、已配置 swap。

  2. 2一键安装

    以 root 在裸机上执行安装脚本;脚本幂等,重复运行会升级代码并修复偏差,且不会轮换 API token。

    curl -fsSL https://raw.githubusercontent.com/BitMiracle-AI/Dormice/main/deploy/install.sh | bash
  3. 3国内镜像安装

    若访问常用源较慢,在管道后追加 -s -- --mirror cn 参数,改用国内镜像加速下载。

    curl -fsSL https://raw.githubusercontent.com/BitMiracle-AI/Dormice/main/deploy/install.sh | bash -s -- --mirror cn
  4. 4运行自检

    安装结束时脚本会自动执行 dor doctor,这是一组只读检查,其中三项会启动真实 gVisor 容器来判断安装是否成功。

    dor doctor
  5. 5用 CLI 管理沙箱

    dor CLI 负责运维侧操作,包含枚举、执行、推送、拉取、重建、销毁沙箱等子命令。

    dor sandbox ls
  6. 6用 SDK 调用沙箱

    @dormice/sdk 是原生 TypeScript 客户端;用同一个 key 反复 acquire 即可复用同一沙箱。

    import { Dormice } from '@dormice/sdk';
    
    const client = new Dormice({
      endpoint: 'http://127.0.0.1:3676',
      token: process.env.DORMICE_API_TOKEN!,
    });
    
    await client.acquireSandbox('my-agent', { policy: { stopAfterSeconds: null } });
    
    const result = await client.execCommand('my-agent', 'python3 -c "print(6 * 7)"');
    console.log(result.exitCode, result.stdout);

关键配置

配置项必填说明示例
DORMICE_API_TOKEN是SDK 调用所需的 API 令牌,由安装脚本生成,升级时不会轮换sk-xxxxxxxx
endpoint是daemon 的访问地址,默认监听本机 3676 端口http://127.0.0.1:3676
vm.swappiness是必须为 100,否则冻结时内核拒绝换出 gVisor 共享内存100
icc否写入 daemon.json,设为 false 以禁止容器之间通信false
policy.stopAfterSeconds否设为 null 让沙箱成为常驻型:可冻结但不会冷启动null

如何确认成功

dor doctor 全部通过(其中三项检查会真实启动 gVisor 容器)即表示安装成功,可随时单独重跑 dor doctor。

常见问题

Q:安装脚本可以重复运行吗?

A:可以。安装器是幂等的,重跑会升级代码、修复环境偏差,并且永远不会轮换你的 API token。

Q:国内下载太慢怎么办?

A:在管道命令后加 -s -- --mirror cn 参数,改用国内镜像源下载。

Q:冻结后内存为什么没释放?

A:多半是 vm.swappiness 不是 100。用 sysctl vm.swappiness 查看生效值(部分云镜像默认 0),默认值下实测回收 0 字节。

Q:可以直接 npm 安装 SDK 吗?

A:暂时不能,@dormice/sdk 尚未发布到 npm,在本仓库内执行 pnpm build 可生成该包。

Q:现在可以用于生产吗?

A:不建议。项目处于早期开发阶段,全流程虽已跑通,但官方明确表示尚未达到生产可用标准。

注意事项

  • sandbox 执行的是不受信任的代码,必须阻断容器访问云元数据服务(iptables -I DOCKER-USER -d 169.254.0.0/16 -j DROP)并禁用容器间通信。
  • daemon 出于设计只绑定 127.0.0.1 且没有开关,如需对外暴露请自行用反向代理。
  • 一台机器只能运行一个 daemon,daemon 会用账本旁的锁强制这一限制。
  • 状态会沿 active → frozen → stopped → archived 逐级下降,任意 acquire 都能把沙箱唤醒,destroy 是唯一会丢数据的操作。

核心亮点

  • 闲置沙箱零资源占用,唤醒快,显著降低长期运行成本
  • 兼容 E2B API,迁移成本低,可无缝替换云端服务
  • 基于 gVisor 和 Docker 双层隔离,安全性强且支持多租户

不足之处

  • 早期项目,文档和社区生态尚待完善
  • 单机架构可能限制大规模横向扩展能力

适用场景

  • AI 智能体需要持久化代码执行环境,如数据分析、自动化脚本
  • 个人开发者或小团队自建沙箱服务,替代按量付费的云 API
  • 需要安全隔离的多租户代码运行平台,如教育或内部工具

替代项目

E2B、Firecracker、gVisor

上一篇:llmix

下一篇:openfirma

同类项目推荐

leanctx 开源

不换代码,一键压缩提示词,立省 40-60% token 费用

Drop-in prompt compression for production LLM apps. Cut your token bill 40-60% witho···

★ 320 2026-08-09
mlops-project-template 开源

在Azure上快速搭建企业级MLOps流水线,省时又规范。

Azure MLOps (v2) solution accelerators. Enterprise ready templates to deploy your ma···

★ 85 2026-08-09
muninndb 开源

会遗忘、会强化、带置信度的 AI 原生记忆库

The cognitive database. A new class of data storage. Not a vector store, not a graph···

★ 335 2026-10-02
eloquentjs 开源

在 Node.js 里用 Laravel 式语法操作数据库,开发效率翻倍

EloquentJS monorepo — Laravel Eloquent for Node.js

★ 75 2026-08-09
TemporalStore 开源

给 LLM 装上时间轴,上下文可回溯、可管控

Open-source Rust TemporalStore for LLM context management, temporal features, and ri···

★ 212 2026-09-01
BharatMLStack 开源

一套打通训练到推理的 ML 基础设施,让大规模模型上线更稳更快。

BharatMLStack is an open-source, end-to-end machine learning infrastructure stack bu···

★ 716 2026-08-09
AI-Worker-Proxy 开源

一键部署,统一接入多模型,自动故障转移

OpenAI-compatible AI proxy: Anthropic Claude, Google Gemini, GPT-6, Cloudflare AI. F···

★ 110 2026-08-09
comfy-pack 开源

一键锁定打包 ComfyUI 环境,告别部署翻车

A comprehensive toolkit for reliably locking, packing and deploying environments for···

★ 215 2026-08-09
motorhead 开源

给 LLM 装上持久记忆,几行代码接入对话历史与语义检索。

Motorhead is a memory and information retrieval server for LLMs.

★ 916 2026-08-09