Content
<p align="center">
<img src="docs/openbean-banner.png" alt="openbean" width="900">
</p>
<p align="center">
<a href="https://npmjs.com/package/@openbean/openbean"><img src="https://img.shields.io/npm/v/@openbean/openbean?color=brightgreen&label=npm" alt="npm version"></a>
<a href="https://github.com/openbean/openbean/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License"></a>
<a href="https://github.com/openbean/openbean/actions"><img src="https://img.shields.io/github/actions/workflow/status/openbean/openbean/ci.yml?branch=develop" alt="CI Status"></a>
<a href="https://github.com/openbean/openbean/releases"><img src="https://img.shields.io/github/v/release/openbean/openbean" alt="GitHub Release"></a>
</p>
<p align="center">
<strong>🌐 <a href="https://openbean.github.io/openbean">Visit Landing Page</a></strong>
</p>
# openbean — Enterprise Intelligence Layer
**openbean is a central brain for an AI-assisted workspace.** It gives a company one place to keep shared memory, context, and coordination across AI tools, AI workflows, employees, and connected business systems.
Instead of every assistant, bot, and workflow starting from scratch, openbean gives them a common layer they can build on.
At a high level, openbean provides:
- persistent memory that can be shared across tools and workflows
- a backend for tasks, memory, policy, routing, and auditing
- integrations and gateways for tools like Slack and Telegram
- a web admin app, desktop app, and shared TypeScript packages
## What openbean solves
Most AI work inside a company breaks down in the same places:
- company context is scattered across Slack, docs, tickets, APIs, and databases
- each AI tool or workflow keeps its own partial view of the business
- there is no persistent shared memory across workflows, employees, and tools
- permissions and approval rules are hard to enforce consistently
- nobody can easily answer what the system did, why it did it, or who triggered it
openbean fixes that by acting as the shared layer between your people, your systems, and your AI workflows. It helps AI-assisted work stay connected to the same memory, rules, and operational context instead of becoming a collection of isolated automations.
## How it works
openbean sits between your business systems and the AI experiences built on top of them.
- it connects to tools and services through gateways and apps
- it stores and scopes memory so context can persist across sessions and workflows
- it applies policy and permissions before actions are allowed
- it tracks what happened through audit and task history
- it gives teams admin and developer surfaces for operating the system
## What's in this repo
This repository is a monorepo with Rust services, TypeScript apps, shared packages, and deployment assets.
### Main parts
- `crates/openbean-daemon`: main backend service
- `crates/openbean-core`: shared Rust domain types and traits
- `crates/openbean-memory`: memory abstractions and types
- `crates/openbean-auth`: auth and session handling
- `crates/openbean-audit`: audit logging
- `crates/openbean-policy`: permission and policy evaluation
- `crates/openbean-gateway`: gateway registration and normalization
- `crates/openbean-orchestrator`: task lifecycle management
- `crates/openbean-runtime`: agent execution runtime
- `crates/openbean-model-router`: model routing logic
- `apps/web-admin`: Next.js admin UI
- `apps/desktop`: Tauri desktop app
- `apps/slack-gateway`: Slack gateway app
- `apps/telegram-gateway`: Telegram gateway app
- `apps/vscode-extension`: VS Code extension
- `packages/sdk`: shared TypeScript SDK
- `packages/types`: shared TypeScript types
- `packages/ui`: shared UI components
- `infra/`: Docker, Kubernetes, Helm, Terraform, and ops assets
- `docs/`: setup, deployment, and operational guides
## Tech stack
- Rust for backend services and core logic
- TypeScript, Next.js, React, and Tauri for apps and tooling
- pnpm and Turborepo for workspace management
- PostgreSQL for persistence
- Docker and Docker Compose for local and deployment workflows
## Requirements
- Rust 1.75 or newer
- Node.js 20 or newer
- pnpm 9 or newer (for development)
- Docker and Docker Compose (optional for PostgreSQL)
## Quick start
### Option 1: NPM Installation (Recommended)
Install via npm with interactive profile selection:
```bash
npx @openbean/openbean install
```
Choose your profile:
- **Lite**: Core daemon + SDK (~50MB, headless)
- **Edge**: Core + Web Admin (~200MB, recommended)
- **Full**: Everything (~500MB, all features)
See [NPM Package Guide](docs/NPM_PACKAGE.md) for full installation documentation.
### Option 2: From Source
#### 1. Clone the repo
```bash
git clone https://github.com/openbean/openbean.git
cd openbean
```
#### 2. Create an environment file
```bash
cp .env.example .env
```
Edit `.env` with values that match your local setup.
#### 3. Start local services
For the backend dependencies only:
```bash
docker compose -f infra/docker/docker-compose.yml up -d postgres redis
```
For the local demo stack:
```bash
docker compose -f docker-compose.dev.yml up --build
```
That starts:
- PostgreSQL on `localhost:5432`
- the daemon on `localhost:8080`
- the seed step for local data
- the web admin app on `localhost:3000`
### 4. Install JavaScript dependencies
```bash
pnpm install
```
### 5. Run the backend
```bash
cargo run -p openbean-daemon
```
Health endpoint:
- `http://localhost:8080/health`
### 6. Run the web admin app
```bash
cd apps/web-admin
pnpm dev
```
## Raspberry Pi or edge setup
```bash
cp .env.pi.example .env.pi
docker compose -f docker-compose.pi.yml --profile postgres up -d
```
`OPENBEAN_MODE` supports:
- `edge`
- `lite`
- `full`
## Build commands
### Rust
```bash
cargo build --workspace
cargo test --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo fmt --all
```
### TypeScript
```bash
pnpm turbo run build
pnpm turbo run typecheck
pnpm turbo run lint
```
### Docker
```bash
docker build -f infra/docker/Dockerfile .
```
## Contributing
Contributions are welcome.
### Basic workflow
1. Create a branch from `develop`.
2. Make your changes in small, reviewable commits.
3. Add or update tests when behavior changes.
4. Run the relevant checks before opening a PR.
5. Open a pull request against `develop`.
### Recommended checks
```bash
cargo fmt --all -- --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace
pnpm turbo run typecheck
pnpm turbo run lint
pnpm turbo run build
```
### Git hooks
This repo uses `lefthook` for local hooks.
```bash
pnpm prepare
```
## Additional docs
- `ARCHITECTURE.md` for a deeper technical overview
- `docs/` for deployment, operations, and troubleshooting guides
## License
This project is licensed under the MIT License. See `LICENSE` for the full text.
Connection Info
You Might Also Like
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.
awesome-claude-skills
A curated list of awesome Claude Skills, resources, and tools for...
claude-flow
Claude-Flow v2.7.0 is an enterprise AI orchestration platform.
Appwrite
Build like a team of hundreds
semantic-kernel
Build and deploy intelligent AI agents with Semantic Kernel's orchestration...
Anthropic-Cybersecurity-Skills
734+ structured cybersecurity skills for AI agents · MITRE ATT&CK mapped ·...