The Operating System for Modular AI Agents
Genbase is an open-source platform designed to help you build, manage, and orchestrate complex AI systems.
Building powerful AI systems often involves integrating diverse capabilities – managing databases, generating code, interacting with external APIs, analyzing data, and more.
Genbase tackles this complexity by introducing Kits: self-contained, versioned blueprints that package specific AI functionalities. A Kit might contain specialized agent logic, Python tools (Actions), configuration, dependencies, and even initial workspace files. These Kits can be shared and reused across projects.
- Build with Reusable Blocks: Package expertise into shareable Kits, drastically reducing redundant development.
- Orchestrate Collaboration: Define how Modules connect and securely share capabilities (
Provide
Workspaces/Actions). - Secure & Isolated Execution: Run custom Python Actions in sandboxed Docker containers with managed dependencies.
- Centralized LLM Access: Configure your preferred LLM centrally and let Modules access it securely via an OpenAI-compatible gateway using unique API keys.
- Human-in-the-Loop Interface: Manage, monitor, and interact with your AI system through the Genbase Studio web UI.
- Kit: A shareable blueprint for an AI capability (code, config, data, profile). Defined by
kit.yaml
. - Module: A live instance of a Kit running within a Project, with its own state and connections.
- Project: An organizational container for Modules.
- Profile: A specific task or interaction mode defined for a Module (e.g.,
initialize
,maintain
). - Action: A Kit-defined Python function executed securely in a container.
- Provide: Mechanism for one Module to grant another access to its
Workspace
or specificActions
.
The recommended way to run Genbase is using Docker Compose.
-
Clone the Repository:
git clone https://github.com/genbase-project/genbase.git cd genbase
-
Prepare Environment Files: Copy the templates. You must edit
engine/.env
.cp docker/.env.template docker/.env cp engine/.env.template engine/.env cp studio/.env.template studio/.env
-
Configure the Engine: Edit
engine/.env
:- Required: Set at least one LLM API key (e.g.,
OPENAI_API_KEY=sk-...
). - Required: Set
ADMIN_PASSWORD
for the initial 'admin' user. - Required: Configure
DATABASE_URL
for PostgreSQL. - Required: Set
AUTH_SECRET
for JWT security.
nano engine/.env # Or your preferred text editor
- Required: Set at least one LLM API key (e.g.,
-
Make Scripts Executable:
chmod +x scripts/*.sh
-
Start Genbase:
./scripts/docker-run.sh up
(Wait for services to start and migrations to complete).
-
Access Genbase:
- Studio UI: http://localhost:5173
- Engine API Docs: http://localhost:8000/docs
- Log in with username
admin
and the password you set.
- Ensure Python 3.11+ and Node.js 18+ are installed.
- Follow steps 1-3 above.
- Run the local development script:
./scripts/run-local.sh
- Log in to the Studio.
- Ensure the
default
project is selected (or create one). - Go to the Registry tab, find a Kit, and click Install Kit.
- Go to the Modules tab and click Create Module.
- Select the installed Kit, name your module, and create it.
- Select your new module in the tree.
- In the bottom panel, choose a Profile and start chatting with the agent!
We welcome contributions! Please see our CONTRIBUTING.md guide for details.
- GitHub Issues: Report bugs or request features
- GitHub Discussions: Ask questions and share ideas
Genbase is distributed under the terms of the Apache License 2.0.