bootdesk/chat-sdk
最新稳定版本:v0.1.1
Composer 安装命令:
composer require bootdesk/chat-sdk
包简介
Multi-platform chat bot SDK for PHP — Slack, Telegram, WhatsApp, Discord, Messenger, Web, GitHub, Linear, Telnyx + Laravel integration + BotMan compatibility
README 文档
README
⚠️ Work in Progress — This codebase was generated by an LLM agent and is not yet production-ready. APIs may change without notice.
BootDesk Chat SDK
Multi-platform chat bot SDK for PHP. Ships with adapters for Slack, Telegram, WhatsApp, Discord, Messenger, Web, GitHub, and Linear — all driven by a shared framework-agnostic core.
Heavily inspired by Vercel's AI Chat SDK. The same cross-platform event/response patterns and rich card model adapted for PHP's synchronous request lifecycle.
Includes a BotMan compatibility shim (bootdesk/botman-compat) — migrate existing BotMan bots to the BootDesk SDK gradually, adapter by adapter.
For full architecture, commands, and conventions see
AGENTS.md.
Requirements
- PHP 8.2+
Installation
composer require bootdesk/chat-sdk
Quick Start
1. Configure adapters in config/chat.php:
return [ 'default' => 'slack', 'adapters' => [ 'slack' => [ 'driver' => 'slack', 'token' => env('SLACK_BOT_TOKEN'), 'signing_secret' => env('SLACK_SIGNING_SECRET'), ], 'telegram' => [ 'driver' => 'telegram', 'token' => env('TELEGRAM_BOT_TOKEN'), ], ], ];
2. Register handlers in a service provider:
use BootDesk\ChatSDK\Core\Chat; use BootDesk\ChatSDK\Core\MessageContext; public function boot(): void { $chat = $this->app->make(Chat::class); $chat->onNewMessage('/^hello$/i', function (MessageContext $ctx) { $ctx->thread->post('Hey there!'); }); $chat->onDirectMessage(function (MessageContext $ctx) { $ctx->thread->post('You DMd me!'); }); }
3. Set up webhook routes:
// routes/web.php Route::post('/chat/webhook/slack', [WebhookController::class, 'slack']); Route::post('/chat/webhook/telegram', [WebhookController::class, 'telegram']);
Packages (monorepo structure)
| Package path | Description |
|---|---|
packages/core |
Framework-agnostic core -- Chat class, Thread, Cards, Conversations |
packages/laravel |
Laravel integration -- ServiceProvider, Facade, Commands, Jobs |
packages/adapter-slack |
Slack adapter -- Event API, Socket Mode |
packages/adapter-telegram |
Telegram adapter -- Bot API |
packages/adapter-whatsapp |
WhatsApp Business adapter -- Cloud API |
packages/adapter-discord |
Discord adapter -- Interactions endpoint |
packages/adapter-messenger |
Messenger adapter -- Facebook Messenger |
packages/adapter-web |
Web adapter -- Generic REST/WebSocket |
packages/adapter-github |
GitHub adapter -- Webhooks, REST API |
packages/adapter-linear |
Linear adapter -- Webhooks, GraphQL API |
packages/adapter-telnyx |
Telnyx adapter -- Messaging API |
packages/botman-compat |
BotMan compatibility shim |
Features
- Event handlers -- Route messages by regex patterns, DMs, mentions, reactions, and more
- AI streaming -- Stream AI-generated responses token-by-token to any platform
- Rich cards -- Build platform-adaptive cards with buttons, fields, and sections
- Conversations -- Multi-turn dialog flows with state tracking
- Slash commands -- Register and handle custom slash commands
- Reactions -- Add, remove, and react to emoji on messages
- File uploads -- Send and receive files, images, and attachments
- Middleware -- Intercept inbound/outbound messages and webhooks
- Concurrency control -- Built-in locking with configurable strategies (drop, queue, serial)
- Multi-tenant -- Isolated state and configuration per tenant
- Templates -- Platform-specific message templates (WhatsApp, Messenger) -- see individual adapter READMEs for details
Testing
composer test
License
MIT
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 9
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-05-14