Skip to content

Latest commit

 

History

History
124 lines (90 loc) · 5.19 KB

README.md

File metadata and controls

124 lines (90 loc) · 5.19 KB

Genbase Logo

Genbase

The Operating System for Modular AI Agents

License GitHub Stars


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.

Genbase Studio Interface - Module View

Key Highlights

  • 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.

Core Concepts

  • 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 specific Actions.

Getting Started 🚀

The recommended way to run Genbase is using Docker Compose.

  1. Clone the Repository:

    git clone https://github.com/genbase-project/genbase.git
    cd genbase
  2. 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
  3. 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
  4. Make Scripts Executable:

    chmod +x scripts/*.sh
  5. Start Genbase:

    ./scripts/docker-run.sh up

    (Wait for services to start and migrations to complete).

  6. Access Genbase:

Running Locally (Development)

  1. Ensure Python 3.11+ and Node.js 18+ are installed.
  2. Follow steps 1-3 above.
  3. Run the local development script:
    ./scripts/run-local.sh

Quick Demo 💡

  1. Log in to the Studio.
  2. Ensure the default project is selected (or create one).
  3. Go to the Registry tab, find a Kit, and click Install Kit.
  4. Go to the Modules tab and click Create Module.
  5. Select the installed Kit, name your module, and create it.
  6. Select your new module in the tree.
  7. In the bottom panel, choose a Profile and start chatting with the agent!

Documentation 📚

Contributing 🤝

We welcome contributions! Please see our CONTRIBUTING.md guide for details.

Community & Support 💬

License

Genbase is distributed under the terms of the Apache License 2.0.