# Technical Context for Groxbot # Version: 0.0.1 # Last Updated: 2026-08-17 Lang: en-US ## Technical Overview Like Grok Bot, for the team: named AI teammates with a real computer. If OpenClaw is for personal use, Groxbot is the office. Self-hostable, fair-code. Gmail, Slack, GitHub, and 1,000+ tools — plus a computer for the rest. Bring your own model keys. Self-host for your organization is free; hosted Groxbot for others is groxbot.com. Primary web property: https://groxbot.com Product API: https://api.groxbot.com ## Stack - TypeScript, pnpm, Hono, React, Vite, TanStack Router - Marketing, office SPA, and API: Cloudflare Workers - oRPC contract in @groxbot/contracts, client in @groxbot/rpc - Postgres + Drizzle for team data (Neon on hosted Cloudflare) - Hosted brains: gateway/scripted until Flue’s Cloudflare target - One wakeup queue per bot — Durable Object BotActor - Better Auth (magic-link email, Google, GitHub) - Sandboxes: Flue useSandbox — Cloudflare Computer light, Docker / Cloudflare Sandbox / E2B heavy, desktop on a trusted machine only ## Local run ``` cp .env.example .env cp apps/api/.dev.vars.example apps/api/.dev.vars pnpm install pnpm db:migrate pnpm dev ``` - Web: http://127.0.0.1:5173 (Vite; proxies /api /rpc /health) - API Worker: http://127.0.0.1:3100/health (wrangler dev) - oRPC: http://127.0.0.1:3100/rpc Use 127.0.0.1, not localhost, for OAuth callbacks. Neon DATABASE_URL is required (Worker uses Neon HTTP). ## Public HTTP - GET https://groxbot.com/llms.txt — AI-readable identity - GET https://groxbot.com/mcp — MCP discovery (HTML) and Streamable HTTP - GET https://groxbot.com/.well-known/mcp.json — MCP server card - GET https://api.groxbot.com/health — API probe - POST https://api.groxbot.com/rpc — signed-in product API (oRPC) - POST https://api.groxbot.com/api/auth/* — Better Auth Do not import fs, dockerode, or Cloudflare bindings from the Pi/executor. The API Worker uses @groxbot/adapters/edge (scripted / gateway). ## Tests Stay offline: AGENT_RUNTIME=scripted, SANDBOX_PROVIDER=fake, in-process wakeup. No live OpenRouter, Cloudflare Computer, Cloudflare Sandbox, or E2B. Hosted AGENT_RUNTIME=flue maps to gateway/scripted. Hands are Flue useSandbox keyed by computerId. ## Source layout apps/web desktop mobile api worker guest packages/contracts rpc adapter-kit core db auth adapters seo ## Contact - Email: hello@groxbot.com - Source: https://github.com/muhajirdev/groxbot # --- # Specification: developer-ai.txt (ADF-009)