# vercel/ai-chatbot

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/vercel-ai-chatbot).**

19,541 stars · 6,329 forks · TypeScript · other

## Links

- GitHub: https://github.com/vercel/ai-chatbot
- Homepage: https://chat-sdk.dev
- awesome-repositories: https://awesome-repositories.com/repository/vercel-ai-chatbot.md

## Topics

`ai` `chatgpt` `nextjs` `react` `redis` `shadcn-ui` `vercel`

## Description

This project is a cross-platform chatbot framework designed to integrate generative artificial intelligence models into messaging services. It provides a unified architecture for building and deploying automated bots that maintain consistent conversation state, user identity, and interaction logic across multiple messaging platforms from a single codebase.

The framework distinguishes itself through a modular adapter system that normalizes platform-specific webhooks and events into a standardized internal schema. It includes a comprehensive toolkit for constructing rich, interactive user interfaces—such as modal forms and dynamic cards—that adapt to native platform formats. Furthermore, it supports complex automation workflows by implementing human-in-the-loop oversight, allowing for manual approval of AI-driven actions before they are executed within a workspace.

Beyond its core integration capabilities, the project manages the full lifecycle of bot operations, including distributed concurrency control, persistent state management for conversation history, and real-time content streaming. It also provides diagnostic tools for validating bot logic and monitoring message processing to ensure reliable performance in distributed environments.

## Tags

### Artificial Intelligence & ML

