
源码系统概览
文章正文
Rakazo是一款开源的自托管AI智能体(Bot)平台,定位为Grok Bot的开源替代方案。
Bot拥有独立线程、计算机、记忆与例程,可以创建自己的子Bot或调用短生命周期子智能体;
产品支持Web、Electron桌面与Expo移动三端,提供API、Worker与沙箱调度全套后端,仓库本身即完整可独立运行的核心产品。
源码简介
Rakazo把整个AI智能体平台拆成apps与packages两层pnpm workspace。
apps包含web(React 19 + Vite)、desktop(Electron)、mobile(Expo Router)、api(Hono + oRPC)、worker(Graphile Worker)、www(Astro官网);packages提供adapter-kit、adapters、auth、chat-ui、contracts、core、db、memory、testkit、ui-tokens、ui-web等共享模块。
适配层支持Pi Agent、E2B、Docker、Composio等多种沙箱与连接器,状态持久化使用Postgres+Prisma,鉴权使用Better Auth,整个项目以pnpm workspace统一管理。
数据库设计覆盖Bot全生命周期:用户/会话/组织、Bot与线程、消息与事件、任务与运行、外部效果与例程、连接器与能力安装、记忆文档与版本、桌面电脑与产物、密钥与用量记录等28张表。
适用场景
适合想在自有服务器上长期跑AI智能体的开发者与团队;
适合需要在Web、桌面、移动端多端协作使用同一套Bot平台的产品;
适合想自定义AI模型、模型供应商与沙箱执行环境的极客;
也适合研究多智能体编排、Bot记忆与例程机制的研究者。
技术架构与部署指南
| 维度 | 本套源码 | 同类通用方案 |
|---|---|---|
| 技术栈 | 全栈基于TypeScript(106个TS文件),前端React 19 + Vite + Tailwind,桌面端Ele | 依具体方案选型,需自行搭建与维护 |
| 部署方式 | 从仓库根目录开始,环境就绪后复制示例配置即可启动本地开发栈。 | 多托管于第三方平台或订阅云服务 |
| 功能侧重 | Bot即一等公民:每个Bot拥有独立线程、计算机、记忆与例程,可以创建子Bot或调用短生命周期子智能体,天然支持多智能体 | 功能通用,定制深度有限 |
| 数据归属 | 数据自持,部署在自有服务器,不出站 | 数据通常留存于服务商侧 |
| 成本模式 | 获取后自主部署,无持续授权费用 | 通常按订阅或调用量计费 |
技术栈与运行环境
全栈基于TypeScript(106个TS文件),前端React 19 + Vite + Tailwind,桌面端Electron 37,移动端React Native 0.79 + Expo 53 + expo-router;
后端Hono + oRPC + Prisma + Postgres + Better Auth,异步任务用Graphile Worker,沙箱适配层支持Dockerode(Docker本地)、E2B(云端)和Pi Agent Core(推理运行时),并集成Composio连接器市场。
运行时要求Node.js 22+、pnpm 9、Docker Desktop(用于本地Postgres与图形化Bot计算机)。
数据层使用Prisma管理schema与迁移(已提供0001_init、0002_bot_parent、0003_computer_host三版迁移),鉴权与多组织能力由Better Auth承担,记忆以memory_documents/memory_revisions文档版本形式存储。
功能亮点
Bot即一等公民:每个Bot拥有独立线程、计算机、记忆与例程,可以创建子Bot或调用短生命周期子智能体,天然支持多智能体编排。
自带图形化计算机:Bot运行在隔离沙箱里并通过/computers/:id/exec、/screen、/input路由暴露交互接口,用户像操作远程桌面一样使用Bot。
多端统一体验:Web Vite前端、Electron桌面端、Expo移动端共享@rakazo/contracts定义与@rakazo/chat-ui组件,桌面与移动实时同步会话与计算机。
可插拔适配层:Dockerode适配本地Docker、E2B适配云端隔离、Composio提供连接器、Pi Agent Core作推理运行时,开发者可按需替换或扩展。
安装与部署提示
从仓库根目录开始,环境就绪后复制示例配置即可启动本地开发栈。下面这段命令展示了初始化环境变量的标准操作。

完整启动步骤:在仓库根目录依次执行以下命令——
git clone https://github.com/elie222/rakazo.git
cd rakazo
cp .env.example .env
pnpm install
pnpm dev
dev脚本会通过turbo并行启动api、worker、web、sandbox-supervisor;
Docker Desktop会拉起本地Postgres和图形化Bot计算机镜像。
生产部署可使用pnpm compose:up启动infra/compose下的全栈docker-compose;
打包桌面端用pnpm –filter @rakazo/desktop pack;
移动端从apps/mobile用expo start。
.env文件包含DATABASE_URL、BETTER_AUTH_SECRET、ENCRYPTION_KEY、OPENROUTER_API_KEY、E2B_API_KEY、SANDBOX_SUPERVISOR_TOKEN等占位项,首次部署前必须替换;BETTER_AUTH_SECRET与ENCRYPTION_KEY使用强随机值,详见仓库根目录的.env.example。
截图与演示说明

为Rakazo项目官方横幅,展示「AI teammates you actually own」的核心主张。系统页面包含apps/web的Shell、Onboarding、HostComputerPrompt、PluginsOverlay、RoutineSchedule、Welcome等多个模块;移动端apps/mobile提供Computer、Home、NewBot、SignIn四个核心页面;桌面端Electron主进程负责窗口管理与RPC桥接。后端API路由覆盖/rpc/*(oRPC调用)、/health、/computers以及/computers/:id下的exec/screen/input/stop五个子资源,构成Bot计算机的远程交互接口。
常见问题
问:Rakazo需要哪些依赖才能本地运行?
答:需要Node.js 22+、pnpm 9、Docker Desktop(用于本地Postgres与图形化Bot计算机);如需云端沙箱体验还需E2B账号与API Key。
问:如何替换默认的AI模型?
答:在.env中配置OPENROUTER_API_KEY与PI_DEFAULT_MODEL(默认deepseek/deepseek-v4-flash-0731),也支持接入自定义LLM endpoint。
安全风险提示
Rakazo处于beta状态(README明示「The product is still early (beta)」),接口与配置可能随版本变化;
自托管需要Postgres与Docker运行时,注意生产环境配置HTTPS与防火墙。
.env文件包含多个API Key占位符,必须使用强随机值替换BETTER_AUTH_SECRET与ENCRYPTION_KEY,否则鉴权与数据加密会被绕过;
密钥表(secrets表)需定期审计与轮换。
沙箱执行Bot命令时存在一定越权风险,建议结合容器隔离与最小权限策略部署。
下载说明
本项目为开源代码,仅供学习研究、测试部署与二次开发参考。源码来自GitHub公开仓库,使用前请确认符合Apache-2.0协议相关条款。
GitHub项目开源地址:https://github.com/elie222/rakazo