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。
后端控制平面
REST API 与 JWT 鉴权、飞书长连接 Bot、Kubernetes 编排、回调路由,以及 agent 状态的 git 同步。
Agent 沙箱
无头 Ubuntu 桌面——Xvfb、openbox、Chrome 与常用工具链——每个用户一个 hermes gateway,各自独立的 Linux 账户与 HERMES_HOME。
共享 NAS
ReadWriteMany PVC 挂载在 /data/nas,持久化配置、技能、记忆与会话,跨 pod 重启保留。