Agent 沙箱平台 · 跑在你自己的 Kubernetes 上

你的免费个人 AI Agent,永远在线

VibeYeah 在 Kubernetes 上给每个人开一台隔离的 Ubuntu 桌面沙箱——一个专属、常驻在线的 agent。在微信或飞书里把活派给它,它真的会去做:打开浏览器、登录你的内部系统、填表单、跑代码、读写文件、执行定时任务,然后把结果和截图发回对话。Apache-2.0,自托管在你自己的内网与 NAS 上。

  • Apache-2.0 开源
  • 自托管
  • 无遥测
  • 微信 & 飞书

01 — 免费的个人 Agent

一个属于你的 agent,免费,且不会过期

没有订阅、没有席位、没有试用倒计时。VibeYeah 从控制平面到 agent 沙箱全部 Apache-2.0,自托管不会让你损失任何能力:不失效、不激活、不带遥测与统计上报。

在飞书或微信里发一句 /add,几秒钟之后你就有了一台自己的沙箱——不是共享额度里的一个名额,而是一台有独立 Linux 账户、独立 HERMES_HOME、持久化记忆的 Ubuntu 桌面。

  • 一人一台沙箱 你有自己的 K8s Deployment、独立 Linux 账户与独立 HERMES_HOME,不是和别人共用的租户名额。
  • 常驻在线 控制平面按 pod_sync_interval_secs 持续同步状态、创建与回收 Deployment,保证你的 agent 一直在。
  • 记忆持久 会话、记忆与浏览器状态落在共享 NAS(ReadWriteMany PVC)上,pod 重启也不丢。
  • 零遥测 控制平面不带任何遥测、统计上报或激活回调;出网端点只有你自己配的那几个:飞书、微信、你的大模型端点。
  • 自带模型 大模型端点、密钥与模型名是存在你自己数据库里的企业级配置,在聊天里用 /set openai_base_url 就能改。
  • 谁也没法收回 Apache-2.0:可 fork、可打补丁、当天重新部署。今天能跑,五年后照样能跑。

02 — 微信 & 飞书集成

在你本来就开着的 App 里派活

VibeYeah 不要求你装任何新客户端。你的 agent 就是飞书 / Lark 或微信里的一个 bot:用大白话把活交给它,它在你内网里的真实桌面上执行,再把结果回报到对话里——对话在哪,结果就在哪。

  • 打开浏览器
  • 登录内部系统
  • 填写表单
  • 运行代码
  • 读写文件
  • 定时任务

用 WebRTC 看它现场操作

可选的 mediamtx sidecar 会把沙箱桌面推流出来,你可以实时围观 agent 的屏幕,而不是等它给你一份总结。结果与截图照样回到对话里。

agent 也能组队

不同角色的 agent 可以组成团队,在飞书上彼此协调(A2A),让多个各有所长的 agent 协作完成一项复杂任务。

内部系统也能反过来派活

内部服务、定时任务或 CI 流水线都能通过 HTTP 触发某个成员的技能。后端返回 202 就撒手,再以该用户身份在 agent pod 内调用 hermes,把技能名、query 参数与请求体交给它。可访问的网络里请用 callback_token 保护该端点。

GET|POST /callback/{org_id}/{skill}/{user_id}?foo=bar
vibeyeah/configs/                          # 共享种子模板
vibeyeah/agents/<agent>/configs/           # agent 级配置
vibeyeah/agents/<agent>/users/<uid>/home/  # 每用户 home
  └─ .hermes/skills/<skill>/               # 技能,可分发
  └─ .hermes/…                             # 记忆 · 会话 · 状态

这一切都在你挂载于 /data/nas 的 NAS 上、在你自己的集群里、在你自己的数据库里——不在厂商的云上。

03 — 开源 Skill 生态

能力沉淀在你自己的 NAS 里

skills、知识库、记忆与环境上下文以共享目录的形式集中管理,再按需分发到正确的 agent 与用户。agent 状态走 git 同步,因此每一次能力迭代都是版本化、可审计的,而不是散落在某个人的聊天记录里。

  • 集中目录——vibeyeah/configs/ 下的共享种子模板,所有 agent 从这里继承。
  • 按 agent、按用户落盘——配置、技能与记忆在 /add 时被渲染进对应目录,密钥不会手工写进种子。
  • git 同步的状态——能力变更就是一次提交,可以 review、可以回滚、也可以继续往前推。
  • 随你 fork——写一次的技能可以铺给整个 agent 舰队,也可以回馈上游社区。

快速开始

三步跑起来

发布压缩包是自包含的:不需要配置文件,也不需要外部数据库。数据库为空时会启动首次运行向导,创建你的组织并绑定飞书 Bot 作为入口。

1下载并解压 Release

从 Releases 页面取对应系统与架构的压缩包,在解压目录内运行二进制——它按当前工作目录定位随包携带的 configs 模板。

tar -xzf vibeyeah-0.1.0-linux-x86_64.tar.gz
cd vibeyeah-0.1.0-linux-x86_64

2跑起首次运行向导

数据库为空时无需任何配置:后端起在 0.0.0.0:8080,自动创建并迁移 SQLite 文件。输入组织名,用飞书扫码绑定 Bot。

./vibeyeah
# 可选:DATABASE_URL=postgres://… BIND_ADDR=0.0.0.0:8080
# 向导:创建首个组织 → 飞书扫码绑定 Bot

3配好模型,然后 /add

由 Bot 管理员把 agent 要用的大模型指到你自己的端点,之后任何人都能在飞书或微信里发 /add,几秒钟拿到专属沙箱。

/add

# 仅 Bot 管理员:
/set openai_base_url https://your-llm-endpoint.example
/set openai_api_key sk-xxxx
/set openai_model your-model

在任何人 /add 之前,Bot 管理员必须先配齐大模型——端点、API Key 与模型名,三条 /set 都会返回设置成功。openai_base_url 不要带 /v1 尾缀。

真正开通 pod 还需要一个 Kubernetes 集群、一个 ReadWriteMany 的共享 NAS,以及集群能拉取的 desktop 镜像;这些默认值都在 settings 表里。完整部署流程见仓库里的 docs/deployment.md 与 SECURITY.md。

工作原理

一个控制平面,许多沙箱

Rust 后端(axum · sea-orm · kube)掌管整个生命周期:运行飞书 / 微信 bot,通过 Kubernetes API 创建与回收 agent Deployment,同步 pod 状态,在 /add 时准备每个用户的 NAS home,并把外部回调路由进 pod。

VibeYeah 架构图 飞书 / 微信 /add · /set Rust 控制平面 axum · sea-orm · kube agent 编排 · 回调路由 pod 状态同步 · 状态 git 同步 REST API · JWT 鉴权 PostgreSQL / SQLite orgs · settings 内部系统 webhook · cron · CI K8s Agent 沙箱 Ubuntu 桌面 · hermes gateway ×N Xvfb · openbox · Chrome · 工具链 共享 NAS · /data/nas vibeyeah/configs · agents/<agent>/users/<uid>/home /add 你的 agent bot 配置 /callback/… 创建 / 回收 读写

后端控制平面

REST API 与 JWT 鉴权、飞书长连接 Bot、Kubernetes 编排、回调路由,以及 agent 状态的 git 同步。

Agent 沙箱

无头 Ubuntu 桌面——Xvfb、openbox、Chrome 与常用工具链——每个用户一个 hermes gateway,各自独立的 Linux 账户与 HERMES_HOME。

共享 NAS

ReadWriteMany PVC 挂载在 /data/nas,持久化配置、技能、记忆与会话,跨 pod 重启保留。