Rakazo is an open-source platform for running persistent AI teammates. It is available on the web, as an Electron desktop app, and through an Expo mobile app. Bring your own model and computer provider, or run the complete stack locally.
Rakazo is in beta. Learn more at rakazo.com.
- Persistent bots with their own conversations, memory, routines, and history
- Shared Team Computers and isolated Private computers
- Browser, terminal, file, and graphical desktop access
- Bots that can delegate to peer bots or short-lived subagents
- Bring-your-own model credentials through Pi
- Optional app integrations through Composio
- Docker, E2B, Daytona, and trusted local-computer support
demo.mp4
- TypeScript
- React 19, Vite, and Tailwind CSS
- Electron and Expo
- Hono and oRPC
- PostgreSQL and Prisma
- Better Auth
- Graphile Worker
- Pi
- Docker, E2B, and Daytona
- Composio
You need Node.js 22+, pnpm 9, and Docker Desktop.
git clone https://github.com/elie222/rakazo.git
cd rakazo
cp .env.example .envSet BETTER_AUTH_SECRET and ENCRYPTION_KEY in .env to independent, long random values. You can
also set OPENROUTER_API_KEY, or connect a supported model provider during onboarding.
docker compose --env-file .env -f infra/compose/docker-compose.yml up postgres -d
pnpm install
pnpm db:generate
pnpm db:migrate
pnpm sandbox:build
pnpm devOpen http://127.0.0.1:5173, create an account, connect a model, and create your first bot.
For an agent-assisted installation, use SETUP_PROMPT.md. For deployment, provider selection, backups, and upgrades, see the self-hosting guide.
The Electron and Expo apps are clients of the same Rakazo API used by the web app.
With the development stack running, launch Electron with:
pnpm --filter @rakazo/desktop devMobile build and release instructions live in docs/mobile-release.md.
Rakazo is a TypeScript monorepo built with React, Electron, Expo, Hono, Postgres, Prisma, Graphile Worker, and Pi.
apps/ web, api, worker, desktop, mobile, and public website
packages/ domain, contracts, persistence, adapters, UI, and test tooling
infra/ local services and computer images
docs/ architecture, operations, and release guides
Common checks:
pnpm lint
pnpm check
pnpm test
pnpm test:integration
pnpm test:e2eSee CONTRIBUTING.md for the development workflow and test matrix.
pnpm test # unit, property, and in-process contract tests
pnpm test:integration # Postgres journeys, Graphile jobs, LISTEN/NOTIFY
pnpm test:e2e # Playwright against the emulated stack
pnpm test:e2e -- --sandbox=e2b # the same deterministic suite against real E2B
pnpm test:e2e -- --sandbox=daytona # the same suite against real Daytona
pnpm test:e2e -- --sandbox=box # the same suite against real Box
pnpm test:topology # local Docker + Graphile worker recovery (needs Docker)
pnpm test:canary # live OpenRouter / E2B / Box canaries
# explicit real vision-model + real E2B desktop acceptance test:
COMPUTER_E2E_MODEL=<vision-capable-openrouter-model-id> pnpm test:computerThe Playwright workflow can also be started manually with Sandbox provider set to e2b, daytona, or box.
Those options require E2B_API_KEY, DAYTONA_API_KEY, or BOX_API_KEY, keep the deterministic scripted agent runtime, and destroy
the provider machines after the run. The default and all automatic runs remain on fake.
Contributions are welcome. Please read CONTRIBUTING.md before opening a pull
request. For security vulnerabilities, follow SECURITY.md instead of filing a public
issue.
Rakazo is licensed under the Apache License 2.0.
Questions and ideas are welcome in the Rakazo Discord community.
