/botpress

The open-source hub to build & deploy GPT/LLM Agents ⚡️

Primary LanguageTypeScriptMIT LicenseMIT

Botpress Cloud

Discord YouTube Subscribe Documentation @botpress/sdk @botpress/cli

Botpress is the ultimate platform for building next-generation chatbots and assistants powered by OpenAI. Start building incredible assistants for your projects or businesses at lightning speed.

Getting startedCloudDocumentationIntegrationsAgents

This Repository

This repository contains:

  • Integrations – all public integrations on the Botpress Hub maintained by Botpress
  • Devtools – all Botpress Cloud dev tools (CLI, SDK, API Client)
  • Bots - some example of bots "as code" made only using the SDK and the CLI
  • Agents – all public agents on the Botpress Studio (coming soon)

Contributing

We love contributions from the community!

We welcome pull requests and issues relevant for any code contained in this repository. See the This Repository section for more details.

For bugs or features related to the API, Botpress Dashboard or the Botpress Studio, please talk to us on Discord instead!

For any problem related to on-premise Botpress v12, please see the Botpress v12 repository.

Integrations

The /integrations folder contains all our public and open-source integrations. We invite the community to contribute their own integrations to Botpress Cloud.

Integration Development

To develop an integration, start by installing the Botpress CLI:

npm install -g @botpress/cli # for npm
yarn global add @botpress/cli # for yarn
pnpm install -g @botpress/cli # for pnpm

Then, in the directory of your choice, create a new integration:

bp init

This command will generate an integration from one of the proposed templates.

This step can be executed in any directory and git repository of your choice. You don't have to fork this repository to create an integration.

You can then modify both the definition and implementation of your integration respectively located in the integration.definition.ts and src/index.ts files.

For more information on how to develop an integration, please refer to the Documentation.

Integration Deployment

To try out your integration, you can deploy its current version to your workspace using the Botpress CLI:

bp deploy

This will deploy your integration's current version to your workspace and make it available to all your bots. If this version is already deployed, it will be updated. Otherwise, a new version will be created.

By default, all integrations are private to the workspace they have been deployed in. When you are ready to share your version with the community, you can make it public by running:

bp deploy --public

This will make your integration available to all Botpress users on the Botpress Hub. Once a version of your integration is public, it cannot be updated again.

Bots

The /bots folder contains examples of bots "as code" made only using the client, the SDK and the CLI.

This is not the recommended way to build bots and is in no way a replacement for the Botpress Studio.

However it can be useful for experienced developers who want to build bots in a more programmatic way.

It is also used internally by the Botress team since the Studio and CLI both use the same underlying primitives.

Devtools

Package Description Docs Code
@botpress/cli Build and deploy private or public integrations Docs Code
@botpress/client Type-safe client to consume the Botpress APIs Docs Code
@botpress/sdk SDK used by to build integrations Docs Code

Agents

Coming soon.

Local Development

Prerequisites

The development environment requires the following tools to be installed:

  • git: Git is a free and open source distributed version control system.
  • node: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
  • pnpm: PNPM is a fast, disk space efficient package manager.

Building from sources

# Clone the repository
git clone https://github.com/botpress/botpress.git
cd botpress

# Install dependencies
pnpm install

# Build all packages
pnpm run build

# Run Checks
pnpm run check

Licensing

All packages in this repository are open-source software and licensed under the MIT License. By contributing in this repository, you agree to release your code under this license as well.

Let's build the future of chatbot development together! 🤖🚀