6.8 KiB
Note
本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
本仓库
本仓库包含:
- Integrations(集成) – Botpress 在 Botpress Hub 上维护的所有公开集成
- Devtools(开发工具) – 所有 Botpress Cloud 开发工具(CLI、SDK、API Client)
- Bots(机器人) - 仅使用 SDK 和 CLI 构建的「as code」机器人示例
- Plugins(插件) – Botpress Studio 上的所有插件 (即将推出)
贡献
我们欢迎来自社区的贡献!
我们欢迎针对本仓库中任何代码提交 Pull Request 和 Issue。更多详情请参阅本仓库一节。
对于与 Botpress Cloud 相关的缺陷或功能需求,你可以在本仓库创建 Issue,但请记住,在 Discord 上与我们交流能获得更快的响应!
对于与本地部署版 Botpress v12 相关的任何问题,请参阅 Botpress v12 仓库.
集成
/integrations 文件夹包含我们所有公开且开源的集成。我们邀请社区为我们的集成做贡献,或将你自己的集成发布到 Botpress Hub.
集成开发
要开发集成,请先安装 Botpress CLI:
npm install -g @botpress/cli # for npm
yarn global add @botpress/cli # for yarn
pnpm install -g @botpress/cli # for pnpm
然后,在你选择的目录中创建一个新的集成:
bp init
此命令将从提供的模板之一生成一个集成。
此步骤可在任意目录和 Git 仓库中执行。你无需 fork 本仓库即可创建集成。
随后,你可以分别修改位于 integration.definition.ts 和 src/index.ts 文件中的集成定义与实现。
有关如何开发集成的更多信息,请参阅文档.
集成部署
要试用你的集成,可以使用 Botpress CLI 将其当前版本部署到你的工作区:
bp deploy
这会将集成的当前版本部署到工作区,并供你所有机器人使用。若该版本已部署,则会更新;否则会创建新版本。
默认情况下,所有集成仅对其部署所在的工作区私有。当你准备与社区分享你的版本时,可以运行以下命令将其公开:
bp deploy --visibility public
这会使你的集成在 Botpress Hub. 上对所有 Botpress 用户可用。集成版本一旦公开,便无法再次更新。
机器人
/bots 文件夹包含仅使用 client、SDK 和 CLI 构建的「as code」机器人示例。
这不是构建机器人的推荐方式,也绝非 Botpress Studio 的替代品。
不过,对于希望以更具编程化的方式构建机器人的资深开发者来说,它仍然很有用。
Botpress 团队内部也会使用这种方式,因为 Studio 与 SDK 都基于相同的底层原语。
插件
即将推出。
开发工具
| Package(包) | Description(说明) | Docs(文档) | Code(代码) |
|---|---|---|---|
@botpress/cli |
构建、部署并管理机器人、集成与插件 | Docs | Code |
@botpress/client |
用于调用 Botpress API 的类型安全客户端 | Docs | Code |
@botpress/sdk |
用于构建集成的 SDK | Docs | Code |
本地开发
前置条件
开发环境需要安装以下工具:
git: Git 是一款免费开源的分布式版本控制系统。node: Node.js® 是基于 Chrome V8 JavaScript 引擎构建的 JavaScript 运行时。pnpm: PNPM 是一款快速且节省磁盘空间的包管理器。
Windows 专用前置条件
从源码构建
# 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
许可
本仓库中的所有包均为开源软件,并根据 MIT License 许可。在本仓库贡献代码即表示你同意以相同许可发布你的代码。
让我们一起构建聊天机器人开发的未来!🤖🚀
