A self-hosted workspace for Bots that remember their roles, work together in channels, and deliver files you can use.
The real channel components, shown with sample data. The interactive demo does not connect to a model.
Current source uses the Python Server. New builds provide a local service on Apple Silicon Mac; Windows and Intel Mac connect to a remote Python service. The published alpha.9 installers below remain historical artifacts; this source change does not update existing installations or convert their data.
Desktop 0.1.0-alpha.9
| Platform | Installer | Workspace |
|---|---|---|
| macOS · Apple Silicon | Download DMG | Built-in Server and PostgreSQL, or connect to your Server |
| Windows · x64 | Download EXE | Built-in Server and PostgreSQL, or connect to your Server |
Preview installers are unsigned; macOS is not notarized. See release notes and checksums and the installation guide for system trust prompts, upgrades and other platform builds.
- Install OpenBot and create a local workspace, or connect to an existing Server.
- In Settings → Model service, choose a provider, save your key and model, and enable the Agent. Model access is supplied by your own provider account.
- Create Bots with distinct roles and add them to a channel. Assign a task, attach source material, and let them ask colleagues for help.
- Follow replies, add instructions as work runs, and download the finished files.
Saved settings, encrypted credentials and workspace data are reused when you reopen the app. Local services run while Desktop is open; unattended automations need a continuously running Server.
- Build a team. Give each Bot an identity, role and appearance. Review its memories, lessons and skill versions.
- Work in channels. Talk directly or bring several Bots together. Bots delegate under their own identities and gather results before delivery. Reply, react, manage members and inspect task progress.
- Bring your material. Attach documents, spreadsheets, PDFs, images or media. Extract text, use local OCR, record voice drafts and explicitly request supported transcription.
- Keep the results. Download original files and generated reports. Share a reusable Bot profile without exporting private chats, memory, credentials or permissions.
- Connect more tools. Review MCP tools, resources, prompts and isolated interactive Apps; grant access to the Bots that need them.
- Set recurring work. Schedule fixed-interval tasks, pause or resume them, and review the last outcome.
OpenBot currently serves one workspace Owner. Delegation is bounded, and computer control requires a separately enrolled Worker and compatible Provider. Read the manual for workflows and limits.
Use Node.js 22.22.2, npm 10.9.9 Python 3.12, and Docker for the local PostgreSQL service.
git clone https://github.com/Peerframe/openbot.git
cd openbot
npm ci
apps/server-python/scripts/bootstrap-worker.sh
cp .env.example .env
# Set OPENBOT_CONTROL_OWNER_PASSWORD in .env to a random password of at least 15 characters.
npm run db:up
npm run devThis command builds shared packages first, then starts Server and Web. For separate terminals, use npm run dev:server and npm run dev:web; these also build their dependencies. Start an optional Worker with npm run dev:node only after Node enrollment.
Open localhost:5173 and sign in with the password you configured. A model account is needed for model tasks, but not to start the app or work on its interface and ordinary tests. Configure your model in Settings when needed, then create your first Bot. For a hosted Server, follow container deployment; for native Desktop builds, follow Desktop installation.
Before an implementation or script handoff, run npm run check from the repository root.
For prose or contributor instructions, follow the applicable validation rules.
Security and required hosted checks remain applicable.
Desktop and Web share a React interface. The Server owns Bot identities, routing, permissions, approvals and audit. It runs model tasks and scoped MCP connections, stores workspace data in PostgreSQL and object storage, and dispatches computer-backed work to enrolled Workers.
| Location | Responsibility |
|---|---|
| apps/web | Shared workspace UI |
| apps/desktop | Electron shell, local services and packaging |
| apps/server-python | API, model execution, collaboration and authorization |
| apps/node · Worker Hosts | Enrolled execution and native lifecycle |
| packages · providers | Shared contracts and execution adapters |
| openbot-website | Independent website, manuals and demo |
See the repository map, architecture and security model for ownership and integration boundaries.
Plugins: implement a standard MCP Streamable HTTP endpoint for tools, resources, prompts or Apps. Follow the plugin contract, start from an example, and submit your extension for review. No OpenBot-specific SDK is required; installation and per-Bot permission are separate steps.
Core: start at the development entry, then read Contributing, open-source reuse and the documentation index. Use Issues for bugs and proposals, and pull requests for changes. Report vulnerabilities through Security.
MIT. Upstream attribution is maintained in Third-party notices. Bot evolution and learning are inspired by Hermes Agent's learning graph.
OpenBot is a working project name shared with other projects. This project is independent of xAI, Tencent, CopilotKit and OpenClaw. Japanese and Portuguese translations currently describe an earlier release.

