openai/chatkit-js
openai/chatkit-js has 1,968 GitHub stars and 196 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-06 03:08 UTC. Last push 2026-07-31.
ChatKit is a batteries-included framework for building high-quality, AI-powered chat experiences. It’s designed for developers who want to add advanced conversational intelligence to their apps fast—with minimal setup and no reinventing the wheel. ChatKit delivers a complete, production-ready chat interface out of the box.
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalChatKit is a batteries-included framework for building high-quality, AI-powered chat experiences. It’s designed for developers who want to add advanced conversational intelligence to their apps fast—with minimal setup and no reinventing the wheel. ChatKit delivers a complete, production-ready chat interface out of the box.
Key features include:
- Deep UI customization so that ChatKit feels like a first-class part of your app
- Built-in response streaming for interactive, natural conversations
- Tool and workflow integration for visualizing agentic actions and chain-of-thought reasoning
- Rich interactive widgets rendered directly inside the chat
- Attachment handling with support for file and image uploads
- Thread and message management for organizing complex conversations
- Source annotations and entity tagging for transparency and references
Simply drop the ChatKit component into your app, configure a few options, and you're good to go.
What makes ChatKit different?
ChatKit is a framework-agnostic, drop-in chat solution. You don’t need to build custom UIs, manage low-level chat state, or patch together various features yourself. Just add the ChatKit component, give it a client token, and customize the chat experience as needed, no extra work needed.
Quickstart
Generate a client token on your server.
from fastapi import FastAPI from pydantic import BaseModel from openai import OpenAI import os app = FastAPI() openai = OpenAI(api_key=os.environ["OPENAI_API_KEY"]) @app.post("/api/chatkit/session") def create_chatkit_session(): session = openai.chatkit.sessions.create({ # ... }) return { client_secret: session.client_secret }Install the React bindings
npm install @openai/chatkit-reactAdd the ChatKit JS script to your page
<script src="https://cdn.platform.openai.com/deployments/chatkit/chatkit.js" async ></script>Render ChatKit
import { ChatKit, useChatKit } from '@openai/chatkit-react'; export function MyChat() { const { control } = useChatKit({ api: { async getClientSecret(existing) { if (existing) { // implement session refresh } const res = await fetch('/api/chatkit/session', { method: 'POST', headers: { 'Content-Type': 'application/json', }, }); const { client_secret } = await res.json(); return client_secret; }, }, }); return <ChatKit control={control} className="h-[600px] w-[320px]" />; }
See working examples
- Starter app - Clone a repo to start with a fully working template
- Samples - See working examples of ChatKit and get inspired
License
This project is licensed under the Apache License 2.0.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,381 starspublic-apis/public-apis
A collective list of free APIs
496,681 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
437,489 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,058 stars