开源推广:AgentPod可自托管的多租户 AI Agent 服务,支持沙盒隔离执行

xiaocaicai 2026-08-18 23:29 1

最近基于pi框架vib了一个带运行时沙盒隔离的多租户的云端agent平台,顺道写了个类似Claude的artifact的功能的能力。


测试demo站点:https://agent.80wdb.com/

开源仓库: GitHub - caicaicai/AgentPod: Self-hostable, multi-tenant AI agent service with sandboxed code execution(可自托管的多租户 AI Agent 服务,支持沙盒隔离执行)


核心特性



  • 多租户隔离 — 会话、记忆、工作空间按用户强隔离,存储层强制分区,并通过静态分析规则和运行时隔离测试持续验证。

  • 沙盒代码执行 — 命令运行在隔离的 Linux 命名空间中(PID/mount/network/uts/ipc),每个槽位独立 cgroup,租户间零共享。

  • 对话界面 — 内置 Vue 3 聊天界面,支持 SSE 流式输出、项目管理、会话历史、斜杠命令。

  • 作品(Artifact) — 助手产出的成品作为一组文件单独存,不贴在对话里:多文件网页、Vue 3 单文件组件项目、Markdown 文档(支持 mermaid 图)、SVG、代码。独立的作品库(跨会话、可搜索筛选、带创建指引)+ 对话内的侧栏抽屉,实时预览、按文件读源码、切版本、下载;改一行走定点替换,不必整份重发。Vue 在浏览器里现编译、mermaid 自托管,预览默认完全离线,跑在不带 allow-same-origin 的沙箱 iframe + default-src 'none' 的 CSP 里 —— 模型生成的脚本既读不到登录态也出不了网。

  • 分享与作品市场 — 一份作品可以变成一条 /s/<token> 的链接,拿到的人不需要账号就能打开,看到的始终是最新版;随时可撤销,撤了立刻失效。再点一次「发布到市场」才会出现在公开的广场 /market 上 —— 私发一条链接和"我愿意让所有人看见"是两个决定,不合成一个开关。访客那一页仍然只经手 JSON,作品跑在同一套沙箱 iframe 里:服务端从不以 HTML 的身份吐出模型生成的内容。整套可用 ARTIFACT_SHARING_ENABLED=0 关掉。

  • 长期记忆 — 跨会话事实存储为人类可读的 MEMORY.md,用户和模型均可编辑。

  • 项目管理 — 按项目分组会话,支持持久化的项目级指令和项目专属记忆。

  • 定时任务 — 5 段 cron 表达式 + IANA 时区。模型可以在对话中直接创建定时任务。

  • 可扩展技能 — 目录式技能系统(SKILL.md + scripts/),运行时自动注入沙盒。

  • 用户工作空间 — 持久化共享存储,会话工作区和用户自建技能在沙盒销毁后仍然保留。

  • 零冷启动 — 固定沙盒槽位池,命名空间预建。执行 = 在已运行的槽位中 spawn,无需等待。

  • Docker 就绪 — 三个镜像(Agent + Worker + Manager),docker compose 一键编排。






最新回复 (1)
  • Qmio 08-18 23:46
    1

    这个沙盒代码执行不会出现逃逸问题吧?

    感觉单纯这些隔离措施容易出现妖蛾子吧

* 帖子来源NodeSeek
返回