- [Chatbot Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/chatbot-frameworks.md) — Provides a unified framework for building and deploying AI-powered bots across multiple messaging services from a single codebase.
- [AI Agent Integration Platforms](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-agent-integration-platforms.md) — Acts as a toolkit for connecting generative models to messaging platforms via event normalization and state management.
- [AI Agent Tool Integrations](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-agent-integrations/ai-agent-tool-integrations.md) — Connects generative AI models to messaging platforms for automated responses and tool execution.
- [Generative AI Integrations](https://awesome-repositories.com/f/artificial-intelligence-ml/generative-ai-integrations.md) — Connects large language models to application frontends, enabling generative capabilities within the conversation flow. ([source](https://chat-sdk.dev/docs/api))
- [Platform Normalization Adapters](https://awesome-repositories.com/f/artificial-intelligence-ml/bot-platforms/platform-normalization-adapters.md) — Normalizes platform-specific webhooks and events into a standardized internal schema to enable cross-platform bot logic.
- [Conversation State Management](https://awesome-repositories.com/f/artificial-intelligence-ml/conversation-state-management.md) — Maintains persistent conversation history and user identity mapping across messaging platforms. ([source](https://chat-sdk.dev/docs/streaming))
- [Tool Calling](https://awesome-repositories.com/f/artificial-intelligence-ml/generative-ai-resources/decoding-generation-controls/tool-calling.md) — Enables AI models to identify, select, and execute external functions or tools during a generation process.
- [Human-in-the-Loop Workflows](https://awesome-repositories.com/f/artificial-intelligence-ml/human-in-the-loop-workflows.md) — Integrates manual approval workflows to require human confirmation before agents perform write operations. ([source](https://chat-sdk.dev/docs/ai/ai-sdk-tools))
- [Agent Tool Integrations](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-systems-frameworks/integration-deployment/agent-frameworks/tool-use-and-execution/agent-tool-integrations.md) — Connects autonomous agents to external software tools and APIs to extend their functional capabilities within conversations. ([source](https://chat-sdk.dev/docs))
- [Conversation State Persistence](https://awesome-repositories.com/f/artificial-intelligence-ml/conversation-state-management/conversation-state-persistence.md) — Saves and restores conversation context and message history across multiple sessions using pluggable storage backends.
- [Conversational AI Platforms](https://awesome-repositories.com/f/artificial-intelligence-ml/conversational-ai-platforms.md) — Registers messaging adapters and event handlers to manage bot logic and webhook routing across platforms from one codebase. ([source](https://chat-sdk.dev/docs/api))
- [Concurrency Managers](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-systems-frameworks/integration-deployment/agent-frameworks/agent-runtimes/concurrency-managers.md) — Manages concurrent message execution through queuing, debouncing, and bursting strategies to maintain system stability. ([source](https://chat-sdk.dev/docs/concurrency))
- [AI Chat Actions](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-chat-actions.md) — Integrates messaging actions as executable tools, allowing agents to read, post, and manage workspace content directly. ([source](https://chat-sdk.dev/docs/ai/ai-sdk-tools))
- [Chat Message Formats](https://awesome-repositories.com/f/artificial-intelligence-ml/chat-message-formats.md) — Standardizes schemas for structuring text generation requests to ensure compatibility with external artificial intelligence models. ([source](https://chat-sdk.dev/docs/ai/to-ai-messages))
- [AI Agent Capabilities](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-systems-frameworks/agent-capabilities-skills-tooling/ai-agent-capabilities.md) — Limits agent capabilities by scoping available toolsets to specific functional categories like reading, messaging, or moderation. ([source](https://chat-sdk.dev/docs/ai/ai-sdk-tools))
- [Conversation History Management](https://awesome-repositories.com/f/artificial-intelligence-ml/conversation-history-management.md) — Provides programmatic access to retrieve, count, and delete stored message logs for specific users. ([source](https://chat-sdk.dev/docs/api/transcripts))
- [Conversation State Managers](https://awesome-repositories.com/f/artificial-intelligence-ml/conversation-state-managers.md) — Manages chronological message logs to provide context for language models while supporting privacy requests. ([source](https://chat-sdk.dev/docs/conversation-history))

### Networking & Communication

- [Messaging Bot Frameworks](https://awesome-repositories.com/f/networking-communication/messaging-bot-frameworks.md) — Provides a unified framework for building and deploying bots across multiple messaging services.
- [Messaging Adapters](https://awesome-repositories.com/f/networking-communication/messaging-adapters.md) — Implements a modular adapter system that normalizes platform-specific webhooks and APIs into a consistent internal interface.
- [Messaging Platform Integrations](https://awesome-repositories.com/f/networking-communication/messaging-platform-integrations.md) — Integrates chat logic with multiple services by normalizing incoming webhooks and converting outgoing responses into platform-specific formats. ([source](https://chat-sdk.dev/docs/adapters))
- [Bot Command Interfaces](https://awesome-repositories.com/f/networking-communication/bot-command-interfaces.md) — Registers and handles slash-prefixed commands to trigger custom bot logic within messaging platforms. ([source](https://chat-sdk.dev/docs/slash-commands))
- [Webhook Management](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/webhook-management.md) — Generates and manages webhook endpoints to receive and validate incoming event notifications from messaging platforms. ([source](https://chat-sdk.dev/docs/adapters))
- [Webhook Event Consumers](https://awesome-repositories.com/f/networking-communication/webhook-event-consumers.md) — Processes incoming webhook payloads to drive system integrations by verifying signatures and mapping to application logic.
- [Web API Integration](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/api-management-integration/api-integrations/web-api-integration.md) — Executes authenticated API requests to manage messages, threads, and files across messaging services. ([source](https://chat-sdk.dev/docs/slack-primitives))
- [Bot Frameworks](https://awesome-repositories.com/f/networking-communication/bot-frameworks.md) — Manages the initialization and lifecycle of bot instances for messaging platforms. ([source](https://chat-sdk.dev/docs/api/chat))
- [Message Threading](https://awesome-repositories.com/f/networking-communication/message-threading.md) — Isolates private message exchanges into distinct threads to ensure replies remain contextually linked to original conversations. ([source](https://chat-sdk.dev/docs/direct-messages))
- [Messaging Channel Management](https://awesome-repositories.com/f/networking-communication/messaging-channel-management.md) — Retrieves specific communication channels by unique identifiers to enable targeted messaging and interaction within a workspace. ([source](https://chat-sdk.dev/docs/usage))
- [Message Delivery Pipelines](https://awesome-repositories.com/f/networking-communication/message-delivery-pipelines.md) — Delivers content visible only to specific users within chat threads for private notifications and confirmations. ([source](https://chat-sdk.dev/docs/ephemeral-messages))
- [Message Routing](https://awesome-repositories.com/f/networking-communication/message-routing.md) — Centralizes incoming private messages into a dedicated handler to maintain consistent conversation flows across different messaging services. ([source](https://chat-sdk.dev/docs/direct-messages))
- [Message Scheduling](https://awesome-repositories.com/f/networking-communication/message-scheduling.md) — Queues content for delivery at a specific future date and time on platforms that support delayed dispatching. ([source](https://chat-sdk.dev/docs/api/channel))

### Software Engineering & Architecture

- [Human-in-the-Loop Workflows](https://awesome-repositories.com/f/software-engineering-architecture/human-in-the-loop-workflows.md) — Pauses automated processes to await manual intervention, approval, or data input before continuing execution. ([source](https://chat-sdk.dev/docs/ai))
- [Error Handling Utilities](https://awesome-repositories.com/f/software-engineering-architecture/error-handling-utilities.md) — Standardizes error reporting across platforms by providing typed exceptions for rate limits, authentication failures, and network issues. ([source](https://chat-sdk.dev/docs/error-handling))

### Data & Databases

- [Atomic Duplicate Prevention](https://awesome-repositories.com/f/data-databases/duplicate-detection-tools/atomic-duplicate-prevention.md) — Prevents duplicate processing of concurrent events using distributed locks to ensure handler execution consistency. ([source](https://chat-sdk.dev/docs/state))
- [Persistent Conversation Stores](https://awesome-repositories.com/f/data-databases/persistent-conversation-stores.md) — Maintains persistent, cross-platform conversation history keyed by unique user identifiers. ([source](https://chat-sdk.dev/docs/api/transcripts))
- [Persistent State Management](https://awesome-repositories.com/f/data-databases/persistent-state-management.md) — Provides a pluggable storage layer for tracking thread subscriptions and distributed locking. ([source](https://chat-sdk.dev/docs))
- [Persistent Storage Backends](https://awesome-repositories.com/f/data-databases/persistent-storage-backends.md) — Ensures consistent message routing by persisting active conversation subscriptions across restarts. ([source](https://chat-sdk.dev/docs/state))
- [State Persistence](https://awesome-repositories.com/f/data-databases/state-persistence.md) — Maintains persistent, typed data associated with specific conversation threads across requests. ([source](https://chat-sdk.dev/docs/threads-messages-channels))

### User Interface & Experience

- [Chat Event Handlers](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/interaction-and-event-handling/event-handling-architectures/event-handling/chat-event-handlers.md) — Registers functions to process incoming messages, mentions, reactions, and commands to trigger automated logic across messaging services. ([source](https://chat-sdk.dev/docs/api/chat))
- [Interactive Chat Controls](https://awesome-repositories.com/f/user-interface-experience/interactive-chat-controls.md) — Includes a toolkit for rendering rich, interactive UI components like cards and modal forms that adapt to native messaging platforms.
- [Event Handling](https://awesome-repositories.com/f/user-interface-experience/event-handling.md) — Registers callbacks for incoming messages, user mentions, and reactions to trigger automated bot responses based on activity. ([source](https://chat-sdk.dev/docs/getting-started))
- [Interactive Message Components](https://awesome-repositories.com/f/user-interface-experience/interactive-message-components.md) — Constructs platform-native messages containing interactive elements that adapt their appearance to the specific messaging service. ([source](https://chat-sdk.dev/docs/cards))
- [Native UI Component Mappers](https://awesome-repositories.com/f/user-interface-experience/native-ui-component-mappers.md) — Manages native view hierarchies based on cross-platform declarations to ensure consistent interactive experiences.
- [Cards](https://awesome-repositories.com/f/user-interface-experience/cards.md) — Maps structured layouts to platform-specific card formats to display native UI components like buttons and dropdowns. ([source](https://chat-sdk.dev/docs/posting-messages))
- [Interaction and Event Handling](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/interaction-and-event-handling.md) — Registers handlers to process user interactions like button clicks and dropdown selections across multiple platforms. ([source](https://chat-sdk.dev/docs/actions))
- [Input Collection Components](https://awesome-repositories.com/f/user-interface-experience/input-collection-components.md) — Displays interactive dialogs with form fields to gather data from users and validates submitted information before processing. ([source](https://chat-sdk.dev/docs/api/modals))
- [Interactive UI Components](https://awesome-repositories.com/f/user-interface-experience/interactive-ui-components.md) — Renders rich UI components with interactive elements and fallback text to provide structured information within chat interfaces. ([source](https://chat-sdk.dev/docs/api/postable-message))
- [Modal Interaction Controls](https://awesome-repositories.com/f/user-interface-experience/modal-interaction-controls.md) — Provides mechanisms for displaying and processing interactive modal forms within chat sessions. ([source](https://chat-sdk.dev/docs/api/chat))
- [Rich Text Editors](https://awesome-repositories.com/f/user-interface-experience/rich-text-editors.md) — Constructs interactive content including rich cards, formatted text, and modal forms for user input across messaging channels. ([source](https://chat-sdk.dev/docs/api))

### Web Development

- [Identity Linking](https://awesome-repositories.com/f/web-development/user-profiles/identity-linking.md) — Maps visitor identifiers across disparate platforms to maintain unified profiles and consistent conversation history. ([source](https://chat-sdk.dev/docs/conversation-history))
- [Response Streaming Interfaces](https://awesome-repositories.com/f/web-development/response-streaming-interfaces.md) — Provides utilities for handling real-time data delivery from backend services to clients during generative AI operations. ([source](https://chat-sdk.dev/docs/posting-messages))
- [Real-Time Data Streaming](https://awesome-repositories.com/f/web-development/real-time-data-streaming.md) — Pushes live server-side data updates to connected clients to provide immediate feedback during long-running operations. ([source](https://chat-sdk.dev/docs/api/postable-message))
- [Platform Integrations](https://awesome-repositories.com/f/web-development/cross-platform-desktop-frameworks/platform-integrations.md) — Provides access to underlying platform-specific client functionality when unified interfaces do not cover advanced or platform-exclusive requirements. ([source](https://chat-sdk.dev/docs/usage))

### Development Tools & Productivity

- [Interactive Action Triggers](https://awesome-repositories.com/f/development-tools-productivity/action-execution-frameworks/interactive-action-triggers.md) — Enables the creation of rich, interactive interfaces like modals and cards within chat threads.
- [Bot Behavior Validation](https://awesome-repositories.com/f/development-tools-productivity/compilers-toolchains/compilers/validation-suites/bot-behavior-validation.md) — Simulates messaging events and triggers bot handlers in a test environment to verify behavior without live platform connections. ([source](https://chat-sdk.dev/docs/testing))

### Security & Cryptography

- [Webhook Security](https://awesome-repositories.com/f/security-cryptography/webhook-security.md) — Validates incoming request signatures to ensure secure and reliable communication with messaging platforms. ([source](https://chat-sdk.dev/docs/slack-primitives))

### DevOps & Infrastructure

- [Distributed Locking](https://awesome-repositories.com/f/devops-infrastructure/distributed-locking.md) — Coordinates access to shared resources across multiple processes to prevent race conditions during simultaneous event processing.
- [Distributed Locks](https://awesome-repositories.com/f/devops-infrastructure/distributed-locks.md) — Coordinates access to shared resources across distributed nodes by defining thread or channel-level locking scopes. ([source](https://chat-sdk.dev/docs/concurrency))
